home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a063 / 7.img / INCLUDE / SYBDB.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-21  |  23.7 KB  |  548 lines

  1.  
  2. /*
  3. **    Sybase DB-LIBRARY Version 4.0
  4. **    Confidential Property of Sybase, Inc.
  5. **    (c) Copyright Sybase, Inc. 1989, 1990, 1991
  6. **    All rights reserved
  7. */
  8.  
  9. /*
  10. ** SYBDB.H
  11. **
  12. ** DB-Library header file for user applications.
  13. */
  14.  
  15. #ifndef _SYBDB_H_
  16. #define _SYBDB_H_ 1
  17.  
  18. #ifdef APTLIB
  19. # include <fsdb.h>
  20. #else
  21. #define  DBPROCESS  void        /* dbprocess structure type */
  22. #define  LOGINREC   void        /* login record type */
  23.  
  24. /* 
  25. ** Macros for setting the loginrec 
  26. */
  27. #define DBSETLHOST(a,b)        dbsetlname((a), (b), DBSETHOST)
  28. #define DBSETLUSER(a,b)        dbsetlname((a), (b), DBSETUSER)
  29. #define DBSETLPWD(a,b)        dbsetlname((a), (b), DBSETPWD)
  30. #define DBSETLHID(a,b)        dbsetlname((a), (b), DBSETHID)
  31. #define DBSETLAPP(a,b)        dbsetlname((a), (b), DBSETAPP)
  32. #define BCP_SETL(a,b)        bcp_setl((a), (b))
  33. #define dbfreelogin(a)        dbloginfree(a)
  34.  
  35. /* 
  36. ** Macros for referencing the dbproc 
  37. */
  38. #define DBDEAD(a)            dbdead(a)
  39. #define DBRBUF(a)            ((DBINT)dbdataready(a))
  40. #define dbrbuf(a)            ((DBINT)dbdataready(a))
  41. #define DBCOUNT(a)            dbcount(a)
  42. #define DBCURCMD(a)            dbcurcmd(a)
  43. #define DBCURROW(a)            dbcurrow(a)
  44. #define DBFIRSTROW(a)        dbfirstrow(a)
  45. #define DBLASTROW(a)        dblastrow(a)
  46. #define DBNUMORDERS(a)        dbnumorders(a)
  47. #define DBROWS(a)            dbrows(a)
  48. #define DBMORECMDS(a)        dbmorecmds(a)
  49. #define DBROWTYPE(a)        dbrowtype(a)
  50. #define DBCMDROW(a)            dbcmdrow(a)
  51. #define DBISAVAIL(a)        dbisavail(a)
  52. #define DBGETTIME()            dbgettime()
  53.  
  54. /*
  55. ** Macros for locking and unlocking Windows data segment 
  56. */
  57. #ifndef DBMSWIN
  58.  
  59. #define DBLOCKLIB
  60. #define DBUNLOCKLIB
  61.  
  62. #else /* This is a Windows compilation */
  63.  
  64. #define DBLOCKLIB()        dblocklib()
  65. #define DBUNLOCKLIB()    dbunlocklib()
  66.  
  67. #endif /* #ifndef DBMSWIN */
  68.  
  69. /*
  70. ** OS/2 & Windows Loadable Driver fp 
  71. */
  72. typedef long (far pascal *LGFARPROC)();        
  73.  
  74. /* 
  75. ** Bulk Copy Definitions (bcp) 
  76. */
  77. #define DB_IN        1            /* transfer from client to server */
  78. #define DB_OUT        2            /* transfer from server to client */
  79. #define BCPMAXERRS  1            /* bcp_control parameter */
  80. #define BCPFIRST    2            /* bcp_control parameter */
  81. #define BCPLAST     3            /* bcp_control parameter */
  82. #define BCPBATCH    4            /* bcp_control parameter */
  83.  
  84. #define DBRPCRETURN  ((BYTE) 1)
  85.  
  86.  
  87. /*
  88. ** DBMSDOS Function Prototypes 
  89. */
  90.  
  91. #ifdef DBMSDOS
  92.  
  93. /* error handler */
  94. extern INT ( API * DbErrHandler)(DBPROCESS *,INT,INT,INT,CHAR *,CHAR *);
  95.  
  96. /* message handler */
  97. extern INT ( API * DbMsgHandler)(DBPROCESS *,DBINT,INT,INT,CHAR *,CHAR *,CHAR *,DBUSMALLINT);
  98.  
  99. /* dblib functions */
  100. extern LOGINREC *  API dblogin(void );
  101. extern DBPROCESS * API dbopen(LOGINREC *,CHAR *);
  102. extern INT (API *dberrhandle( INT (API *)( DBPROCESS *,INT,INT,INT,CHAR *,CHAR *)))();
  103. extern INT (API *dbmsghandle( INT (API *)( DBPROCESS *,DBINT,DBSMALLINT,DBSMALLINT,CHAR *,CHAR *,CHAR *,DBUSMALLINT)))();
  104. extern RETCODE    API dbinit(void);
  105. extern RETCODE API dbsetlname(LOGINREC *,CHAR *,INT);
  106. extern void    API dbloginfree(LOGINREC *);
  107. extern RETCODE API dbresults(DBPROCESS *);
  108. extern STATUS    API dbnextrow(DBPROCESS *);
  109. extern void    API dbclose(DBPROCESS *);
  110. extern RETCODE API dbcmd(DBPROCESS *,CHAR *);
  111. extern RETCODE API dbfcmd(DBPROCESS *, CHAR *, ...);
  112. extern DBINT    API dbstrlen(DBPROCESS *);
  113. extern RETCODE API dbstrcpy(DBPROCESS *,INT,INT,CHAR *);
  114. extern CHAR *    API dbgetchar(DBPROCESS *, INT);
  115. extern RETCODE API dbsqlexec(DBPROCESS *);
  116. extern RETCODE API dbsqlok(DBPROCESS *);
  117. extern RETCODE API dbsqlsend(DBPROCESS *);
  118. extern RETCODE API dbcanquery(DBPROCESS *);
  119. extern STATUS    API dbgetrow(DBPROCESS *,DBINT);
  120. extern void    API dbclrbuf(DBPROCESS *,DBINT);
  121. extern void    API dbfreebuf(DBPROCESS *);
  122. extern RETCODE API dbsetmaxprocs(SHORT);
  123. extern SHORT API dbgetmaxprocs(void);
  124. extern RETCODE API dbsettime(INT);
  125. extern RETCODE API dbsetlogintime(INT);
  126. extern void   API dbsetuserdata(DBPROCESS *,void *);
  127. extern void *   API dbgetuserdata(DBPROCESS *);
  128. extern BOOL    API dbdataready(DBPROCESS *);
  129. extern RETCODE API dbcancel(DBPROCESS *);
  130. extern void    API dbexit(void);
  131. extern RETCODE API dbsetopt(DBPROCESS *,INT,CHAR *);
  132. extern BOOL    API dbisopt(DBPROCESS *, INT, CHAR *);
  133. extern RETCODE API dbclropt(DBPROCESS *,INT,CHAR *);
  134. extern INT    API dbordercol(DBPROCESS *,INT);
  135. extern INT    API dbconvert(DBPROCESS *,INT,BYTE *,DBINT,INT,BYTE *,DBINT);
  136. extern DBINT    API dbcollen(DBPROCESS *,INT);
  137. extern BYTE *  API dbcolname(DBPROCESS *,INT);
  138. extern INT    API dbcoltype(DBPROCESS *,INT);
  139. extern BYTE *  API dbdata(DBPROCESS *,INT);
  140. extern DBINT    API dbdatlen(DBPROCESS *,INT);
  141. extern INT    API dbnumcols(DBPROCESS *);
  142. extern BOOL    API dbcolbrowse(DBPROCESS *,INT);
  143. extern CHAR *  API dbtabname(DBPROCESS *,INT);
  144. extern CHAR *  API dbcolsource(DBPROCESS *,INT);
  145. extern BOOL    API dbtabbrowse(DBPROCESS *,INT);
  146. extern CHAR *  API dbtabsource(DBPROCESS *, INT, INT *);
  147. extern INT    API dbtabcount(DBPROCESS *);
  148. extern INT    API dbtsnewlen(DBPROCESS *);
  149. extern RETCODE API dbtsput(DBPROCESS *,DBBINARY *,INT,INT,CHAR *);
  150. extern CHAR * API dbqual(DBPROCESS *,INT,CHAR *);
  151. extern void    API dbfreequal(CHAR *);
  152. extern void API dbprhead(DBPROCESS *);
  153. extern RETCODE API dbprrow(DBPROCESS *);
  154. extern RETCODE API dbtxtsput(DBPROCESS *,DBBINARY *,INT);
  155. extern RETCODE API dbwritetext(DBPROCESS *,CHAR *,DBBINARY *,DBTINYINT, DBBINARY *,DBBOOL,DBINT,BYTE *);
  156. extern RETCODE API dbmoretext(DBPROCESS *,DBINT,BYTE *);
  157. extern RETCODE API dbuse(DBPROCESS *,CHAR *);
  158. extern RETCODE API dbbind(DBPROCESS *,INT,INT,DBINT,BYTE *);
  159. extern BOOL    API dbwillconvert(INT,INT);
  160. extern RETCODE API dbsetnull(DBPROCESS *, INT, INT, BYTE *);
  161. extern RETCODE API dbaltbind(DBPROCESS *,INT,INT,INT,DBINT,BYTE *);
  162. extern DBINT    API dbaltlen(DBPROCESS *,INT,INT);
  163. extern INT    API dbalttype(DBPROCESS *,INT,INT);
  164. extern BYTE *  API dbadata(DBPROCESS *,INT,INT);
  165. extern DBINT    API dbadlen(DBPROCESS *,INT,INT);
  166. extern INT    API dbnumalts(DBPROCESS *,INT);
  167. extern INT    API dbaltcolid(DBPROCESS *,INT,INT);
  168. extern BYTE *    API dbbylist(DBPROCESS *,INT,INT *);
  169. extern INT    API dbaltop(DBPROCESS *,INT,INT);
  170. extern INT    API dbnumcompute(DBPROCESS *);
  171. extern CHAR *    API dbprtype(INT);
  172. extern CHAR *    API dbchange(DBPROCESS *);
  173. extern CHAR *    API dbname(DBPROCESS *);
  174. extern INT    API dbgetoff(DBPROCESS *,DBUSMALLINT,INT);
  175. extern DBINT    API dbreadpage(DBPROCESS *,CHAR far *,DBINT,BYTE *);
  176. extern RETCODE API dbwritepage(DBPROCESS *,CHAR *,DBINT,DBINT,BYTE *);
  177. extern BOOL API    dbvarylen(DBPROCESS *, SHORT);
  178. extern DBBINARY * API dbtsnewval(DBPROCESS *);
  179. extern DBBINARY * API dbtxptr(DBPROCESS *,INT);
  180. extern DBBINARY * API dbtxtimestamp(DBPROCESS *,INT);
  181. extern DBBINARY * API dbtxtsnewval(DBPROCESS *);
  182.  
  183. /* remote procedure call functions */
  184. extern    DBBOOL    API dbhasretstat(DBPROCESS *);
  185. extern    INT    API dbnumrets(DBPROCESS *);
  186. extern    BYTE *    API dbretdata(DBPROCESS *, INT);
  187. extern    DBINT    API dbretlen(DBPROCESS *, INT);
  188. extern    CHAR *    API dbretname(DBPROCESS *, INT);
  189. extern    DBINT    API dbretstatus(DBPROCESS *);
  190. extern    INT    API dbrettype(DBPROCESS *, INT);
  191. extern    RETCODE API dbrpcinit(DBPROCESS *, CHAR *, DBSMALLINT);
  192. extern    RETCODE API dbrpcparam(DBPROCESS *,CHAR *,BYTE,INT,DBINT,DBINT,BYTE *);
  193. extern    RETCODE API dbrpcsend(DBPROCESS *);
  194. extern    void    API dbrpwclr(LOGINREC *);
  195. extern    RETCODE API dbrpwset(LOGINREC *, CHAR *, CHAR *, INT);
  196.  
  197. /* two-phase commit functions */
  198. extern DBPROCESS * API open_commit(LOGINREC *,CHAR *);
  199. extern void       API close_commit(DBPROCESS *);
  200. extern void       API build_xact_string(CHAR *,CHAR *,DBINT,CHAR *);
  201. extern DBINT       API start_xact(DBPROCESS *,CHAR *,CHAR *,INT);
  202. extern RETCODE       API commit_xact(DBPROCESS *,DBINT);
  203. extern RETCODE       API abort_xact(DBPROCESS *,DBINT);
  204. extern RETCODE       API remove_xact(DBPROCESS *,DBINT,INT);
  205. extern RETCODE       API scan_xact(DBPROCESS *,DBINT);
  206. extern INT       API stat_xact(DBPROCESS *,DBINT);
  207.  
  208. /* bulk copy functions */
  209. extern DBINT   API bcp_batch(DBPROCESS *);
  210. extern RETCODE API bcp_bind(DBPROCESS *, BYTE *, INT, DBINT, BYTE *, INT, INT, INT);
  211. extern RETCODE API bcp_colfmt(DBPROCESS *, INT, BYTE, INT, DBINT, BYTE *, INT, INT);
  212. extern RETCODE API bcp_collen(DBPROCESS *, DBINT, INT);
  213. extern RETCODE API bcp_colptr(DBPROCESS *, BYTE *, INT);
  214. extern RETCODE API bcp_columns(DBPROCESS *, INT);
  215. extern RETCODE API bcp_control(DBPROCESS *, INT, DBINT);
  216. extern DBINT   API bcp_done(DBPROCESS *);
  217. extern RETCODE API bcp_exec(DBPROCESS *, DBINT *);
  218. extern RETCODE API bcp_init(DBPROCESS *, CHAR *, CHAR *, CHAR *, INT);
  219. extern RETCODE API bcp_moretext(DBPROCESS *, DBINT, BYTE *);
  220. extern RETCODE API bcp_sendrow(DBPROCESS *);
  221. extern RETCODE API bcp_setl(LOGINREC *, DBBOOL);
  222. extern RETCODE API bcp_writefmt(DBPROCESS *, CHAR *);
  223.  
  224. /* functions for referencing the dbproc */
  225. RETCODE    API dbcmdrow(DBPROCESS *);
  226. DBINT    API dbcount(DBPROCESS *);
  227. INT        API dbcurcmd(DBPROCESS *);
  228. DBINT    API dbcurrow(DBPROCESS *);
  229. BOOL        API dbdead(DBPROCESS *);
  230. DBINT    API dbfirstrow(DBPROCESS *);
  231. BOOL        API dbisavail(DBPROCESS *);
  232. DBINT    API dblastrow(DBPROCESS *);
  233. RETCODE    API dbmorecmds(DBPROCESS *);
  234. INT        API dbnumorders(DBPROCESS *);
  235. RETCODE    API dbrows(DBPROCESS *);
  236. STATUS    API dbrowtype(DBPROCESS *);
  237.  
  238. #endif /* ifdef DBMSDOS */
  239.  
  240. /*
  241. ** DBMSOS2 Function Prototypes 
  242. */
  243.  
  244. #ifdef DBMSOS2
  245.  
  246. /* error handler */
  247. extern INT ( API * DbErrHandler)(DBPROCESS far *,INT,INT,INT,CHAR far *,CHAR far *);
  248.  
  249. /* message handler */
  250. extern INT ( API * DbMsgHandler)(DBPROCESS far *,DBINT,INT,INT,CHAR far *,CHAR far *,CHAR far *,DBUSMALLINT);
  251.  
  252. /* dblib functions */
  253. extern LOGINREC far *  API dblogin(void );
  254. extern DBPROCESS far * API dbopen(LOGINREC far *,CHAR far *);
  255. extern INT (API *dberrhandle( INT (API *)( DBPROCESS far *,INT,INT,INT,CHAR far *,CHAR far *)))();
  256. extern INT (API *dbmsghandle( INT (API *)( DBPROCESS far *,DBINT,DBSMALLINT,DBSMALLINT,CHAR far *,CHAR far *,CHAR far *,DBUSMALLINT)))();
  257. extern RETCODE API dbinit(void);
  258. extern RETCODE      API dbsetlname(LOGINREC far *,CHAR far *,INT);
  259. extern void      API dbloginfree(LOGINREC far *);
  260. extern RETCODE      API dbresults(DBPROCESS far *);
  261. extern STATUS      API dbnextrow(DBPROCESS far *);
  262. extern void      API dbclose(DBPROCESS far *);
  263. extern RETCODE      API dbcmd(DBPROCESS far *,CHAR far *);
  264. extern RETCODE      API dbfcmd(DBPROCESS far *, CHAR far *, ...);
  265. extern DBINT      API dbstrlen(DBPROCESS far *);
  266. extern RETCODE      API dbstrcpy(DBPROCESS far *,INT,INT,CHAR far *);
  267. extern CHAR far * API dbgetchar(DBPROCESS far *, INT);
  268. extern RETCODE      API dbsqlexec(DBPROCESS far *);
  269. extern RETCODE      API dbsqlok(DBPROCESS far *);
  270. extern RETCODE      API dbsqlsend(DBPROCESS far *);
  271. extern RETCODE      API dbcanquery(DBPROCESS far *);
  272. extern STATUS      API dbgetrow(DBPROCESS far *,DBINT);
  273. extern void      API dbclrbuf(DBPROCESS far *,DBINT);
  274. extern void      API dbfreebuf(DBPROCESS far *);
  275. extern  RETCODE API dbsetmaxprocs(SHORT);
  276. extern  SHORT API dbgetmaxprocs(void);
  277. extern RETCODE      API dbsettime(INT);
  278. extern RETCODE      API dbsetlogintime(INT);
  279. extern  void   API dbsetuserdata(DBPROCESS *,void *);
  280. extern  void *   API dbgetuserdata(DBPROCESS *);
  281. extern BOOL      API dbdataready(DBPROCESS far *);
  282. extern RETCODE      API dbcancel(DBPROCESS far *);
  283. extern void      API dbexit(void);
  284. extern RETCODE      API dbsetopt(DBPROCESS far *,INT,CHAR far *);
  285. extern BOOL      API dbisopt(DBPROCESS far *, INT, CHAR far *);
  286. extern RETCODE      API dbclropt(DBPROCESS far *,INT,CHAR far *);
  287. extern INT      API dbordercol(DBPROCESS far *,INT);
  288. extern INT      API dbconvert(DBPROCESS far *,INT,BYTE far *,DBINT,INT,BYTE far *,DBINT);
  289. extern DBINT      API dbcollen(DBPROCESS far *,INT);
  290. extern BYTE far * API dbcolname(DBPROCESS far *,INT);
  291. extern INT      API dbcoltype(DBPROCESS far *,INT);
  292. extern BYTE far * API dbdata(DBPROCESS far *,INT);
  293. extern DBINT      API dbdatlen(DBPROCESS far *,INT);
  294. extern INT      API dbnumcols(DBPROCESS far *);
  295. extern BOOL      API dbcolbrowse(DBPROCESS far *,INT);
  296. extern CHAR far * API dbtabname(DBPROCESS far *,INT);
  297. extern CHAR far * API dbcolsource(DBPROCESS far *,INT);
  298. extern BOOL      API dbtabbrowse(DBPROCESS far *,INT);
  299. extern CHAR far * API dbtabsource(DBPROCESS far *, INT, INT far *);
  300. extern INT      API dbtabcount(DBPROCESS far *);
  301. extern INT      API dbtsnewlen(DBPROCESS far *);
  302. extern RETCODE      API dbtsput(DBPROCESS far *,DBBINARY far *,INT,INT,CHAR far *);
  303. extern CHAR far * API dbqual(DBPROCESS far *,INT,CHAR far *);
  304. extern void      API dbfreequal(CHAR far *);
  305. extern void      API dbprhead(DBPROCESS far *);
  306. extern RETCODE      API dbprrow(DBPROCESS far *);
  307. extern RETCODE      API dbtxtsput(DBPROCESS far *,DBBINARY far *,INT);
  308. extern RETCODE      API dbwritetext(DBPROCESS far *,CHAR far *,DBBINARY far *,DBTINYINT, DBBINARY far *,DBBOOL,DBINT,BYTE far *);
  309. extern RETCODE      API dbmoretext(DBPROCESS far *,DBINT,BYTE far *);
  310. extern RETCODE      API dbuse(DBPROCESS far *,CHAR far *);
  311. extern RETCODE      API dbbind(DBPROCESS far *,INT,INT,DBINT,BYTE far *);
  312. extern BOOL      API dbwillconvert(INT,INT);
  313. extern RETCODE      API dbsetnull(DBPROCESS far *, INT, INT, BYTE far *);
  314. extern RETCODE      API dbaltbind(DBPROCESS far *,INT,INT,INT,DBINT,BYTE far *);
  315. extern DBINT      API dbaltlen(DBPROCESS far *,INT,INT);
  316. extern INT      API dbalttype(DBPROCESS far *,INT,INT);
  317. extern BYTE far * API dbadata(DBPROCESS far *,INT,INT);
  318. extern DBINT      API dbadlen(DBPROCESS far *,INT,INT);
  319. extern INT      API dbnumalts(DBPROCESS far *,INT);
  320. extern INT      API dbaltcolid(DBPROCESS far *,INT,INT);
  321. extern BYTE far * API dbbylist(DBPROCESS far *,INT,INT far *);
  322. extern INT      API dbaltop(DBPROCESS far *,INT,INT);
  323. extern INT      API dbnumcompute(DBPROCESS far *);
  324. extern CHAR far * API dbprtype(INT);
  325. extern CHAR far * API dbchange(DBPROCESS far *);
  326. extern CHAR far * API dbname(DBPROCESS far *);
  327. extern INT      API dbgetoff(DBPROCESS far *,DBUSMALLINT,INT);
  328. extern DBINT      API dbreadpage(DBPROCESS far *,CHAR far *,DBINT,BYTE far *);
  329. extern RETCODE      API dbwritepage(DBPROCESS far *,CHAR far *,DBINT,DBINT,BYTE far *);
  330. extern    BOOL API    dbvarylen(DBPROCESS *, SHORT);
  331. extern DBBOOL      API dbhasretstat(DBPROCESS far *);
  332. extern INT      API dbnumrets(DBPROCESS far *);
  333. extern BYTE far * API dbretdata(DBPROCESS far *, INT);
  334. extern DBINT      API dbretlen(DBPROCESS far *, INT);
  335. extern CHAR far * API dbretname(DBPROCESS far *, INT);
  336. extern DBINT      API dbretstatus(DBPROCESS far *);
  337. extern INT      API dbrettype(DBPROCESS far *, INT);
  338. extern RETCODE      API dbrpcinit(DBPROCESS far *, CHAR far *, DBSMALLINT);
  339. extern RETCODE      API dbrpcparam(DBPROCESS far *,CHAR far *,BYTE,INT,DBINT,DBINT,BYTE far*);
  340. extern RETCODE      API dbrpcsend(DBPROCESS far *);
  341. extern void      API dbrpwclr(LOGINREC far *);
  342. extern RETCODE      API dbrpwset(LOGINREC far *, CHAR far *, CHAR far *, INT);
  343. extern DBBINARY far * API dbtsnewval(DBPROCESS far *);
  344. extern DBBINARY far * API dbtxptr(DBPROCESS far *,INT);
  345. extern DBBINARY far * API dbtxtimestamp(DBPROCESS far *,INT);
  346. extern DBBINARY far * API dbtxtsnewval(DBPROCESS far *);
  347.  
  348. /* two-phase commit functions */
  349. extern DBPROCESS far * API open_commit(LOGINREC far *,CHAR far *);
  350. extern void           API close_commit(DBPROCESS far *);
  351. extern void           API build_xact_string(CHAR far *,CHAR far *,DBINT,CHAR far *);
  352. extern DBINT           API start_xact(DBPROCESS far *,CHAR far *,CHAR far *,INT);
  353. extern RETCODE           API commit_xact(DBPROCESS far *,DBINT);
  354. extern RETCODE           API abort_xact(DBPROCESS far *,DBINT);
  355. extern RETCODE           API remove_xact(DBPROCESS far *,DBINT,INT);
  356. extern RETCODE           API scan_xact(DBPROCESS far *,DBINT);
  357. extern INT           API stat_xact(DBPROCESS far *,DBINT);
  358.  
  359. /* bulk copy functions */
  360. extern DBINT   API bcp_batch(DBPROCESS far *);
  361. extern RETCODE API bcp_bind(DBPROCESS far *, BYTE far *, INT, DBINT, BYTE far *, INT, INT, INT);
  362. extern RETCODE API bcp_colfmt(DBPROCESS far *, INT, BYTE, INT, DBINT, BYTE far *, INT, INT);
  363. extern RETCODE API bcp_collen(DBPROCESS far *, DBINT, INT);
  364. extern RETCODE API bcp_colptr(DBPROCESS far *, BYTE far *, INT);
  365. extern RETCODE API bcp_columns(DBPROCESS far *, INT);
  366. extern RETCODE API bcp_control(DBPROCESS far *, INT, DBINT);
  367. extern DBINT   API bcp_done(DBPROCESS far *);
  368. extern RETCODE API bcp_exec(DBPROCESS far *, DBINT far *);
  369. extern RETCODE API bcp_init(DBPROCESS far *, CHAR far *, CHAR far *, CHAR far *, INT);
  370. extern RETCODE API bcp_moretext(DBPROCESS far *, DBINT, BYTE far *);
  371. extern RETCODE API bcp_sendrow(DBPROCESS far *);
  372. extern RETCODE API bcp_setl(LOGINREC far *, DBBOOL);
  373. extern RETCODE API bcp_writefmt(DBPROCESS far *, CHAR far *);
  374.  
  375. /* functions for referencing the dbproc */
  376. RETCODE    API dbcmdrow(DBPROCESS far *);
  377. DBINT    API dbcount(DBPROCESS far *);
  378. INT        API dbcurcmd(DBPROCESS far *);
  379. DBINT    API dbcurrow(DBPROCESS far *);
  380. BOOL        API dbdead(DBPROCESS far *);
  381. DBINT    API dbfirstrow(DBPROCESS far *);
  382. BOOL        API dbisavail(DBPROCESS far *);
  383. DBINT    API dblastrow(DBPROCESS far *);
  384. RETCODE    API dbmorecmds(DBPROCESS far *);
  385. INT        API dbnumorders(DBPROCESS far *);
  386. RETCODE    API dbrows(DBPROCESS far *);
  387. STATUS    API dbrowtype(DBPROCESS far *);
  388.  
  389. #endif /* ifdef DBMSOS2 */
  390.  
  391. /*
  392. ** DBMSWIN Function Prototypes 
  393. */
  394.  
  395. #ifdef DBMSWIN
  396.  
  397. /* dblib functions */
  398. extern LOGINREC *  API dblogin(void);
  399. extern DBPROCESS * API dbopen(LOGINREC *,CHAR far *);
  400. FARPROC dberrhandle(FARPROC);
  401. FARPROC dbmsghandle(FARPROC);
  402. extern RETCODE API dbinit(void);
  403. extern void    API dbwinexit(void);
  404. extern RETCODE API dbsetlname(LOGINREC *,CHAR far *,INT);
  405. extern void    API dbloginfree(LOGINREC *);
  406. extern RETCODE API dbresults(DBPROCESS *);
  407. extern STATUS  API dbnextrow(DBPROCESS *);
  408. extern void    API dbclose(DBPROCESS *);
  409. extern RETCODE API dbcmd(DBPROCESS *,CHAR far *);
  410. extern RETCODE API dbfcmd(DBPROCESS *, CHAR far *, ...);
  411. extern DBINT   API dbstrlen(DBPROCESS *);
  412. extern RETCODE API dbstrcpy(DBPROCESS *,INT,INT,CHAR far *);
  413. extern RETCODE API dbsqlexec(DBPROCESS *);
  414. extern RETCODE API dbsqlok(DBPROCESS *);
  415. extern RETCODE API dbsqlsend(DBPROCESS *);
  416. extern RETCODE API dbcanquery(DBPROCESS *);
  417. extern STATUS  API dbgetrow(DBPROCESS *,DBINT);
  418. extern void    API dbclrbuf(DBPROCESS *,DBINT);
  419. extern void    API dbfreebuf(DBPROCESS *);
  420. extern  RETCODE API dbsetmaxprocs(SHORT);
  421. extern  SHORT API dbgetmaxprocs(void);
  422. extern RETCODE API dbsettime(INT);
  423. extern RETCODE API dbsetlogintime(INT);
  424. extern  void   API dbsetuserdata(DBPROCESS *,void *);
  425. extern  void *   API dbgetuserdata(DBPROCESS *);
  426. extern BOOL    API dbdataready(DBPROCESS *);
  427. extern RETCODE API dbcancel(DBPROCESS *);
  428. extern void    API dbexit(void);
  429. extern RETCODE API dbsetopt(DBPROCESS *,INT,CHAR far *);
  430. extern BOOL    API dbisopt(DBPROCESS *, INT, CHAR far *);
  431. extern RETCODE API dbclropt(DBPROCESS *,INT,CHAR far *);
  432. extern INT   API dbordercol(DBPROCESS *,INT);
  433. extern INT   API dbconvert(DBPROCESS *,INT,BYTE far *,DBINT,INT,BYTE far *,DBINT);
  434. extern DBINT   API dbcollen(DBPROCESS *,INT);
  435. extern INT   API dbcoltype(DBPROCESS *,INT);
  436. extern DBINT   API dbdatlen(DBPROCESS *,INT);
  437. extern INT   API dbnumcols(DBPROCESS *);
  438. extern BOOL    API dbcolbrowse(DBPROCESS *,INT);
  439. extern BOOL    API dbtabbrowse(DBPROCESS *,INT);
  440. extern INT   API dbtabcount(DBPROCESS *);
  441. extern INT   API dbtsnewlen(DBPROCESS *);
  442. extern RETCODE API dbtsput(DBPROCESS *,DBBINARY far *,INT,INT,CHAR far *);
  443. extern void    API dbfreequal(CHAR far *);
  444. extern void    API dbprhead(DBPROCESS *);
  445. extern RETCODE API dbprrow(DBPROCESS *);
  446. extern RETCODE API dbtxtsput(DBPROCESS *,DBBINARY far *,INT);
  447. extern RETCODE API dbwritetext(DBPROCESS *,CHAR far *,DBBINARY far *,DBTINYINT, DBBINARY far *,DBBOOL,DBINT,BYTE far *);
  448. extern RETCODE API dbmoretext(DBPROCESS *,DBINT,BYTE far *);
  449. extern RETCODE API dbuse(DBPROCESS *,CHAR far *);
  450. extern RETCODE API dbbind(DBPROCESS *,INT,INT,DBINT,BYTE far *);
  451. extern BOOL    API dbwillconvert(INT,INT);
  452. extern RETCODE API dbsetnull(DBPROCESS *, INT, INT, BYTE far *);
  453. extern RETCODE API dbaltbind(DBPROCESS *,INT,INT,INT,DBINT,BYTE far *);
  454. extern DBINT   API dbaltlen(DBPROCESS *,INT,INT);
  455. extern INT   API dbalttype(DBPROCESS *,INT,INT);
  456. extern DBINT   API dbadlen(DBPROCESS *,INT,INT);
  457. extern INT   API dbnumalts(DBPROCESS *,INT);
  458. extern INT   API dbaltcolid(DBPROCESS *,INT,INT);
  459. extern INT   API dbaltop(DBPROCESS *,INT,INT);
  460. extern INT   API dbnumcompute(DBPROCESS *);
  461. extern INT   API dbgetoff(DBPROCESS *,DBUSMALLINT,INT);
  462. extern DBINT   API dbreadpage(DBPROCESS *,CHAR far *,DBINT,BYTE far *);
  463. extern RETCODE API dbwritepage(DBPROCESS *,CHAR far *,DBINT,DBINT,BYTE far *);
  464. extern    BOOL API    dbvarylen(DBPROCESS *, SHORT);
  465. extern DBBOOL  API dbhasretstat(DBPROCESS *);
  466. extern INT   API dbnumrets(DBPROCESS *);
  467. extern DBINT   API dbretlen(DBPROCESS *, INT);
  468. extern DBINT   API dbretstatus(DBPROCESS *);
  469. extern INT   API dbrettype(DBPROCESS *, INT);
  470. extern RETCODE API dbrpcinit(DBPROCESS *, CHAR far *, DBSMALLINT);
  471. extern RETCODE API dbrpcparam(DBPROCESS*,CHAR far *,BYTE,INT,DBINT,DBINT,BYTE far*);
  472. extern RETCODE API dbrpcsend(DBPROCESS *);
  473. extern void    API dbrpwclr(LOGINREC *);
  474. extern RETCODE API dbrpwset(LOGINREC *, CHAR far *, CHAR far *, INT);
  475. extern CHAR far * API dbretname(DBPROCESS *, INT);
  476. extern BYTE far * API dbretdata(DBPROCESS *, INT);
  477. extern CHAR far * API dbprtype(INT);
  478. extern CHAR far * API dbchange(DBPROCESS *);
  479. extern CHAR far * API dbname(DBPROCESS *);
  480. extern BYTE far * API dbbylist(DBPROCESS *,INT,INT far *);
  481. extern BYTE far * API dbadata(DBPROCESS *,INT,INT);
  482. extern CHAR far * API dbqual(DBPROCESS *,INT,CHAR far *);
  483. extern CHAR far * API dbtabsource(DBPROCESS *, INT, INT far *);
  484. extern CHAR far * API dbtabname(DBPROCESS *,INT);
  485. extern CHAR far * API dbcolsource(DBPROCESS *,INT);
  486. extern BYTE far * API dbdata(DBPROCESS *,INT);
  487. extern BYTE far * API dbcolname(DBPROCESS *,INT);
  488. extern CHAR far * API dbgetchar(DBPROCESS *, INT);
  489. extern DBBINARY far * API dbtsnewval(DBPROCESS *);
  490. extern DBBINARY far * API dbtxptr(DBPROCESS *,INT);
  491. extern DBBINARY far * API dbtxtimestamp(DBPROCESS *,INT);
  492. extern DBBINARY far * API dbtxtsnewval(DBPROCESS *);
  493.  
  494. /* two-phase commit functions */
  495. extern DBPROCESS * API open_commit(LOGINREC *,CHAR far *);
  496. extern void       API close_commit(DBPROCESS *);
  497. extern void       API build_xact_string(CHAR far *,CHAR far *,DBINT,CHAR far *);
  498. extern DBINT       API start_xact(DBPROCESS *,CHAR far *,CHAR far *,INT);
  499. extern RETCODE       API commit_xact(DBPROCESS *,DBINT);
  500. extern RETCODE       API abort_xact(DBPROCESS *,DBINT);
  501. extern RETCODE       API remove_xact(DBPROCESS *,DBINT,INT);
  502. extern RETCODE       API scan_xact(DBPROCESS *,DBINT);
  503. extern INT       API stat_xact(DBPROCESS *,DBINT);
  504.  
  505. /* bulk copy functions */
  506. extern DBINT   API bcp_batch(DBPROCESS *);
  507. extern RETCODE API bcp_bind(DBPROCESS *, BYTE far *, INT, DBINT, BYTE far *, INT, INT, INT);
  508. extern RETCODE API bcp_colfmt(DBPROCESS *, INT, BYTE, INT, DBINT, BYTE far *, INT, INT);
  509. extern RETCODE API bcp_collen(DBPROCESS *, DBINT, INT);
  510. extern RETCODE API bcp_colptr(DBPROCESS *, BYTE far *, INT);
  511. extern RETCODE API bcp_columns(DBPROCESS *, INT);
  512. extern RETCODE API bcp_control(DBPROCESS *, INT, DBINT);
  513. extern DBINT   API bcp_done(DBPROCESS *);
  514. extern RETCODE API bcp_exec(DBPROCESS *, DBINT far *);
  515. extern RETCODE API bcp_init(DBPROCESS *, CHAR far *, CHAR far *, CHAR far *, INT);
  516. extern RETCODE API bcp_moretext(DBPROCESS *, DBINT, BYTE far *);
  517. extern RETCODE API bcp_sendrow(DBPROCESS *);
  518. extern RETCODE API bcp_setl(LOGINREC *, DBBOOL);
  519. extern RETCODE API bcp_writefmt(DBPROCESS *, CHAR far *);
  520.  
  521. /* functions for referencing the dbproc */
  522. RETCODE    API dbcmdrow(DBPROCESS *);
  523. DBINT    API dbcount(DBPROCESS *);
  524. INT        API dbcurcmd(DBPROCESS *);
  525. DBINT    API dbcurrow(DBPROCESS *);
  526. BOOL        API dbdead(DBPROCESS *);
  527. DBINT    API dbfirstrow(DBPROCESS *);
  528. BOOL        API dbisavail(DBPROCESS *);
  529. DBINT    API dblastrow(DBPROCESS *);
  530. void        API dblocklib( void );
  531. RETCODE    API dbmorecmds(DBPROCESS *);
  532. INT        API dbnumorders(DBPROCESS *);
  533. RETCODE    API dbrows(DBPROCESS *);
  534. STATUS    API dbrowtype(DBPROCESS *);
  535. void        APIdbunlocklib( void );
  536.  
  537. /* functions for referencing global variables */
  538. USHORT    API dbgettime();
  539.  
  540. /* function to return the absolute address of the dbproc */
  541. DBPROCESS far * API dbabsolute(DBPROCESS *);
  542.  
  543. #endif /* ifdef DBMSWIN */
  544.  
  545. #endif    /* ifdef APTLIB */
  546.  
  547. #endif    /* ifndef _SYBDB_H_ */
  548.