/** @file tinifile.h @date 2009-04-09 @author 장길석 jwjwmx@gmail.com @brief Delphi에서 제공하는 TIniFile을 생성한다. @todo @bug @remark @warning - 저작권 에프에이리눅스(주) - 외부공개 금지 */ #ifndef __TINI_FILE__ #define __TINI_FILE__ /// 에러 없음 #define INIERR_NONE 0 /// 메모리 부족 #define INIERR_OUT_OF_MEMORY 1 /// 파일 이름 지정 오류 #define INIERR_FILENAME_FAIL 2 /// 지정된 자료가 없음 #define INIERR_NO_DATA 3 /// IniFile이 없음 #define INIERR_NO_FILE 4 /// IniFile 열기 실패 #define INIERR_ACCESS_FAIL 5 /// 섹션 리스트 생성 실패 #define INIERR_CREATE_SECTION_FAIL 6 /// 구별자 정보를 위한 메모리 확보를 실패 #define INIERR_CREATE_IDENTIFY_FAIL 7 /// 구별자의 문자열 정보를 저장하기 위한 메모리 확보에 실패 #define INIERR_READ_IDENTIFY_FAIL 8 /// NULL 객체 #define INIERR_NULL_POINTER 9 /// INI 에서 사용하는 TRUE #define INI_TRUE 1 /// INI 에서 사용하는 FALSE #define INI_FALSE 0 /// ini 파일을 처리하는 객체를 위한 구조체 typedef struct { /// IniFile 정보 저장 파일이름 char *filename; /// INI 정보가 변경되었는지의 여부 int is_changed; /// 모든 섹션의 문자열 tstrlist *lst_sections; } inifile_t; extern int ini_error_code; extern char *ini_error_string( void); extern int ini_print_error( char *remark); extern inifile_t *ini_create( char *filename); extern int ini_flush( inifile_t *inifile); extern void ini_free( inifile_t *inifile); extern int ini_save_to_file ( inifile_t *inifile, char *filename); extern tstrlist *ini_read_sections ( inifile_t *inifile); extern tstrlist *ini_read_section ( inifile_t *inifile, char *str_section); extern char * ini_read_string ( inifile_t *inifile, char *str_section, char *str_identify, char *default_value); extern int ini_read_integer ( inifile_t *inifile, char *str_section, char *str_identify, int default_value); extern double ini_read_real ( inifile_t *inifile, char *str_section, char *str_identify, double default_value); extern int ini_read_bool ( inifile_t *inifile, char *str_section, char *str_identify, int default_value); extern int ini_write_string ( inifile_t *inifile, char *str_section, char *str_identify, char *value); extern int ini_write_integer ( inifile_t *inifile, char *str_section, char *str_identify, int value); extern int ini_write_real ( inifile_t *inifile, char *str_section, char *str_identify, double value); extern int ini_write_bool ( inifile_t *inifile, char *str_section, char *str_identify, int value); extern void ini_remove_section( inifile_t *inifile, char *str_section); extern char ini_read_char ( inifile_t *inifile, char *str_section, char *str_identify, char default_value); extern int ini_write_char ( inifile_t *inifile, char *str_section, char *str_identify, char value); #endif // __TINI_FILE__