/* ===============================================================
                    machine enviroments setting
     NOTICE: If you want to compile in another OS written below,
              please rewrite "etc.c" carefully with byte-order.
              (fortunately it's unnecessary for UNIX.
               Byte-order will be recognized automatically.)
   =============================================================== */
#ifndef CONFIG
    #ifndef _MSC_VER /* added by Kobarin */
    #ifndef __STDC__
        #define void
        #define const
    #endif
    #endif /* by Kobarin */
    #ifndef __GCC__
        #define inline
    #endif
    #if defined (Linux_i386) || defined (Solaris_UltraSPARC) || defined (FreeBSD) || defined (SunOS41x_SPARC)
        #define UNIXY_OS
    #endif
    /* set variable types as ...
     *  sizeof(DWORD) = 4
     *  sizeof(WORD)  = 2
     *  sizeof(BYTE)  = 1
     */
    #ifdef _MSC_VER                     /* for VC (added by Kobarin) */
        #define DOS68_TIMESTAMP         /* to use DOS call for changing timestamp. */
        #define NOUSE68LIB              /* use libc's strlwr/stricmp */
        typedef long int        DWORD;
        typedef short           WORD;
        typedef char            BYTE;
        typedef unsigned int    UDWORD;
        typedef unsigned short  UWORD;
        typedef unsigned char   UBYTE;  
    #endif                              /* for VC ‚±‚±‚Ü‚Å */
    #ifdef BCB                          /* for Borland C++ Builder */
        typedef long int        DWORD;
        typedef short           WORD;
        typedef char            BYTE;
        typedef unsigned int    UDWORD;
        typedef unsigned short  UWORD;
        typedef unsigned char   UBYTE;
        #define NOUSE68LIB              /* use libc's strlwr/stricmp */
    #endif
    #ifdef X68000                       /* for X680x0 etc. */
        #define DOS68_TIMESTAMP         /* to use DOS call for changing timestamp. */
        #define NOUSE68LIB              /* use libc's strlwr/stricmp */
        typedef long int        DWORD;
        typedef short           WORD;
        typedef char            BYTE;
        typedef unsigned int    UDWORD;
        typedef unsigned short  UWORD;
        typedef unsigned char   UBYTE;
    #endif
    #ifdef TOWNS                        /* for TOWNS High-C */
        typedef char            BYTE;
        typedef unsigned char   UBYTE;
    #endif  /* TOWNS */
    #ifdef LSIC86                       /* for MSDOS LSI-C */
        typedef char            BYTE;
        typedef unsigned char   UBYTE;
        typedef long int        DWORD;
        typedef short           WORD;
        typedef unsigned int    UDWORD;
        typedef unsigned short  UWORD;
    #endif  /* LSIC */
    #ifdef UNIXY_OS                     /* for UNIX */
        typedef long            DWORD;
        typedef short           WORD;
        typedef char            BYTE;
        typedef unsigned long   UDWORD;
        typedef unsigned short  UWORD;
        typedef unsigned char   UBYTE;
        /* ---- Comment out if you use the library whch has MEMMOVE function
         * e.g. Linux libc6
         *
         * #define NOUSEMEMMOVE
         */
        /* ---- Comment out if you need (but it is in 68lib.c too) ----
         * #define  memmove(_A, _B, _C) bcopy(_B, _A, _C)
         * #define NOUSEMEMMOVE
         */
    #endif  /* UNIXY_OS */
    #ifdef macintosh                    /* for 68K/PPC Macintosh */
        #ifdef __MWERKS__               /* with CodeWarrior */
            #define ZTOM_STATIC_LIB     /* Make static lib */
            #define __cdecl pascal
            #define setmode(p1, p2)
            #define NOUSEMEMMOVE
            typedef long            DWORD;
            typedef short           WORD;
            typedef char            BYTE;
            typedef unsigned long   UDWORD;
            typedef unsigned short  UWORD;
            typedef unsigned char   UBYTE;
        #endif
    #endif
    #define CONFIG
#endif  /* CONFIG */