home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / sqldb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  12.9 KB  |  258 lines

  1. #ifndef _INC_SQLDB
  2. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  3. #define _INC_SQLDB
  4.  
  5. #ifdef __cplusplus
  6.     extern "C" {
  7. #endif
  8.  
  9. /*****************************************************************************
  10. *                                                                            *
  11. *       SQLDB.H - DB-Library header file for the Microsoft SQL Server.       *
  12. *                                                                            *
  13. *     Copyright (c) 1989 - 1995 by Microsoft Corp.  All rights reserved.     *
  14. *                                                                            *
  15. *****************************************************************************/
  16.  
  17. // Macros for setting the PLOGINREC
  18. #define DBSETLHOST(a,b)    dbsetlname   ((a), (b), DBSETHOST)
  19. #define DBSETLUSER(a,b)    dbsetlname   ((a), (b), DBSETUSER)
  20. #define DBSETLPWD(a,b)     dbsetlname   ((a), (b), DBSETPWD)
  21. #define DBSETLAPP(a,b)     dbsetlname   ((a), (b), DBSETAPP)
  22. #define BCP_SETL(a,b)      bcp_setl     ((a), (b))
  23. #define DBSETLNATLANG(a,b) dbsetlname   ((a), (b), DBSETLANG)
  24. #define DBSETLPACKET(a,b)  dbsetlpacket ((a), (b))
  25. #define DBSETLSECURE(a)    dbsetlname   ((a), 0,   DBSETSECURE)
  26. #define DBSETLVERSION(a,b) dbsetlname   ((a), 0,  (b))
  27. #define DBSETLTIME(a,b)        dbsetlname    ((a), (LPCSTR)(ULONG)(b), DBSETLOGINTIME)
  28. #define DBSETLFALLBACK(a,b) dbsetlname   ((a), (b),   DBSETFALLBACK)
  29.  
  30. /*****************************************************************************
  31. * Windows 3.x and Non-Windows 3.x differences.                               *
  32. *****************************************************************************/
  33.  
  34. #ifdef DBMSWIN
  35.  
  36. extern void SQLAPI dbwinexit(void);
  37.  
  38. void SQLAPI dblocklib (void);
  39. void SQLAPI dbunlocklib (void);
  40.  
  41. #define DBLOCKLIB()   dblocklib()
  42. #define DBUNLOCKLIB() dbunlocklib()
  43.  
  44. #define DBERRHANDLE_PROC FARPROC
  45. #define DBMSGHANDLE_PROC FARPROC
  46.  
  47. extern DBERRHANDLE_PROC dberrhandle (DBERRHANDLE_PROC);
  48. extern DBMSGHANDLE_PROC dbmsghandle (DBMSGHANDLE_PROC);
  49.  
  50. #else
  51.  
  52. #define dbwinexit()
  53.  
  54. #define DBLOCKLIB()
  55. #define DBUNLOCKLIB()
  56.  
  57. typedef INT (SQLAPI *DBERRHANDLE_PROC)(PDBPROCESS, INT, INT, INT, LPCSTR, LPCSTR);
  58. typedef INT (SQLAPI *DBMSGHANDLE_PROC)(PDBPROCESS, DBINT, INT, INT, LPCSTR, LPCSTR, LPCSTR, DBUSMALLINT);
  59.  
  60. extern DBERRHANDLE_PROC SQLAPI dberrhandle(DBERRHANDLE_PROC);
  61. extern DBMSGHANDLE_PROC SQLAPI dbmsghandle(DBMSGHANDLE_PROC);
  62.  
  63. extern DBERRHANDLE_PROC SQLAPI dbprocerrhandle(PDBHANDLE, DBERRHANDLE_PROC);
  64. extern DBMSGHANDLE_PROC SQLAPI dbprocmsghandle(PDBHANDLE, DBMSGHANDLE_PROC);
  65.  
  66.  
  67. #endif
  68.  
  69.  
  70. /*****************************************************************************
  71. * Function Prototypes                                                        *
  72. *****************************************************************************/
  73.  
  74. // Functions macros
  75. #define DBCMDROW(a)      dbcmdrow(a)
  76. #define DBCOUNT(a)       dbcount (a)
  77. #define DBCURCMD(a)      dbcurcmd(a)
  78. #define DBCURROW(a)      dbcurrow(a)
  79. #define DBDEAD(a)        dbdead(a)
  80. #define DBFIRSTROW(a)    dbfirstrow(a)
  81. #define DBGETTIME()      dbgettime()
  82. #define DBISAVAIL(a)     dbisavail(a)
  83. #define DBLASTROW(a)     dblastrow(a)
  84. #define DBMORECMDS(a)    dbmorecmds(a)
  85. #define DBNUMORDERS(a)   dbnumorders(a)
  86. #define dbrbuf(a)        ((DBINT)dbdataready(a))
  87. #define DBRBUF(a)        ((DBINT)dbdataready(a))
  88. #define DBROWS(a)        dbrows (a)
  89. #define DBROWTYPE(a)     dbrowtype (a)
  90.  
  91. // Two-phase commit functions
  92. extern RETCODE      SQLAPI abort_xact (PDBPROCESS, DBINT);
  93. extern void         SQLAPI build_xact_string (LPCSTR, LPCSTR, DBINT, LPSTR);
  94. extern void         SQLAPI close_commit (PDBPROCESS);
  95. extern RETCODE      SQLAPI commit_xact (PDBPROCESS, DBINT);
  96. extern PDBPROCESS   SQLAPI open_commit (PLOGINREC, LPCSTR);
  97. extern RETCODE      SQLAPI remove_xact (PDBPROCESS, DBINT, INT);
  98. extern RETCODE      SQLAPI scan_xact (PDBPROCESS, DBINT);
  99. extern DBINT        SQLAPI start_xact (PDBPROCESS, LPCSTR, LPCSTR, INT);
  100. extern INT          SQLAPI stat_xact (PDBPROCESS, DBINT);
  101.  
  102. // BCP functions
  103. extern DBINT        SQLAPI bcp_batch (PDBPROCESS);
  104. extern RETCODE      SQLAPI bcp_bind (PDBPROCESS, LPCBYTE, INT, DBINT, LPCBYTE, INT, INT, INT);
  105. extern RETCODE      SQLAPI bcp_colfmt (PDBPROCESS, INT, BYTE, INT, DBINT, LPCBYTE, INT, INT);
  106. extern RETCODE      SQLAPI bcp_collen (PDBPROCESS, DBINT, INT);
  107. extern RETCODE      SQLAPI bcp_colptr (PDBPROCESS, LPCBYTE, INT);
  108. extern RETCODE      SQLAPI bcp_columns (PDBPROCESS, INT);
  109. extern RETCODE      SQLAPI bcp_control (PDBPROCESS, INT, DBINT);
  110. extern DBINT        SQLAPI bcp_done (PDBPROCESS);
  111. extern RETCODE      SQLAPI bcp_exec (PDBPROCESS, LPDBINT);
  112. extern RETCODE      SQLAPI bcp_init (PDBPROCESS, LPCSTR, LPCSTR, LPCSTR, INT);
  113. extern RETCODE      SQLAPI bcp_moretext (PDBPROCESS, DBINT, LPCBYTE);
  114. extern RETCODE      SQLAPI bcp_readfmt (PDBPROCESS, LPCSTR);
  115. extern RETCODE      SQLAPI bcp_sendrow (PDBPROCESS);
  116. extern RETCODE      SQLAPI bcp_setl (PLOGINREC, BOOL);
  117. extern RETCODE      SQLAPI bcp_writefmt (PDBPROCESS, LPCSTR);
  118.  
  119. // Standard DB-Library functions
  120. extern LPCBYTE      SQLAPI dbadata (PDBPROCESS, INT, INT);
  121. extern DBINT        SQLAPI dbadlen (PDBPROCESS, INT, INT);
  122. extern RETCODE      SQLAPI dbaltbind (PDBPROCESS, INT, INT, INT, DBINT, LPCBYTE);
  123. extern INT          SQLAPI dbaltcolid (PDBPROCESS, INT, INT);
  124. extern DBINT        SQLAPI dbaltlen (PDBPROCESS, INT, INT);
  125. extern INT          SQLAPI dbaltop (PDBPROCESS, INT, INT);
  126. extern INT          SQLAPI dbalttype (PDBPROCESS, INT, INT);
  127. extern DBINT        SQLAPI dbaltutype (PDBPROCESS, INT, INT);
  128. extern RETCODE      SQLAPI dbanullbind (PDBPROCESS, INT, INT, LPCDBINT);
  129. extern RETCODE      SQLAPI dbbind (PDBPROCESS, INT, INT, DBINT, LPBYTE);
  130. extern LPCBYTE      SQLAPI dbbylist (PDBPROCESS, INT, LPINT);
  131. extern RETCODE      SQLAPI dbcancel (PDBPROCESS);
  132. extern RETCODE      SQLAPI dbcanquery (PDBPROCESS);
  133. extern LPCSTR       SQLAPI dbchange (PDBPROCESS);
  134. extern RETCODE      SQLAPI dbclose (PDBPROCESS);
  135. extern void         SQLAPI dbclrbuf (PDBPROCESS, DBINT);
  136. extern RETCODE      SQLAPI dbclropt (PDBPROCESS, INT, LPCSTR);
  137. extern RETCODE      SQLAPI dbcmd (PDBPROCESS, LPCSTR);
  138. extern RETCODE      SQLAPI dbcmdrow (PDBPROCESS);
  139. extern BOOL         SQLAPI dbcolbrowse (PDBPROCESS, INT);
  140. extern RETCODE      SQLAPI dbcolinfo (PDBHANDLE, INT, INT, INT, LPDBCOL);
  141. extern DBINT        SQLAPI dbcollen (PDBPROCESS, INT);
  142. extern LPCSTR       SQLAPI dbcolname (PDBPROCESS, INT);
  143. extern LPCSTR       SQLAPI dbcolsource (PDBPROCESS, INT);
  144. extern INT          SQLAPI dbcoltype (PDBPROCESS, INT);
  145. extern DBINT        SQLAPI dbcolutype (PDBPROCESS, INT);
  146. extern INT          SQLAPI dbconvert (PDBPROCESS, INT, LPCBYTE, DBINT, INT, LPBYTE, DBINT);
  147. extern DBINT        SQLAPI dbcount (PDBPROCESS);
  148. extern INT          SQLAPI dbcurcmd (PDBPROCESS);
  149. extern DBINT        SQLAPI dbcurrow (PDBPROCESS);
  150. extern RETCODE      SQLAPI dbcursor (PDBCURSOR, INT, INT, LPCSTR, LPCSTR);
  151. extern RETCODE      SQLAPI dbcursorbind (PDBCURSOR, INT, INT, DBINT, LPDBINT, LPBYTE);
  152. extern RETCODE      SQLAPI dbcursorclose (PDBHANDLE);
  153. extern RETCODE      SQLAPI dbcursorcolinfo (PDBCURSOR, INT, LPSTR, LPINT, LPDBINT, LPINT);
  154. extern RETCODE      SQLAPI dbcursorfetch (PDBCURSOR,  INT, INT);
  155. extern RETCODE      SQLAPI dbcursorfetchex (PDBCURSOR, INT, DBINT, DBINT, DBINT);
  156. extern RETCODE      SQLAPI dbcursorinfo (PDBCURSOR, LPINT, LPDBINT);
  157. extern RETCODE      SQLAPI dbcursorinfoex (PDBCURSOR, LPDBCURSORINFO);
  158. extern PDBCURSOR    SQLAPI dbcursoropen (PDBPROCESS, LPCSTR, INT, INT,UINT, LPDBINT);
  159. extern LPCBYTE      SQLAPI dbdata (PDBPROCESS, INT);
  160. extern BOOL         SQLAPI dbdataready (PDBPROCESS);
  161. extern RETCODE      SQLAPI dbdatecrack (PDBPROCESS, LPDBDATEREC, LPCDBDATETIME);
  162. extern DBINT        SQLAPI dbdatlen (PDBPROCESS, INT);
  163. extern BOOL         SQLAPI dbdead (PDBPROCESS);
  164. extern void         SQLAPI dbexit (void);
  165. extern RETCODE         SQLAPI dbenlisttrans(PDBPROCESS, LPVOID);
  166. extern RETCODE        SQLAPI dbenlistxatrans(PDBPROCESS, BOOL);
  167. extern RETCODE        SQLAPI dbfcmd (PDBPROCESS, LPCSTR, ...);
  168. extern DBINT        SQLAPI dbfirstrow (PDBPROCESS);
  169. extern void         SQLAPI dbfreebuf (PDBPROCESS);
  170. extern void         SQLAPI dbfreelogin (PLOGINREC);
  171. extern void         SQLAPI dbfreequal (LPCSTR);
  172. extern LPSTR        SQLAPI dbgetchar (PDBPROCESS, INT);
  173. extern SHORT        SQLAPI dbgetmaxprocs (void);
  174. extern INT          SQLAPI dbgetoff (PDBPROCESS, DBUSMALLINT, INT);
  175. extern UINT         SQLAPI dbgetpacket (PDBPROCESS);
  176. extern STATUS       SQLAPI dbgetrow (PDBPROCESS, DBINT);
  177. extern INT          SQLAPI dbgettime (void);
  178. extern LPVOID       SQLAPI dbgetuserdata (PDBPROCESS);
  179. extern BOOL         SQLAPI dbhasretstat (PDBPROCESS);
  180. extern LPCSTR       SQLAPI dbinit (void);
  181. extern BOOL         SQLAPI dbisavail (PDBPROCESS);
  182. extern BOOL         SQLAPI dbiscount (PDBPROCESS);
  183. extern BOOL         SQLAPI dbisopt (PDBPROCESS, INT, LPCSTR);
  184. extern DBINT        SQLAPI dblastrow (PDBPROCESS);
  185. extern PLOGINREC    SQLAPI dblogin (void);
  186. extern RETCODE      SQLAPI dbmorecmds (PDBPROCESS);
  187. extern RETCODE      SQLAPI dbmoretext (PDBPROCESS, DBINT, LPCBYTE);
  188. extern LPCSTR       SQLAPI dbname (PDBPROCESS);
  189. extern STATUS       SQLAPI dbnextrow (PDBPROCESS);
  190. extern RETCODE      SQLAPI dbnullbind (PDBPROCESS, INT, LPCDBINT);
  191. extern INT          SQLAPI dbnumalts (PDBPROCESS, INT);
  192. extern INT          SQLAPI dbnumcols (PDBPROCESS);
  193. extern INT          SQLAPI dbnumcompute (PDBPROCESS);
  194. extern INT          SQLAPI dbnumorders (PDBPROCESS);
  195. extern INT          SQLAPI dbnumrets (PDBPROCESS);
  196. extern PDBPROCESS   SQLAPI dbopen (PLOGINREC, LPCSTR);
  197. extern INT          SQLAPI dbordercol (PDBPROCESS, INT);
  198. extern RETCODE      SQLAPI dbprocinfo (PDBPROCESS, LPDBPROCINFO);
  199. extern void         SQLAPI dbprhead (PDBPROCESS);
  200. extern RETCODE      SQLAPI dbprrow (PDBPROCESS);
  201. extern LPCSTR       SQLAPI dbprtype (INT);
  202. extern LPCSTR       SQLAPI dbqual (PDBPROCESS, INT, LPCSTR);
  203. extern DBINT        SQLAPI dbreadpage (PDBPROCESS, LPCSTR, DBINT, DBINT, LPBYTE);
  204. extern DBINT        SQLAPI dbreadtext (PDBPROCESS, LPVOID, DBINT);
  205. extern RETCODE      SQLAPI dbresults (PDBPROCESS);
  206. extern LPCBYTE      SQLAPI dbretdata (PDBPROCESS, INT);
  207. extern DBINT        SQLAPI dbretlen (PDBPROCESS, INT);
  208. extern LPCSTR       SQLAPI dbretname (PDBPROCESS, INT);
  209. extern DBINT        SQLAPI dbretstatus (PDBPROCESS);
  210. extern INT          SQLAPI dbrettype (PDBPROCESS, INT);
  211. extern RETCODE      SQLAPI dbrows (PDBPROCESS);
  212. extern STATUS       SQLAPI dbrowtype (PDBPROCESS);
  213. extern RETCODE      SQLAPI dbrpcinit (PDBPROCESS, LPCSTR, DBSMALLINT);
  214. extern RETCODE      SQLAPI dbrpcparam (PDBPROCESS, LPCSTR, BYTE, INT, DBINT, DBINT, LPCBYTE);
  215. extern RETCODE      SQLAPI dbrpcsend (PDBPROCESS);
  216. extern RETCODE      SQLAPI dbrpcexec (PDBPROCESS);
  217. extern void         SQLAPI dbrpwclr (PLOGINREC);
  218. extern RETCODE      SQLAPI dbrpwset (PLOGINREC, LPCSTR, LPCSTR, INT);
  219. extern INT          SQLAPI dbserverenum (USHORT, LPSTR, USHORT, LPUSHORT);
  220. extern void         SQLAPI dbsetavail (PDBPROCESS);
  221. extern RETCODE      SQLAPI dbsetmaxprocs (SHORT);
  222. extern RETCODE      SQLAPI dbsetlname (PLOGINREC, LPCSTR, INT);
  223. extern RETCODE      SQLAPI dbsetlogintime (INT);
  224. extern RETCODE      SQLAPI dbsetlpacket (PLOGINREC, USHORT);
  225. extern RETCODE      SQLAPI dbsetnull (PDBPROCESS, INT, INT, LPCBYTE);
  226. extern RETCODE      SQLAPI dbsetopt (PDBPROCESS, INT, LPCSTR);
  227. extern RETCODE      SQLAPI dbsettime (INT);
  228. extern void         SQLAPI dbsetuserdata (PDBPROCESS, LPVOID);
  229. extern RETCODE      SQLAPI dbsqlexec (PDBPROCESS);
  230. extern RETCODE      SQLAPI dbsqlok (PDBPROCESS);
  231. extern RETCODE      SQLAPI dbsqlsend (PDBPROCESS);
  232. extern RETCODE      SQLAPI dbstrcpy (PDBPROCESS, INT, INT, LPSTR);
  233. extern INT          SQLAPI dbstrlen (PDBPROCESS);
  234. extern BOOL         SQLAPI dbtabbrowse (PDBPROCESS, INT);
  235. extern INT          SQLAPI dbtabcount (PDBPROCESS);
  236. extern LPCSTR       SQLAPI dbtabname (PDBPROCESS, INT);
  237. extern LPCSTR       SQLAPI dbtabsource (PDBPROCESS, INT, LPINT);
  238. extern INT          SQLAPI dbtsnewlen (PDBPROCESS);
  239. extern LPCDBBINARY  SQLAPI dbtsnewval (PDBPROCESS);
  240. extern RETCODE      SQLAPI dbtsput (PDBPROCESS, LPCDBBINARY, INT, INT, LPCSTR);
  241. extern LPCDBBINARY  SQLAPI dbtxptr (PDBPROCESS, INT);
  242. extern LPCDBBINARY  SQLAPI dbtxtimestamp (PDBPROCESS, INT);
  243. extern LPCDBBINARY  SQLAPI dbtxtsnewval (PDBPROCESS);
  244. extern RETCODE      SQLAPI dbtxtsput (PDBPROCESS, LPCDBBINARY, INT);
  245. extern RETCODE      SQLAPI dbuse (PDBPROCESS, LPCSTR);
  246. extern BOOL         SQLAPI dbvarylen (PDBPROCESS, INT);
  247. extern BOOL         SQLAPI dbwillconvert (INT, INT);
  248. extern RETCODE      SQLAPI dbwritepage (PDBPROCESS, LPCSTR, DBINT, DBINT, DBINT, LPBYTE);
  249. extern RETCODE      SQLAPI dbwritetext (PDBPROCESS, LPCSTR, LPCDBBINARY, DBTINYINT, LPCDBBINARY, BOOL, DBINT, LPCBYTE);
  250. extern RETCODE      SQLAPI dbupdatetext(PDBPROCESS, LPCSTR, LPCDBBINARY, LPCDBBINARY, INT, DBINT, DBINT, LPCSTR, DBINT, LPCDBBINARY);
  251.  
  252. #ifdef __cplusplus
  253. }
  254. #endif
  255.  
  256. #pragma option pop /*P_O_Pop*/
  257. #endif // _INC_SQLDB
  258.