diff options
Diffstat (limited to 'plugins/sid/sidplay-libs/libsidutils/src/ini/ini.h')
-rw-r--r-- | plugins/sid/sidplay-libs/libsidutils/src/ini/ini.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/sid/sidplay-libs/libsidutils/src/ini/ini.h b/plugins/sid/sidplay-libs/libsidutils/src/ini/ini.h new file mode 100644 index 00000000..bc622cba --- /dev/null +++ b/plugins/sid/sidplay-libs/libsidutils/src/ini/ini.h @@ -0,0 +1,68 @@ +/*************************************************************************** + ini.h - Ini database definition + + ------------------- + begin : Fri Apr 21 2000 + copyright : (C) 2000 by Simon White + email : s_a_white@email.com + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef _ini_h_ +#define _ini_h_ + +#define INI_USE_HASH_TABLE + +#include "libini.h" +#include "keys.h" +#include "headings.h" +#ifdef INI_ADD_LIST_SUPPORT +# include "list.h" +#endif + +typedef enum {INI_NEW, INI_EXIST, INI_READ} ini_mode_t; + +// Database containing all information about an ini file. +typedef struct ini_t +{ + char *filename; + FILE *ftmp; // Temporary work file + bool changed; + bool newfile; + ini_mode_t mode; // Access mode + + struct section_tag *first; + struct section_tag *last; + struct section_tag *selected; + char *write; // Last written section. + struct section_tag tmpSection; + struct key_tag tmpKey; + +#ifdef INI_USE_HASH_TABLE + struct section_tag *sections[256]; +#endif + +#ifdef INI_ADD_LIST_SUPPORT + // Rev 1.1 Added - New for list accessing + char *list; // Accelerator for accessing same list (When all list read, will be freed) + char *listDelims; // list sperators + char *listIndexPtr; // current element we wish to access (will auto increment) + unsigned int listLength; + unsigned int listIndex; +#endif // INI_ADD_LIST_SUPPORT +} ini_t; + +static void __ini_strtrim (char *str); +#ifdef INI_USE_HASH_TABLE +static unsigned long __ini_createCrc32 (char *pBuf, size_t length); +#endif + +#endif // _ini_h_ |