tinifile.h
3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
@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__