summaryrefslogtreecommitdiffstats
path: root/ini/ini_defines.h
diff options
context:
space:
mode:
authorDmitri Pal <dpal@redhat.com>2010-04-15 17:27:04 -0400
committerStephen Gallagher <sgallagh@redhat.com>2010-04-26 09:54:59 -0400
commite06ef2acf0df9ffa854b0359750bb4800a702bf2 (patch)
tree85823b8c0fb7686a5502e9dbb6b2a6d1ee64a973 /ini/ini_defines.h
parente26fa48aa42eebd2acc22a3731b17a53911dcd4b (diff)
downloadding-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.h74
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