A quick program to print gnokii error codes with the associated messages from ./include/gnokii/error.h
Note that macro_html
builds only a table fragment without opening and closing tags and column headers.
It would be nice to show the translated messages too.
You can see an example on gnokii wiki.
/* $Id:$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Copyright (c) 2006 by Daniele Forsi This prints a reference table with error codes from libgnokii. Compile and test: gcc error_codes.c -o error_codes $(pkg-config --libs gnokii) && ./error_codes */ #include <stdio.h> #include "gnokii.h" int main(int argc, char *argv[]) { #define macro_text(x) printf("%d %s %s\n", x, #x, gn_error_print(x)) #define macro_html(x) printf("<tr><td>%d<td>%s<td>%s\n", x, #x, gn_error_print(x)) #define macro(x) macro_html(x) /* General codes */ macro(GN_ERR_NONE); macro(GN_ERR_FAILED); macro(GN_ERR_UNKNOWNMODEL); macro(GN_ERR_INVALIDSECURITYCODE); macro(GN_ERR_INTERNALERROR); macro(GN_ERR_NOTIMPLEMENTED); macro(GN_ERR_NOTSUPPORTED); macro(GN_ERR_USERCANCELED); macro(GN_ERR_UNKNOWN); macro(GN_ERR_MEMORYFULL); /* Statemachine */ macro(GN_ERR_NOLINK); macro(GN_ERR_TIMEOUT); macro(GN_ERR_TRYAGAIN); macro(GN_ERR_WAITING); macro(GN_ERR_NOTREADY); macro(GN_ERR_BUSY); /* Locations */ macro(GN_ERR_INVALIDLOCATION); macro(GN_ERR_INVALIDMEMORYTYPE); macro(GN_ERR_EMPTYLOCATION); /* Format */ macro(GN_ERR_ENTRYTOOLONG); macro(GN_ERR_WRONGDATAFORMAT); macro(GN_ERR_INVALIDSIZE); /* The following are here in anticipation of data call requirements. */ macro(GN_ERR_LINEBUSY); macro(GN_ERR_NOCARRIER); /* The following value signals the current frame is unhandled */ macro(GN_ERR_UNHANDLEDFRAME); macro(GN_ERR_UNSOLICITED); /* Other */ macro(GN_ERR_NONEWCBRECEIVED); macro(GN_ERR_SIMPROBLEM); macro(GN_ERR_CODEREQUIRED); macro(GN_ERR_NOTAVAILABLE); /* Config */ macro(GN_ERR_NOCONFIG); macro(GN_ERR_NOPHONE); macro(GN_ERR_NOLOG); macro(GN_ERR_NOMODEL); macro(GN_ERR_NOPORT); return 0; }