home *** CD-ROM | disk | FTP | other *** search
- /*************************************************
- ** **
- ** ndx.h **
- ** **
- ** Copyright (C) 1988, 1989, 1990, 1991 by **
- ** SoftC, Ltd. **
- ** 16820 3rd St NE **
- ** Ham Lake, MN 55304 **
- ** (612) 434-6968 **
- ** **
- ** All rights reserved. **
- *************************************************/
-
-
-
- #ifndef __SOFTC_H__
- #include "softc.h"
- #endif
-
-
-
- /**********
- *
- * Type Definitions
- *
- **********/
-
-
-
-
- typedef struct { /* dBASE index file information packet */
- CHAR fname[80]; /* file name */
- CHAR keytype; /* key type ('C' Character, 'N' Date/Numeric) */
- CHAR keylen; /* key length */
- INT exprlen; /* key expression length */
- SC_FLAGS flags; /* miscellaneous flags */
- } SC_NDXINFO;
-
-
-
-
-
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- /**********
- *
- * dBASE III+ Index File Manipulators Prototypes
- *
- **********/
-
-
-
-
- INT scdnbfrsz( INT, /* index file handle */
- INT *, /* buffer length in pages */
- INT ); /* set or get buffer length */
-
- INT scdnclose( INT ); /* file handle */
-
- INT scdncreate( CHAR *, /* filename */
- INT, /* index key type */
- CHAR *, /* key expression */
- INT ); /* key length */
-
- INT scdnexpr( INT, /* file handle */
- CHAR * ); /* key expression */
-
- INT scdnflush( INT ); /* file handle */
-
- INT scdnhget( INT ); /* file handle */
-
- INT scdnindex( INT, /* data file handle */
- CHAR *, /* new file name */
- INT, /* index key type */
- CHAR *, /* key expression */
- INT ); /* key length */
-
- INT scdninfo( INT, /* file handle */
- SC_NDXINFO * ); /* file information and status */
-
- INT scdnopenx( INT *, /* file handle */
- CHAR *, /* filename */
- INT ); /* open mode and characteristics */
-
-
-
-
- /**********
- *
- * dBASE III+ Index Key Building Prototypes
- *
- **********/
-
-
-
-
- INT scdnkdate( CHAR *, /* numeric date */
- CHAR *, /* date string */
- INT ); /* date string format type */
-
- INT scdnkmake( INT, /* .DBF file handle */
- INT, /* .NDX file handle */
- VOID ** ); /* index key */
-
- INT scdnknum( CHAR *, /* dBASE numeric key */
- DOUBLE ); /* C DOUBLE */
-
-
-
-
-
- /**********
- *
- * dBASE III+ Index Key Manipulator Prototypes
- *
- **********/
-
-
-
-
- INT scdnkadd( INT, /* file handle */
- VOID *, /* key string */
- LONG ); /* data record number */
-
- INT scdnkbot( INT, /* file handle */
- VOID *, /* key string */
- LONG *); /* data record number */
-
- INT scdnkcur( INT, /* file handle */
- VOID *, /* key string */
- LONG *); /* data record number */
-
- INT scdnkdel( INT, /* file handle */
- VOID *, /* key string */
- LONG ); /* data record number */
-
- INT scdnkfind( INT, /* file handle */
- VOID *, /* key string */
- LONG *, /* data record number */
- INT); /* exact match or first */
-
- INT scdnknext( INT, /* file handle */
- VOID *, /* key string */
- LONG *); /* data record number */
-
- INT scdnkprev( INT, /* file handle */
- VOID *, /* key string */
- LONG *); /* data record number */
-
- INT scdnktop( INT, /* file handle */
- VOID *, /* key string */
- LONG *); /* data record number */
-
-
-
-
-
- #ifdef __cplusplus
- }
- #endif
-
-
-
-
- /**********
- *
- * Compatibility Definitions
- *
- **********/
-
-
-
- #define scdkadd(a,b,c) scdnkadd(a,b,c);
- #define scdkcur(a,b,c) scdnkcur(a,b,c);
- #define scdkdate(a,b) scdnkdate(a,b,SC_YMD)
- #define scdkdatex(a,b,c) scdnkdate(a,b,c)
- #define scdkdel(a,b,c) scdnkdel(a,b,c)
- #define scdkfind(a,b,c,d) scdnkfind(a,b,c,d)
- #define scdkfirst(a,b,c) scdnktop(a,b,c)
- #define scdklast(a,b,c) scdnkbot(a,b,c)
- #define scdkmake(a,b,c) scdnkmake(a,b,c)
- #define scdkmakex(a,b,c,d) scdnkmake(a,b,c)
- #define scdknext(a,b,c) scdnknext(a,b,c)
- #define scdkprev(a,b,c) scdnkprev(a,b,c)
-
- #define scdnopen(a,b) scdnopenx(a,b,SC_RDWR | SC_FLUSH | SC_EXCLUDE)
- #define scdpinfo(a,b) scdnbfrsz(a,b,SC_GETSZ)
- #define scdpnum(a,b) scdnbfrsz(a,b,SC_SETSZ)
-