2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these libraries and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
24 /* JET: This code was generated using cproto, plus some fixes that
25 * having proper prototype definitions pointed out.
29 int _add1key(Fcb *fcb, Keydesc2 *pkeydesc2, char *record, Recno recnum, char *newkey);
32 int isaddindex(int isfd, struct keydesc *keydesc);
35 int isaddprimary(int isfd, struct keydesc *keydesc);
38 char *_ismalloc(unsigned int nbytes);
39 char *_isrealloc(char *oldaddr, unsigned int nbytes);
40 char *_isallocstring(char *str);
41 void _isfreestring(char *str);
44 int _amaddindex(Bytearray *isfhandle, struct keydesc *keydesc, struct errcode *errcode);
45 int _amaddprimary(Bytearray *isfhandle, struct keydesc *keydesc, struct errcode *errcode);
46 int _create_index(Fcb *fcb, Keydesc2 *pkeydesc2);
51 int _amdelrec(Bytearray *isfhandle, Recno recnum, struct errcode *errcode);
52 void _delkeys(Fcb *fcb, char *record, Recno recnum);
55 void _amseterrcode(struct errcode *errcode, int is_errno);
58 void _isam_entryhook(void);
59 void _isam_exithook(void);
62 int _amopen(char *isfname, enum openmode openmode, Bool *varflag, int *minlen, int *maxlen, Bytearray *isfhandle, Bytearray *curpos, struct errcode *errcode);
63 Fcb *_openfcb(Bytearray *isfhandle, struct errcode *errcode);
64 char *_getisfname(Bytearray *isfhandle);
65 Bytearray _makeisfhandle(char *isfname);
68 int _amwrite(Bytearray *isfhandle, char *record, int reclen, Bytearray *curpos, Recno *recnum, struct errcode *errcode);
69 int _addkeys(Fcb *fcb, char *record, Recno recnum);
72 int _isapplmr(int isfd, char *buffer);
75 int _isapplmw(int isfd, char *magicstring);
78 char *_isbsearch(char *key, char *table, int nelems, int keylen,
79 int (*cmpf)(char *, char *));
82 void _isbtree_insert(Btree *btree, char *key);
83 void leftkey_up(Btree *btree, int level);
86 void _isbtree_remove(Btree *btree);
89 Btree *_isbtree_create(Fcb *fcb, Keydesc2 *pkeydesc2);
90 void _isbtree_destroy(Btree *btree);
91 void _isbtree_search(Btree *btree, char *key);
92 char *_isbtree_current(Btree *btree);
93 char *_isbtree_next(Btree *btree);
96 int isbuild(char *isfname, int recordlength, struct keydesc *primkey, int mode);
99 Bytearray _bytearr_getempty(void);
100 Bytearray _bytearr_new(u_short len, char *data);
101 Bytearray _bytearr_dup(Bytearray *old);
102 void _bytearr_free(Bytearray *barray);
103 int _bytearr_cmp(Bytearray *l, Bytearray *r);
106 int _change1key(Fcb *fcb, Keydesc2 *pkeydesc2, char *record, char *oldrecord, Recno recnum, char *newkey);
109 int isclose(int isfd);
112 int iscntl(int isfd, int func, ...);
115 int isgetcurpos(int isfd, int *len, char **buf);
116 int issetcurpos(int isfd, char *buf);
119 long ldlong(char *p);
120 int stlong(long val, char *p);
121 short ldint(char *p);
122 u_short ldunshort(char *p);
123 int stint(short val, char *p);
124 int ldchar(char *src, int len, char *dst);
125 int stchar(char *src, char *dst, int len);
126 int ldchar2(char *src, int len, char *dst);
127 int stchar2(char *src, char *dst, int len);
128 float ldfloat(char *p);
129 int stfloat(float f, char *p);
130 double lddbl(char *p);
131 int stdbl(double val, char *p);
134 void _del1key(Fcb *fcb, Keydesc2 *pkeydesc2, char *record, Recno recnum);
137 int isdelcurr(int isfd);
140 int isdelrec(int isfd, long recnum);
143 Bufhdr *_isdisk_fix(Fcb *fcb, int unixfd, Blkno blkno, int mode);
144 void _isdisk_unfix(Bufhdr *p);
145 void _isdisk_commit1(Bufhdr *p);
146 void _isdisk_commit(void);
147 void _isdisk_rollback(void);
148 Bufhdr *_isdisk_refix(Bufhdr *p, int newmode);
149 void _isdisk_sync(void);
150 void _isdisk_inval(void);
153 void _isdln_base_insert(char *base, struct dlink *l, struct dlink *e);
154 void _isdln_base_append(char *base, struct dlink *l, struct dlink *e);
155 void _isdln_base_remove(char *base, struct dlink *e);
156 struct dlink *_isdln_base_first(char *base, struct dlink *l);
157 struct dlink *_isdln_base_next(char *base, struct dlink *l);
158 struct dlink *_isdln_base_prev(char *base, struct dlink *l);
159 void _isdln_base_makeempty(char *base, struct dlink *l);
160 int _isdln_base_isempty(char *base, struct dlink *l);
163 int iserase(char *isfname);
166 void _isfatal_error(char *msg);
167 void _isfatal_error1(char *msg);
168 void _isam_warning(char *msg);
169 int _isfatal_error_set_func(int (*func)(void));
170 void _setiserrno2(int error, int is1, int is2);
171 void _seterr_errcode(struct errcode *errcode);
174 Fab *_fab_new(char *isfname, enum openmode openmode, Bool varlen, int minreclen, int maxreclen);
175 void _fab_destroy(Fab *fab);
178 Fcb *_isfcb_create(char *isfname, int crdat, int crind, int crvar, int owner, int group, int u_mask, struct errcode *errcode);
179 void _isfcb_setreclength(Fcb *fcb, Bool varflag, int minreclen, int maxreclen);
180 Fcb *_isfcb_open(char *isfname, struct errcode *errcode);
181 int _isfcb_nfds(Fcb *fcb);
182 void _isfcb_remove(Fcb *fcb);
183 void _isfcb_close(Fcb *fcb);
184 int _isfcb_cntlpg_w(Fcb *fcb);
185 int _isfcb_cntlpg_w2(Fcb *fcb);
186 int _isfcb_cntlpg_r(Fcb *fcb);
187 int _isfcb_cntlpg_r2(Fcb *fcb);
188 int _check_isam_magic(Fcb *fcb);
189 int _open2_indfile(Fcb *fcb);
192 int _isfcb_primkeyadd(Fcb *fcb, Keydesc2 *keydesc2);
193 int _isfcb_primkeydel(Fcb *fcb);
194 int _isfcb_altkeyadd(Fcb *fcb, Keydesc2 *keydesc2);
195 Keydesc2 *_isfcb_findkey(Fcb *fcb, Keydesc2 *keydesc2);
196 int _isfcb_altkeydel(Fcb *fcb, Keydesc2 *keydesc2);
197 Keydesc2 *_isfcb_indfindkey(Fcb *fcb, int keyid);
200 int _watchfd_incr(int n);
201 int _watchfd_decr(int n);
202 int _watchfd_check(void);
203 int _watchfd_max_set(int n);
204 int _watchfd_max_get(void);
207 Isfd _isfd_insert(Fab *fab);
208 Fab *_isfd_find(Isfd isfd);
209 void _isfd_delete(Isfd isfd);
212 void _cp_tofile(Fcb *fcb, int unixfd, char *data, long pos, int len);
213 void _cp_fromfile(Fcb *fcb, int unixfd, char *data, long pos, int len);
214 Blkno _extend_file(Fcb *fcb, int unixfd, Blkno oldsize);
217 int _flrec_write(Fcb *fcb, char *record, Recno *recnum, int reclen);
218 int _flrec_read(Fcb *fcb, char *record, Recno recnum, int *reclen);
219 long _fl_getpos(Fcb *fcb, Recno recnum);
220 int _flrec_rewrite(Fcb *fcb, char *record, Recno recnum, int reclen);
221 int _flrec_delete(Fcb *fcb, Recno recnum);
222 int _flrec_wrrec(Fcb *fcb, char *record, Recno recnum, int reclen);
225 void _makedat_isfname(char *isfname);
226 void _makeind_isfname(char *isfname);
227 void _makevar_isfname(char *isfname);
228 void _removelast(char *path);
229 char *_lastelement(char *path);
232 int isgarbage(char *isfname);
235 void stkey(Keydesc2 *pkeydesc2, char *p);
236 void ldkey(struct keydesc2 *pkeydesc2, char *p);
239 int isindexinfo(int isfd, struct keydesc *buffer, int number);
242 Blkno _isindfreel_alloc(Fcb *fcb);
243 void _isindfreel_free(Fcb *fcb, Blkno blkno);
246 void _iskey_extract(Keydesc2 *pkeydesc2, char *recp, char *keyp);
247 Bufhdr *_allockpage(Fcb *fcb, int capac, int level, Blkno *blkno);
250 int getkeysperleaf(int keylen);
251 int getkeyspernode(int keylen);
255 void _iskeycmp_set(Keydesc2 *pkeydesc2, int nparts);
256 int _iskeycmp(char *lkey, char *rkey);
259 void _iskey_itox(struct keydesc2 *pikdesc, struct keydesc *pxkdesc);
260 void _iskey_xtoi(struct keydesc2 *pikdesc, struct keydesc *pxkdesc);
263 int _validate_keydesc(struct keydesc *keydesc, int minreclen);
266 void _iskey_fillmax(struct keydesc2 *pkeydesc2, char *keybuf);
267 void _iskey_fillmin(struct keydesc2 *pkeydesc2, char *keybuf);
270 void _mngfcb_insert(Fcb *fcb, Bytearray *isfhandle);
271 Fcb *_mngfcb_find(Bytearray *isfhandle);
272 void _mngfcb_delete(Bytearray *isfhandle);
273 Bytearray *_mngfcb_victim(void);
276 int isopen(char *isfname, int mode);
279 void _isseekpg(int fd, Blkno pgno);
280 void _isreadpg(int fd, char *buf);
281 void _iswritepg(int fd, char *buf);
284 enum openmode _getopenmode(int mode);
285 enum readmode _getreadmode(int mode);
288 int isread(int isfd, char *record, int mode);
291 int isrename(char *oldname, char *newname);
294 int isrepair(char *isfname, int verbose);
297 int isrewcurr(int isfd, char *record);
300 int isrewrec(int isfd, long recnum, char *record);
303 int _issignals_cntl(int opt);
304 void _issignals_mask(void);
305 void _issignals_unmask(void);
308 Issort *_issort_create(int reclen, int nrecs, int (*compfunc)(char *, char *));
309 void _issort_destroy(Issort *srt);
310 void _issort_insert(Issort *srt, char *record);
311 void _issort_sort(Issort *srt);
312 void _issort_rewind(Issort *srt);
313 char *_issort_read(Issort *srt);
316 int isstart(int isfd, struct keydesc *keydesc, int length, char *record, int mode);
320 int isfsync(int isfd);
322 int _isfsync(int isfd);
325 int _vlrec_write(Fcb *fcb, char *record, Recno *recnum, int reclen);
326 int _vlrec_read(Fcb *fcb, char *record, Recno recnum, int *reclen);
327 long _vl_getpos(Fcb *fcb, Recno recnum);
328 int _vlrec_rewrite(Fcb *fcb, char *record, Recno recnum, int reclen);
329 int _vlrec_delete(Fcb *fcb, Recno recnum);
330 int _vlrec_wrrec(Fcb *fcb, char *record, Recno recnum, int reclen);
331 long _istail_insert(Fcb *fcb, char *tailp, int taillen);
332 int _istail_modify(Fcb *fcb, long offset, char *tailp, int taillen);
339 int iswrite(int isfd, char *record);
342 int iswrrec(int isfd, long recnum, char *record);