home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a063 / 9.img / INCLUDE / SYBFRONT.H < prev   
Encoding:
C/C++ Source or Header  |  1991-02-21  |  11.4 KB  |  503 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. ** SYBFRONT.H
  11. **
  12. ** DB-Library header file for user applications.
  13. */
  14.  
  15. #ifndef _SYBFRONT_H_
  16. #define _SYBFRONT_H_ 1
  17.  
  18. #ifdef APTLIB
  19. # include <fsfront.h>
  20. #else
  21. /* 
  22. ** General definitions 
  23. */
  24.  
  25. #ifndef M_I86SM
  26. #define API            cdecl far
  27. #else
  28. #define API            cdecl
  29. #endif
  30.  
  31. /* 
  32. ** Define datatypes used by dblib for portability 
  33. */
  34. #ifndef SHORT
  35. #define SHORT            short
  36. #endif
  37.  
  38. #ifndef INT
  39. #define INT            int
  40. #endif
  41.  
  42. #ifndef USHORT
  43. #define USHORT            unsigned short
  44. #endif
  45.  
  46. #ifndef ULONG
  47. #define ULONG             unsigned long
  48. #endif
  49.  
  50. #ifndef CHAR
  51. #define CHAR            char
  52. #endif
  53.  
  54. #ifndef DOUBLE
  55. #define DOUBLE            double
  56. #endif
  57.  
  58. typedef unsigned char    BYTE;
  59.  
  60. #ifndef DBMSWIN
  61. typedef unsigned short    BOOL;
  62. #endif
  63.  
  64. #ifndef TRUE
  65. #define TRUE            1
  66. #endif
  67.  
  68. #ifndef FALSE
  69. #define FALSE            0
  70. #endif
  71.  
  72. #define TINYBIND        1
  73. #define SMALLBIND        2
  74. #define INTBIND        3
  75. #define CHARBIND        4
  76. #define BINARYBIND        5
  77. #define BITBIND        6
  78. #define DATETIMEBIND    7
  79. #define MONEYBIND        8
  80. #define FLT8BIND        9
  81. #define STRINGBIND        10
  82. #define NTBSTRINGBIND    11
  83. #define VARYCHARBIND    12
  84. #define VARYBINBIND        13
  85. #define MAXBIND        VARYBINBIND
  86.  
  87. #define DBSAVE            1
  88. #define DBNOSAVE        0
  89.  
  90. #define DBNOERR        -1
  91. #define DBFINDONE        0x04            /* definately done        */
  92. #define DBMORE            0x10            /* maybe more commands waiting  */
  93. #define DBMORE_ROWS        0x20            /* this command returned rows   */
  94.  
  95. #define MAXNAME        31
  96.  
  97. #define  DBTXTSLEN        8            /* length of text timestamp    */
  98.  
  99. #define  DBTXPLEN        16            /* text pointer length */
  100.  
  101. /* 
  102. ** Error code returns 
  103. */
  104. #define INT_EXIT        0
  105. #define INT_CONTINUE    1
  106. #define INT_CANCEL        2
  107.  
  108. /* 
  109. ** Sever buffer size 
  110. */
  111. #define SERVBSIZE        512
  112. #define DBNETCOUNT        10
  113.  
  114. /*
  115. ** Dboptions 
  116. */
  117. #define DBMAXOPTS        14
  118. #define DBBUFFER        0
  119. #define DBOFFSET        1
  120. #define DBROWCOUNT        2
  121. #define DBSTAT            3
  122. #define DBTEXTLIMIT        4
  123. #define DBTEXTSIZE        5
  124. #define DBARITHABORT    6
  125. #define DBARITHIGNORE    7
  126. #define DBNOAUTOFREE    8
  127. #define DBNOCOUNT        9
  128. #define DBNOEXEC        10
  129. #define DBPARSEONLY        11
  130. #define DBSHOWPLAN        12
  131. #define DBSTORPROCID    13
  132.  
  133. /* 
  134. ** Data Type Tokens
  135. */
  136. # define SQLTEXT        0x23
  137. # define SQLARRAY        0x24
  138. # define SQLVARBINARY    0x25
  139. # define SQLINTN        0x26
  140. # define SQLVARCHAR        0x27
  141. # define SQLBINARY        0x2d
  142. # define SQLIMAGE        0x22
  143. # define SQLCHAR        0x2f
  144. # define SQLINT1        0x30
  145. # define SQLBIT         0x32
  146. # define SQLINT2        0x34
  147. # define SQLINT4        0x38
  148. # define SQLMONEY        0x3c
  149. # define SQLDATETIME    0x3d
  150.  
  151. /* 
  152. ** Data Type Tokens in the old SYB format
  153. */
  154. # define SYBTEXT        SQLTEXT
  155. # define SYBARRAY        SQLARRAY
  156. # define SYBVARBINARY    SQLVARBINARY
  157. # define SYBINTN        SQLINTN
  158. # define SYBVARCHAR        SQLVARCHAR
  159. # define SYBBINARY        SQLBINARY
  160. # define SYBIMAGE        SQLIMAGE
  161. # define SYBCHAR        SQLCHAR
  162. # define SYBINT1        SQLINT1
  163. # define SYBBIT         SQLBIT
  164. # define SYBINT2        SQLINT2
  165. # define SYBINT4        SQLINT4
  166. # define SYBMONEY        SQLMONEY
  167. # define SYBDATETIME    SQLDATETIME
  168. # define SYBFLT8        SQLFLT8
  169. # define SYBFLTN        SQLFLTN
  170. # define SYBMONEYN        SQLMONEYN
  171. # define SYBDATETIMN    SQLDATETIMN
  172. # define SQLFLT8        0x3e
  173. # define SQLFLTN        0x6d
  174. # define SQLMONEYN        0x6e
  175. # define SQLDATETIMN    0x6f
  176.  
  177. /* 
  178. ** Data stream tokens 
  179. */
  180. # define SQLCOLFMT        0xa1
  181. # define OLD_SQLCOLFMT    0x2a
  182. # define SQLPROCID        0x7c
  183. # define SQLCOLNAME        0xa0
  184. # define SQLTABNAME        0xa4
  185. # define SQLCOLINFO        0xa5
  186. # define SQLALTNAME        0xa7
  187. # define SQLALTFMT        0xa8
  188. # define SQLERROR        0xaa
  189. # define SQLINFO        0xab
  190. # define SQLRETURNVALUE     0xac
  191. # define SQLRETURNSTATUS 0x79
  192. # define SQLRETURN        0xdb
  193. # define SQLCONTROL        0xae
  194. # define SQLALTCONTROL    0xaf
  195. # define SQLROW         0xd1
  196. # define SQLALTROW        0xd3
  197. # define SQLDONE        0xfd
  198. # define SQLDONEPROC    0xfe
  199. # define SQLDONEINPROC    0xff
  200. # define SQLOFFSET        0x78
  201. # define SQLORDER        0xa9
  202. # define SQLLOGINACK    0xad    /* >>> NOTICE: change to real value */
  203.  
  204. /* 
  205. ** Aggregate Operator tokens 
  206. */
  207. # define SQLAOPCNT        0x4b
  208. # define SQLAOPSUM        0x4d
  209. # define SQLAOPAVG        0x4f
  210. # define SQLAOPMIN        0x51
  211. # define SQLAOPMAX        0x52
  212. # define SQLAOPANY        0x53
  213. # define SQLAOPNOOP        0x56
  214.  
  215. /*
  216. ** DB-Library error codes
  217. */
  218. #define SQLEMEM         10000
  219. #define SQLENULL        10001
  220. #define SQLENLOG        10002
  221. #define SQLEPWD         10003
  222. #define SQLECONN        10004
  223. #define SQLEDDNE        10005
  224. #define SQLENULLO       10006
  225. #define SQLESMSG        10007
  226. #define SQLEBTOK        10008
  227. #define SQLENSPE        10009
  228. #define SQLEREAD        10010
  229. #define SQLECNOR        10011
  230. #define SQLETSIT        10012
  231. #define SQLEPARM        10013
  232. #define SQLEAUTN        10014
  233. #define SQLECOFL        10015
  234. #define SQLERDCN        10016
  235. #define SQLEICN         10017
  236. #define SQLECLOS        10018
  237. #define SQLENTXT        10019  /* new error number/message */
  238. #define SQLEDNTI        10020
  239. #define SQLETMTD        10021
  240. #define SQLEASEC        10022
  241. #define SQLENTLL        10023
  242. #define SQLETIME        10024
  243. #define SQLEWRIT        10025
  244. #define SQLEMODE        10026
  245. #define SQLEOOB         10027
  246. #define SQLEITIM        10028
  247. #define SQLEDBPS        10029
  248. #define SQLEIOPT        10030
  249. #define SQLEASNL        10031
  250. #define SQLEASUL        10032
  251. #define SQLENPRM        10033
  252. #define SQLEDBOP        10034
  253. #define SQLENSIP        10035
  254. #define SQLECNULL       10036
  255. #define SQLESEOF    10037
  256. #define SQLERPND    10038
  257. #define SQLECSYN    10039
  258. #define SQLENONET    10040
  259. #define SQLEBTYP    10041
  260. #define SQLEABNC    10042
  261. #define SQLEABMT    10043
  262. #define SQLEABNP    10044
  263. #define SQLEBNCR    10045
  264. #define SQLEAAMT    10046
  265. #define SQLENXID    10047
  266. #define SQLEIFNB    10048
  267. #define SQLEKBCO    10049
  268. #define SQLEBBCI    10050
  269. #define SQLEKBCI    10051
  270. #define SQLEBCWE    10052
  271. #define SQLEBCNN    10053
  272. #define SQLEBCOR    10054
  273. #define SQLEBCPI    10055
  274. #define SQLEBCPN    10056
  275. #define SQLEBCPB    10057
  276. #define SQLEVDPT    10058
  277. #define SQLEBIVI    10059
  278. #define SQLEBCBC    10060
  279. #define SQLEBCFO    10061
  280. #define SQLEBCVH    10062
  281. #define SQLEBCUO    10063
  282. #define SQLEBUOE    10064
  283. #define SQLEBWEF    10065
  284. #define SQLEBTMT    10066
  285. #define SQLEBEOF    10067
  286. #define SQLEBCSI    10068
  287. #define SQLEPNUL    10069
  288. #define SQLEBSKERR    10070
  289. #define SQLEBDIO    10071
  290. #define SQLEBCNT    10072
  291. #define SQLEMDBP    10073
  292.  
  293. /* 
  294. ** Severity levels
  295. */
  296. #define EXINFO            1    /* informational, non-error */
  297. #define EXUSER            2    /* user error */
  298. #define EXNONFATAL        3    /* non-fatal error */
  299. #define EXCONVERSION    4    /* Error in DB-LIBRARY data conversion. */
  300. #define EXSERVER        5    /* The Server has returned an error flag. */
  301. #define EXTIME            6    /* We have exceeded our timeout period while
  302.                         ** waiting for a response from the Server -
  303.                         ** the DBPROCESS is still alive.
  304.                         */
  305. #define EXPROGRAM        7    /* coding error in user program */
  306. #define EXRESOURCE        8    /* running out of resources - the DBPROCESS
  307.                         ** may be dead.
  308.                         */
  309. #define EXCOMM            9    /* failure in communication with Server -
  310.                         ** the DBPROCESS is dead.
  311.                         */
  312. #define EXFATAL        10    /* fatal error - the DBPROCESS is dead. */
  313. #define EXCONSISTENCY    11    /* internal software error  - notify MS
  314.                         ** Technical Supprt.
  315.                         */
  316.  
  317.  
  318. /* 
  319. ** Offset identifiers 
  320. */
  321. #define OFF_SELECT        0x16d
  322. #define OFF_FROM        0x14f
  323. #define OFF_ORDER        0x165
  324. #define OFF_COMPUTE        0x139
  325. #define OFF_TABLE        0x173
  326. #define OFF_PROCEDURE    0x16a
  327. #define OFF_STATEMENT    0x1cb
  328. #define OFF_PARAM        0x1c4
  329. #define OFF_EXEC        0x12c
  330.  
  331. /* 
  332. ** Print lengths for certain fixed length data types.  These are the 
  333. ** lengths of a string without the null terminator.
  334. */
  335. #define PRINT4      11
  336. #define PRINT2      6
  337. #define PRINT1      3
  338. #define PRFLT8        20
  339. #define PRMONEY     26
  340. #define PRBIT        3
  341. #define PRDATETIME    27
  342.  
  343. #define MAXTYPES    11
  344. #define DBMAXCHAR   256     /* max length of DBVARBINARY and DBVARCHAR,etc */
  345.  
  346. #ifndef DBTYPEDEFS    /* srv.h (Open Server include) not already included */
  347.  
  348. #define DBTYPEDEFS
  349.  
  350. /* 
  351. ** Datatypes
  352. */
  353. typedef char            DBCHAR;
  354. typedef unsigned char   DBBINARY;
  355. typedef unsigned char   DBTINYINT;
  356. typedef short           DBSMALLINT;
  357. typedef unsigned short  DBUSMALLINT;
  358. typedef long            DBINT;
  359. typedef double          DBFLT8;
  360. typedef unsigned char   DBBIT;
  361. typedef unsigned char   DBBOOL;
  362.  
  363. typedef struct dbvarychar
  364. {
  365.     DBSMALLINT  len;
  366.     DBCHAR      str[DBMAXCHAR];
  367. }DBVARYCHAR;
  368.  
  369. typedef struct dbvarybin
  370. {
  371.     DBSMALLINT  len;
  372.     BYTE        array[DBMAXCHAR];
  373. }DBVARYBIN;
  374.  
  375. typedef struct dbmoney
  376. {
  377.     DBINT mnyhigh;
  378.     ULONG mnylow;
  379. }DBMONEY;
  380.  
  381. typedef struct dbdatetime
  382. {
  383.     DBINT dtdays;
  384.     ULONG dttime;
  385. }DBDATETIME;
  386.  
  387. #endif        // end DBTYPEDEFS
  388.  
  389. /* 
  390. ** Misc datatypes and return codes.
  391. */
  392. #define RETCODE        SHORT
  393. #define STATUS            SHORT
  394. #define SUCCEED        1
  395. #define FAIL            0
  396. #define MORE_ROWS        -1
  397. #define NO_MORE_ROWS    -2
  398. #define REG_ROW        MORE_ROWS
  399. #define BUF_FULL        -3
  400.  
  401. /*
  402. **  Status code for dbresults(). Possible return values are
  403. **  SUCCEED, FAIL, and NO_MORE_RESULTS.
  404. */
  405. #define NO_MORE_RESULTS 2
  406.  
  407. /* 
  408. ** Macros for dbsetlname() 
  409. */
  410. #define DBSETHOST    1
  411. #define DBSETUSER    2
  412. #define DBSETPWD    3
  413. #define DBSETAPP    4
  414. #define DBSETID    5
  415.  
  416. /* 
  417. ** Standard exit and error values 
  418. */
  419. #define STDEXIT        0
  420. #define ERREXIT        -1
  421.  
  422. /*
  423. ** Error Code defines for compatability with other Sybase platforms 
  424. */
  425. #define SYBEMEM       SQLEMEM   
  426. #define SYBENULL      SQLENULL  
  427. #define SYBENLOG      SQLENLOG  
  428. #define SYBEPWD       SQLEPWD   
  429. #define SYBECONN      SQLECONN  
  430. #define SYBEDDNE      SQLEDDNE  
  431. #define SYBENULLO     SQLENULLO 
  432. #define SYBESMSG      SQLESMSG  
  433. #define SYBEBTOK      SQLEBTOK  
  434. #define SYBENSPE      SQLENSPE  
  435. #define SYBEREAD      SQLEREAD  
  436. #define SYBECNOR      SQLECNOR  
  437. #define SYBETSIT      SQLETSIT  
  438. #define SYBEPARM      SQLEPARM  
  439. #define SYBEAUTN      SQLEAUTN  
  440. #define SYBECOFL      SQLECOFL  
  441. #define SYBERDCN      SQLERDCN  
  442. #define SYBEICN       SQLEICN   
  443. #define SYBECLOS      SQLECLOS  
  444. #define SYBENTXT      SQLENTXT  
  445. #define SYBEDNTI      SQLEDNTI  
  446. #define SYBETMTD      SQLETMTD  
  447. #define SYBEASEC      SQLEASEC  
  448. #define SYBENTLL      SQLENTLL  
  449. #define SYBETIME      SQLETIME  
  450. #define SYBEWRIT      SQLEWRIT  
  451. #define SYBEMODE      SQLEMODE  
  452. #define SYBEOOB       SQLEOOB   
  453. #define SYBEITIM      SQLEITIM  
  454. #define SYBEDBPS      SQLEDBPS  
  455. #define SYBEIOPT      SQLEIOPT  
  456. #define SYBEASNL      SQLEASNL  
  457. #define SYBEASUL      SQLEASUL  
  458. #define SYBENPRM      SQLENPRM  
  459. #define SYBEDBOP      SQLEDBOP  
  460. #define SYBENSIP      SQLENSIP  
  461. #define SYBECNULL     SQLECNULL 
  462. #define SYBESEOF        SQLESEOF    
  463. #define SYBERPND        SQLERPND    
  464. #define SYBECSYN        SQLECSYN    
  465. #define SYBENONET        SQLENONET    
  466. #define SYBEBTYP        SQLEBTYP    
  467. #define SYBEABNC        SQLEABNC    
  468. #define SYBEABMT        SQLEABMT    
  469. #define SYBEABNP        SQLEABNP    
  470. #define SYBEBNCR        SQLEBNCR    
  471. #define SYBEAAMT        SQLEAAMT    
  472. #define SYBENXID        SQLENXID    
  473. #define SYBEIFNB        SQLEIFNB    
  474. #define SYBEKBCO        SQLEKBCO    
  475. #define SYBEBBCI        SQLEBBCI    
  476. #define SYBEKBCI        SQLEKBCI    
  477. #define SYBEBCWE        SQLEBCWE    
  478. #define SYBEBCNN        SQLEBCNN    
  479. #define SYBEBCOR        SQLEBCOR    
  480. #define SYBEBCPI        SQLEBCPI    
  481. #define SYBEBCPN        SQLEBCPN    
  482. #define SYBEBCPB        SQLEBCPB    
  483. #define SYBEVDPT        SQLEVDPT    
  484. #define SYBEBIVI        SQLEBIVI    
  485. #define SYBEBCBC        SQLEBCBC    
  486. #define SYBEBCFO        SQLEBCFO    
  487. #define SYBEBCVH        SQLEBCVH    
  488. #define SYBEBCUO        SQLEBCUO    
  489. #define SYBEBUOE        SQLEBUOE    
  490. #define SYBEBWEF        SQLEBWEF    
  491. #define SYBEBTMT        SQLEBTMT    
  492. #define SYBEBEOF        SQLEBEOF    
  493. #define SYBEBCSI        SQLEBCSI    
  494. #define SYBEPNUL        SQLEPNUL    
  495. #define SYBEBSKERR        SQLEBSKERR
  496. #define SYBEBDIO        SQLEBDIO    
  497. #define SYBEBCNT        SQLEBCNT    
  498. #define SYBEMDBP        SQLEMDBP  
  499.  
  500. #endif    /* ifdef APTLIB */
  501.  
  502. #endif    /* ifndef _SYBFRONT_H_ */
  503.