Annotation of embedaddon/php/ext/dba/libinifile/inifile.h, revision 1.1.1.4

1.1       misho       1: /*
                      2:    +----------------------------------------------------------------------+
                      3:    | PHP Version 5                                                        |
                      4:    +----------------------------------------------------------------------+
1.1.1.4 ! misho       5:    | Copyright (c) 1997-2014 The PHP Group                                |
1.1       misho       6:    +----------------------------------------------------------------------+
                      7:    | This source file is subject to version 3.01 of the PHP license,      |
                      8:    | that is bundled with this package in the file LICENSE, and is        |
                      9:    | available through the world-wide-web at the following url:           |
                     10:    | http://www.php.net/license/3_01.txt                                  |
                     11:    | If you did not receive a copy of the PHP license and are unable to   |
                     12:    | obtain it through the world-wide-web, please send a note to          |
                     13:    | license@php.net so we can mail you a copy immediately.               |
                     14:    +----------------------------------------------------------------------+
                     15:    | Author: Marcus Boerger <helly@php.net>                               |
                     16:    +----------------------------------------------------------------------+
                     17:  */
                     18: 
1.1.1.2   misho      19: /* $Id$ */
1.1       misho      20: 
                     21: #ifndef PHP_LIB_INIFILE_H
                     22: #define PHP_LIB_INIFILE_H
                     23: 
                     24: typedef struct {
                     25:        char *group;
                     26:        char *name;
                     27: } key_type;
                     28: 
                     29: typedef struct {
                     30:        char *value;
                     31: } val_type;
                     32: 
                     33: typedef struct {
                     34:        key_type key;
                     35:        val_type val;
                     36:        size_t pos;
                     37: } line_type;
                     38: 
                     39: typedef struct {
                     40:        char *lockfn;
                     41:        int lockfd;
                     42:        php_stream *fp;
                     43:        int readonly;
                     44:        line_type curr;
                     45:        line_type next;
                     46: } inifile;
                     47: 
                     48: val_type inifile_fetch(inifile *dba, const key_type *key, int skip TSRMLS_DC);
                     49: int inifile_firstkey(inifile *dba TSRMLS_DC);
                     50: int inifile_nextkey(inifile *dba TSRMLS_DC);
                     51: int inifile_delete(inifile *dba, const key_type *key TSRMLS_DC);
                     52: int inifile_replace(inifile *dba, const key_type *key, const val_type *val TSRMLS_DC);
                     53: int inifile_append(inifile *dba, const key_type *key, const val_type *val TSRMLS_DC);
                     54: char *inifile_version();
                     55: 
                     56: key_type inifile_key_split(const char *group_name);
                     57: char * inifile_key_string(const key_type *key);
                     58: 
                     59: void inifile_key_free(key_type *key);
                     60: void inifile_val_free(val_type *val);
                     61: void inifile_line_free(line_type *ln);
                     62: 
                     63: inifile * inifile_alloc(php_stream *fp, int readonly, int persistent TSRMLS_DC);
                     64: void inifile_free(inifile *dba, int persistent);
                     65: 
                     66: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>