@@ -46,8 +46,8 @@ cdef extern from "paradox.h":
4646 pxfFileTypSecIndex = 4
4747 pxfFileTypIncSecIndex = 5
4848 pxfFileTypNonIncSecIndexG = 6
49- pxfFileTypSecIndexG = 7
50- pxfFileTypIncSecIndexG = 8
49+ pxfFileTypSecIndexG = 7
50+ pxfFileTypIncSecIndexG = 8
5151
5252 ctypedef struct pxfield_t:
5353 char * px_fname
@@ -86,38 +86,43 @@ cdef extern from "paradox.h":
8686 ctypedef struct pxdoc_t:
8787 char * px_name
8888 pxhead_t * px_head
89- char * targetencoding
9089 void * (* malloc)(pxdoc_t * p, unsigned int size, char * caller)
9190 void (* free)(pxdoc_t * p, void * mem)
91+ char * targetencoding
92+ char * inputencoding
93+ pxblob_t * px_blob
9294
9395 ctypedef struct pxdatablockinfo_t
96+
9497 ctypedef struct pxblob_t:
95- char * px_name
96- pxdoc_t * pxdoc
98+ char * mb_name
99+ pxdoc_t * pxdoc
97100
98101 ctypedef struct pxpindex_t
99- ctypedef struct pxstream_t
100102
103+ ctypedef struct pxstream_t
101104
102105 ctypedef struct Pxval_str:
103106 char * val
104107 int len
108+
105109 ctypedef union Pxval_value:
106110 long lval
107111 double dval
108112 Pxval_str str
113+
109114 ctypedef struct pxval_t:
110115 char isnull
111116 int type
112117 Pxval_value value
113118
114119
115- pxdoc_t * PX_new()
120+ pxdoc_t* PX_new()
116121 pxdoc_t* PX_new2(void (* errorhandler)(pxdoc_t * p, int type , const_char_ptr msg, void * data),
117122 void * (* allocproc)(pxdoc_t * p, size_t size, const_char_ptr caller),
118123 void * (* reallocproc)(pxdoc_t * p, void * mem, size_t size, const_char_ptr caller),
119124 void (* freeproc)(pxdoc_t * p, void * mem))
120- char * PX_strdup(pxdoc_t * pxdoc, char * str )
125+ char * PX_strdup(pxdoc_t * pxdoc, char * str )
121126 int PX_open_file(pxdoc_t * pxdoc, const_char_ptr filename)
122127 int PX_create_file(pxdoc_t * pxdoc, pxfield_t * px_fields, unsigned int numfields, char * filename, int type )
123128 int PX_read_primary_index(pxdoc_t * pindex)
@@ -126,28 +131,29 @@ cdef extern from "paradox.h":
126131 int PX_set_inputencoding(pxdoc_t * pxdoc, char * encoding)
127132 int PX_set_parameter(pxdoc_t * pxdoc, char * name, char * value)
128133 int PX_set_value(pxdoc_t * pxdoc, char * name, float value)
129- pxblob_t * PX_new_blob (pxdoc_t * pxdoc)
130- int PX_open_blob_file(pxblob_t * pxdoc, char * filename )
134+ int PX_set_blob_file (pxdoc_t * pxdoc, const_char_ptr filename )
135+ int PX_has_blob_file(pxdoc_t * pxdoc)
131136 int PX_close(pxdoc_t * pxdoc)
132- int PX_close_blob(pxblob_t * pxdoc)
133- void * PX_get_record(pxdoc_t * pxdoc, int recno, void * data)
134- void * PX_get_record2(pxdoc_t * pxdoc, int recno, void * data, int * deleted, pxdatablockinfo_t * pxdbinfo)
137+
138+ void * PX_get_record(pxdoc_t * pxdoc, int recno, void * data)
139+ void * PX_get_record2(pxdoc_t * pxdoc, int recno, void * data, int * deleted, pxdatablockinfo_t * pxdbinfo)
135140 int PX_get_data_alpha(pxdoc_t * pxdoc, void * data, int len , char ** value)
136141 int PX_get_data_bytes(pxdoc_t * pxdoc, void * data, int len , char ** value)
137142 int PX_get_data_double(pxdoc_t * pxdoc, void * data, int len , double * value)
138143 int PX_get_data_long(pxdoc_t * pxdoc, void * data, int len , long * value)
139144 int PX_get_data_short(pxdoc_t * pxdoc, void * data, int len , short int * value)
140145 int PX_get_data_byte(pxdoc_t * pxdoc, void * data, int len , char * value)
146+ int PX_get_data_blob(pxdoc_t * pxdoc, void * data, int len , int * mod, int * blobsize, char ** value)
147+ int PX_get_data_graphic(pxdoc_t * pxdoc, void * data, int len , int * mod, int * blobsize, char ** value)
141148 int PX_get_parameter(pxdoc_t * pxdoc, const_char_ptr name, char ** value)
149+ pxval_t** PX_retrieve_record(pxdoc_t * pxdoc, int recno)
142150
143151 int PX_put_record(pxdoc_t * pxdoc, char * data)
144-
145152 void PX_put_data_alpha(pxdoc_t * pxdoc, char * data, int len , char * value)
146153 void PX_put_data_double(pxdoc_t * pxdoc, char * data, int len , double value)
147154 void PX_put_data_long(pxdoc_t * pxdoc, char * data, int len , int value)
148155 void PX_put_data_short(pxdoc_t * pxdoc, char * data, int len , short int value)
149156
150- char * PX_read_blobdata(pxblob_t * pxblob, void * data, int len , int * mod, int * blobsize)
151157 void PX_SdnToGregorian(long int sdn, int * pYear, int * pMonth, int * pDay)
152158 long int PX_GregorianToSdn(int year, int month, int day)
153159
0 commit comments