diff options
author | Dmitri Pal <dpal@redhat.com> | 2010-04-15 17:27:04 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-04-26 09:54:59 -0400 |
commit | e06ef2acf0df9ffa854b0359750bb4800a702bf2 (patch) | |
tree | 85823b8c0fb7686a5502e9dbb6b2a6d1ee64a973 /ini/ini_defines.h | |
parent | e26fa48aa42eebd2acc22a3731b17a53911dcd4b (diff) | |
download | ding-libs-e06ef2acf0df9ffa854b0359750bb4800a702bf2.tar.gz ding-libs-e06ef2acf0df9ffa854b0359750bb4800a702bf2.tar.xz ding-libs-e06ef2acf0df9ffa854b0359750bb4800a702bf2.zip |
Code restructuring
Time came to split ini_config.c
into many much smaller pieces.
1) ini_parse.c - will have parsing functions
2) ini_get_value.c - will have single value
interpretation functions
3) ini_get_array.c - will have array interpretation
functions.
4) ini_print.c - error printing
5) ini_defines.h - common constants
6) ini_parse.h header for parsing functions
7) ini_list.c - will have list processing functions
Diffstat (limited to 'ini/ini_defines.h')
-rw-r--r-- | ini/ini_defines.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/ini/ini_defines.h b/ini/ini_defines.h new file mode 100644 index 0000000..46ed00f --- /dev/null +++ b/ini/ini_defines.h @@ -0,0 +1,74 @@ +/* + INI LIBRARY + + Header file for the internal constants for the INI interface. + + Copyright (C) Dmitri Pal <dpal@redhat.com> 2010 + + INI Library is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + INI Library 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with INI Library. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef INI_DEFINES_H +#define INI_DEFINES_H + +#define NAME_OVERHEAD 10 + +#define SLASH "/" + + +/* Name of the special collection used to store parsing errors */ +#define FILE_ERROR_SET "ini_file_error_set" + +/* Text error strings used when errors are printed out */ +#define WARNING_TXT _("Warning") +#define ERROR_TXT _("Error") +/* For parse errors */ +#define WRONG_COLLECTION _("Passed in list is not a list of parse errors.\n") +#define FAILED_TO_PROCCESS _("Internal Error. Failed to process error list.\n") +#define ERROR_HEADER _("Parsing errors and warnings in file: %s\n") +/* For grammar errors */ +#define WRONG_GRAMMAR _("Passed in list is not a list of grammar errors.\n") +#define FAILED_TO_PROC_G _("Internal Error. Failed to process list of grammar errors.\n") +#define ERROR_HEADER_G _("Logical errors and warnings in file: %s\n") +/* For validation errors */ +#define WRONG_VALIDATION _("Passed in list is not a list of validation errors.\n") +#define FAILED_TO_PROC_V _("Internal Error. Failed to process list of validation errors.\n") +#define ERROR_HEADER_V _("Validation errors and warnings in file: %s\n") + +#define LINE_FORMAT _("%s (%d) on line %d: %s\n") + + +/* Codes that parsing function can return */ +#define RET_PAIR 0 +#define RET_COMMENT 1 +#define RET_SECTION 2 +#define RET_INVALID 3 +#define RET_EMPTY 4 +#define RET_EOF 5 +#define RET_ERROR 6 + +#define INI_ERROR "errors" +#define INI_ERROR_NAME "errname" + +/* Internal sizes. MAX_KEY is defined in config.h */ +#define MAX_VALUE PATH_MAX +#define BUFFER_SIZE MAX_KEY + MAX_VALUE + 3 + +/* Beffer length used for int to string conversions */ +#define CONVERSION_BUFFER 80 + +/* Different error string functions can be passed as callbacks */ +typedef const char * (*error_fn)(int error); + +#endif |