/*
----------------------------------------------------------------------
configuration options
----------------------------------------------------------------------

         +----------------------------------------------------+
         |  Worldwide Copyright (c) Byte Designs Ltd (2001)   |    
         |                                                    |
         |               20568 - 32 Avenue                    |
         |               LANGLEY, BC                          |
         |               V3A 4P5 CANADA                       |
         |                                                    |
         |            Sales: sales@bytedesigns.com            |
         |          Support: support@bytedesigns.com          |
         | Phone: (604) 534 0722      Fax: (604) 534 2601     |
         +----------------------------------------------------+
                            Version 6.12
 
----------------------------------------------------------------------
*/
/* configuration options - adjust as required --------------------- */

/* features */
#define ISADMIN     1                   /* global administration */
#define ISAUDIT     1                   /* 0:off 1:full audit */
                                        /* ISAUDIT 2 thru 7 see audit.ref */
#define ISLOGGING   1                   /* 0:off 1:standard */
#define ISVARIABLE  1                   /* 0:off 1:std 2:pack */
#define ISLOCKING   2                   /* 0:off 1:old 2:std 3:lck */
#define ISDUPLOCKS  0                   /* honour locks in dup opens */
#define ISDECLARE   1                   /* declare parameters */
#define ISDATAVOID  0                   /* void data pointers */
#define ISCUSTOM    0                   /* include custom extensions */
#define ISBERKELY   0                   /* 0:memcpy() 1: bcopy() */
#define ISMFCOBOL   0                   /* 0:.dat 1:check for no extension */
#define ISHUGE      0                   /* 0:off 1:hp-ux */
#define ISNOWAIT    0			/* optional nowait on ISAUTOLOCK */
#define ISLONGID    0                   /* set to 1 for platforms that return */
                                        /* long rather than short pids/uids   */
                                        /* NOTE: see compatibility warning in */
                                        /* read/install.ref */
#define ISREPAIR    0                   /* 0: off 1: auto repair enabled */
#define ISPURE      0 			/* pure idx isrecnum 0: user assigned */
                                        /* see pure.ref      1: d96 assigned */                                                                               
#define ISKCOMP     0                   /* key compression, see keycomp.ref */
                                        /* 0: default: full compression */
                                        /* 1: partial compression    */
#define ISEXTENDED  0			/* 0: default:               */
                                        /* 1: extended lock reporting */ 
                                        /* see read/extended.ref      */

/* values */
#define ISIDXBLK    1024                /* default index block size */
#define ISDUPLEN    4                   /* default duplicate width */
#define ISMAXIDX    20                  /* indexes per file */
#define ISMAXPARTS  8                   /* parts per key */
#define ISMAXKEY    240                 /* bytes per key */
#define ISMAXBUF    20                  /* buffers per index */
#define ISERRBASE   100                 /* start error codes at */

/* platform specific locking function return values -------------------*/
#ifdef LINUX /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  FREEBSD /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  SUNSOLARIS /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  SUNOS      /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  IBMAIX /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  HP9800 /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#elif  SGI   /* GWM */
#   define ISLKDEAD         EDEADLK       /* deadlock trapping */
#else
#   define ISLKDEAD         EDEADLOCK       /* deadlock trapping */
#endif


/* set for C-ISAM compatible behaviours -------------------------------*/
#define ISCISAM   0                      /* 0: default  1: c-isam like */
                                         /* 2: bugs and all            */
#define SEMILOCK  0                      /* 0: default                 */
                                         /* 1: c-isam ISSEMILOCK mode  */
#define D3XAUTOLOCK 0			 /* 0: default next rd release */
                                         /* 1: D-ISAM v3.x behaviour   */

/* setfor C-ISAM 5.0 -> 7.1 locking concurrency -----------------------*/
#define C7LOCKING 2                      /* 0: disam/cisam pre 5.0     */
                                         /* 1: cisam 5.0 > 7.1         */
                                         /* 2: cisam 7.2x              */

/* threadsafe configuration -------------------------------------- */

/* 0 - disabled
   1 - SunOS
   2 - Solaris
   5 - pthreads */
   
#define ISTHREADED  0

/* the rest are internals ---------------------------------------- */
#define ISMODE      0666                /* full access */

/* not configurable */
#define ISDYNAMIC   0                   /* not available */
#define ISWINDOWS   0                   /* not available */
#define ISMIFCODE   0                   /* not available */

/* conflicting options check */
#if( ISLOGGING > 0 && ISADMIN == 0 )
#pragma error /* logging requires the administration facility */
#endif

