home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / scd210.zip / SOFTC.H < prev   
Text File  |  1991-01-26  |  9KB  |  332 lines

  1. /*************************************************
  2.  **                                             **
  3.  **   softc.h                                   **
  4.  **                                             **
  5.  **       SoftC common library header           **
  6.  **                                             **
  7.  **       Copyright (C) 1988, 1989, 1990 by     **
  8.  **               SoftC, Ltd.                   **
  9.  **               16820 Third Street NE         **
  10.  **               Ham Lake, MN 55304            **
  11.  **               (612) 434-6968                **
  12.  **                                             **
  13.  **             All rights reserved.            **
  14.  *************************************************/
  15.  
  16.  
  17.  
  18. /**********
  19.  *
  20.  *  Function Return Codes
  21.  *
  22.  **********/
  23.  
  24.  
  25.  
  26.  
  27. #define SC_NOFUNC     10    /* WARNING - function not supported */
  28. #define SC_MEMWRN     9     /* WARNING - partial memory allocation */
  29. #define SC_NOTBFRD    8     /* WARNING - file I/O not buffered */
  30. #define SC_FILENGTH   7     /* WARNING - file length is incorrect */
  31. #define SC_FLDROUND   6     /* WARNING - numeric field rounded */
  32. #define SC_FLDTRUNC   5     /* WARNING - data field truncated */
  33. #define SC_NOFIND     4     /* WARNING - could not find key in index file */
  34. #define SC_END        3     /* WARNING - no more keys */
  35. #define SC_EMPTY      2     /* WARNING - file is empty */
  36. #define SC_DELREC     1     /* WARNING - record read is marked deleted */
  37. #define SC_SUCCESS    0     /* successful function return code */
  38. #define SC_WRTFAIL    -1    /* ERROR - file write failure */
  39. #define SC_RDFAIL     -2    /* ERROR - file read failure */
  40. #define SC_MEMERR     -3    /* ERROR - memory allocation error */
  41. #define SC_SKFAIL     -4    /* ERROR - file pointer reposition failed */
  42. #define SC_NOFILE     -5    /* ERROR - file not found */
  43. #define SC_FILBAD     -6    /* ERROR - file corrupted */
  44. #define SC_BADEXPR    -7    /* ERROR - bad user specified key expression */
  45. #define SC_NOHNDL     -8    /* ERROR - no handles available */
  46. #define SC_NOPGS      -9    /* ERROR - no index pages loaded */
  47. #define SC_BADPG      -10   /* ERROR - index page was not loaded */
  48. #define SC_CLOSFAIL   -11   /* ERROR - file close failure */
  49. #define SC_BADCMD     -12   /* ERROR - invalid command */
  50. #define SC_BADHNDL    -13   /* ERROR - invalid handle number */
  51. #define SC_BADFNAME   -14   /* ERROR - invalid filename */
  52. #define SC_BADDATE    -15   /* ERROR - invalid date */
  53. #define SC_BADTIME    -16   /* ERROR - invalid time */
  54. #define SC_NODBT      -17   /* ERROR - file not in memo format */
  55. #define SC_NOFPT      -17
  56. #define SC_DBFVERS    -18   /* ERROR - invalid file version */
  57. #define SC_MDXVERS    -18
  58. #define SC_DBTVERS    -18
  59. #define SC_DBFHLEN    -19   /* ERROR - file header length error */
  60. #define SC_MDXHLEN    -19
  61. #define SC_DBFDATE    -20   /* ERROR - last file change date in error */
  62. #define SC_MDXDATE    -20
  63. #define SC_NULLPARM   -21   /* ERROR - parameter address NULL */
  64. #define SC_BADKEYT    -22   /* ERROR - invalid key type */
  65. #define SC_KEYLEN     -23   /* ERROR - invalid key length */
  66. #define SC_ITEMLEN    -24   /* ERROR - item length incorrect */
  67. #define SC_BADROOT    -25   /* ERROR - invalid root page */
  68. #define SC_MAXKEYS    -26   /* ERROR - bad maximum number of keys per page */
  69. #define SC_FLDCNT     -27   /* ERROR - invalid number of fields */
  70. #define SC_BADFLDN    -28   /* ERROR - field name invalid */
  71. #define SC_FLDLEN     -29   /* ERROR - bad field length */
  72. #define SC_DECPL      -30   /* ERROR - decimal places parameter invalid */
  73. #define SC_BADFLDT    -31   /* ERROR - invalid field type */
  74. #define SC_RECLEN     -32   /* ERROR - invalid record length */
  75. #define SC_BADDATA    -33   /* ERROR - bad data */
  76. #define SC_LINELEN    -34   /* ERROR - memo soft line length invalid */
  77. #define SC_MDXFLAG    -35   /* ERROR - MDX flag in DBF file invalid */
  78. #define SC_READOLY    -36   /* ERROR - file open for reading only */
  79. #define SC_LCKVIOL    -37   /* ERROR - file locking violation */
  80. #define SC_LCKBOVR    -38   /* ERROR - sharing buffer overflow */
  81. #define SC_NOPATH     -39   /* ERROR - path not found */
  82. #define SC_ACCDEN     -40   /* ERROR - access to file denied */
  83. #define SC_BADACC     -41   /* ERROR - invalid access code */
  84. #define SC_NOTLCKD    -42   /* ERROR - file must be locked first */
  85. #define SC_NEWDEV     -43   /* ERROR - diskette changed */
  86. #define SC_MINKEYS    -44   /* ERROR - bad minimum number of keys per page */
  87. #define SC_FILSOPEN   -45   /* ERROR - some files remain open */
  88. #define SC_OPENFAIL   -46   /* ERROR - could not open the file */
  89. #define SC_FLSHFAIL   -47   /* ERROR - flush to disk failure */
  90. #define SC_BADTAG     -48   /* ERROR - invalid tag handle */
  91. #define SC_BLKSZ      -49   /* ERROR - invalid page size in blocks */
  92. #define SC_BADTNAME   -50   /* ERROR - invalid tag name */
  93. #define SC_BLKADR     -51   /* ERROR - invalid page offset adder */
  94. #define SC_MAXTAGS    -52   /* ERROR - invalid maximum number of tag table elements */
  95. #define SC_TBLELEN    -53   /* ERROR - bad tag table element length */
  96. #define SC_TAGCNT     -54   /* ERROR - invalid tag count */
  97. #define SC_KEYFORM    -55   /* ERROR - unknown key format switches */
  98. #define SC_UNSWITCH   -56   /* ERROR - unknown switch error */
  99. #define SC_TAGOPEN    -57   /* ERROR - tag in use */
  100.  
  101.  
  102.  
  103.  
  104. /**********
  105.  *
  106.  *  Common Defines
  107.  *
  108.  **********/
  109.  
  110.  
  111.  
  112. #define SC_TRUE 1
  113. #define SC_FALSE 0
  114.  
  115.  
  116.  
  117.  
  118. /**********
  119.  *
  120.  *  Error Handling Prototypes
  121.  *
  122.  **********/
  123.  
  124.  
  125.  
  126. #define sceclr() (sc_code = SC_SUCCESS)
  127.  
  128. char *scemsg(   void );
  129. void sceprintf( char *,           /* format string */
  130.                 ... );            /* variable number of paramters */
  131.  
  132. int scerrlog(   int modid,        /* module ID */
  133.                 int code );       /* error/warning code */
  134.  
  135. void scewrite(  void *,           /* address of data to log */
  136.                 int );            /* length */
  137.  
  138.  
  139.  
  140.  
  141.  
  142. /**********
  143.  *
  144.  *  External Variables
  145.  *
  146.  **********/
  147.  
  148.  
  149.  
  150. extern const char sc_version[];       /* Library Revision */
  151. extern int sc_code;                   /* function result code */
  152. extern int sc_log;                    /* use log file to record errors */
  153. extern char sc_logfile[];             /* log file name */
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160. /**********
  161.  *
  162.  *  Module IDs for debug
  163.  *
  164.  **********
  165.  
  166.  
  167.  
  168. CBFRSZ    0x40
  169. CCREATE   0x80
  170. CDI2L     0xc0
  171. CDI2S     0x100
  172. CDIGET    0x140
  173. CDILEAP   0x180
  174. CDIPERM   0x1c0
  175. CDL2DOW   0x200
  176. CDL2I     0x240
  177. CDL2S     0x280
  178. CDS2DAY   0x2c0
  179. CDS2DOW   0x300
  180. CDS2I     0x340
  181. CDS2L     0x380
  182. CDS2MON   0x3c0
  183. CDS2S     0x400
  184. CDSDAY    0x440
  185. CDSDIFF   0x480
  186. CDSGET    0x4c0
  187. CDSLEAP   0x500
  188. CDSMONTH  0x540
  189. CDSPERM   0x580
  190. CDSVALID  0x5c0
  191. CEXPR     0x600
  192. CFLUSH    0x640
  193. CINDEX    0x680
  194. CINFO     0x6c0
  195. CKADD     0x700
  196. CKBOT     0x740
  197. CKCUR     0x780
  198. CKDEL     0x7c0
  199. CKFIND    0x800
  200. CKMAKE    0x840
  201. CKNEXT    0x880
  202. CKPREV    0x8c0
  203. CKTOP     0x900
  204. COPEN     0x940
  205. CPGET     0x980
  206. CPPUT     0x9c0
  207. CTI2S     0xa00
  208. CTIGET    0xa40
  209. CTS2I     0xa80
  210. CTSDIFF   0xac0
  211. CTSGET    0xb00
  212. CTSVALID  0xb40
  213. DBFRSZ    0xb80
  214. DBOF      0xbc0
  215. DCREATE   0xc00
  216. DEOF      0xc40
  217. DFGET     0xc80
  218. DFINFO    0xcc0
  219. DFLUSH    0xd00
  220. DFNAM2NO  0xd40
  221. DFPUT     0xd80
  222. DINFO     0xdc0
  223. DLOCK     0xe00
  224. DLUD      0xe40
  225. DOPEN     0xe80
  226. DPACK     0xec0
  227. DRCLEAR   0xf00
  228. DRGET     0xf40
  229. DRINFO    0xf80
  230. DRNUM     0xfc0
  231. DRPUT     0x1000
  232. DRSTAT    0x1040
  233. DSIZE     0x1080
  234. EMSG      0x10c0
  235. HCREATE   0x1100
  236. HEOF      0x1140
  237. HERASE    0x1180
  238. HEXIST    0x11c0
  239. HFLUSH    0x1200
  240. HLEN      0x1240
  241. HLOCK     0x1280
  242. HREAD     0x12c0
  243. HRENAME   0x1300
  244. HSEEK     0x1340
  245. HSIZE     0x1380
  246. HTELL     0x13c0
  247. HWRITE    0x1400
  248. IBFRSZ    0x1440
  249. ICREATE   0x1480
  250. IEXPR     0x14c0
  251. IFLUSH    0x1500
  252. IINDEX    0x1540
  253. IINFO     0x1580
  254. IKADD     0x15c0
  255. IKBOT     0x1600
  256. IKCUR     0x1640
  257. IKDATE    0x1680
  258. IKDEL     0x16c0
  259. IKFIND    0x1700
  260. IKMAKE    0x1740
  261. IKNEXT    0x1780
  262. IKPREV    0x17c0
  263. IKTOP     0x1800
  264. INIT      0x1840
  265. IOPEN     0x1880
  266. IPGET     0x18c0
  267. IPPUT     0x1900
  268. MCREATE   0x1940
  269. MINFO     0x1980
  270. MKADD     0x19c0
  271. MKBOT     0x1a00
  272. MKCUR     0x1a40
  273. MKDATE    0x1a80
  274. MKDEL     0x1ac0
  275. MKFIND    0x1b00
  276. MKMAKE    0x1b40
  277. MKNEXT    0x1b80
  278. MKNUM     0x1bc0
  279. MKPREV    0x1c00
  280. MKTOP     0x1c40
  281. MOPEN     0x1c80
  282. MTBFRSZ   0x1cc0
  283. MTERASE   0x1d00
  284. MTEXPR    0x1d40
  285. MTFLUSH   0x1d80
  286. MTINDEX   0x1dc0
  287. MTINFO    0x1e00
  288. MTNEW     0x1e40
  289. NBFRSZ    0x1e80
  290. NCREATE   0x1ec0
  291. NEXPR     0x1f00
  292. NFLUSH    0x1f40
  293. NINDEX    0x1f80
  294. NINFO     0x1fc0
  295. NKADD     0x2000
  296. NKBOT     0x2040
  297. NKCUR     0x2080
  298. NKDATE    0x20c0
  299. NKDEL     0x2100
  300. NKFIND    0x2140
  301. NKMAKE    0x2180
  302. NKNEXT    0x21c0
  303. NKPREV    0x2200
  304. NKTOP     0x2240
  305. NOPEN     0x2280
  306. NPGET     0x22c0
  307. NPPUT     0x2300
  308. STRUPR    0x2340
  309. TCREATE   0x2380
  310. TINFO     0x23c0
  311. TOPEN     0x2400
  312. TPACK     0x2440
  313. TRGET     0x2480
  314. TRPUT     0x24c0
  315. WCREATE   0x2500
  316. WINFO     0x2540
  317. WOPEN     0x2580
  318. WPACK     0x25c0
  319. WRGET     0x2600
  320. WRPUT     0x2640
  321. DHGET     0x2680
  322. CHGET     0x26C0
  323. IHGET     0x2700
  324. NHGET     0x2740
  325. THGET     0x2780
  326. WHGET     0x27C0
  327.  
  328. ****************/
  329.  
  330.  
  331.  
  332.