/* * This header file replaces the standard data types by a variable name */ #ifndef _SDDAS_DATATYPE_H_ #define _SDDAS_DATATYPE_H_ /* This stupid boolean thing... False/FALSE are defined by certain versions of X, C++, private defs, etc... We create our own just to be different and consistant with ourselves. */ typedef enum {sFalse, sTrue} SDDAS_BOOL; typedef int SDDAS_INT; /* 4-byte integer */ #ifdef __amd64__ typedef int SDDAS_LONG; /* 4-byte integer (long is 8-bytes) */ typedef unsigned int SDDAS_ULONG; /* 4-byte unsigned integer (long is 8-bytes) */ #define SCAN_LONG_INT "%d" /* used to be %ld when SDDAS_LONG was a long */ #define SCAN_TAG_AND_LONG_INT "%s %d" /* used to be %ld when SDDAS_LONG was a long */ #else typedef long SDDAS_LONG; /* 4-byte integer */ typedef unsigned long SDDAS_ULONG; /* 4-byte unsigned integer */ #define SCAN_LONG_INT "%ld" /* used to be %ld when SDDAS_LONG was a long */ #define SCAN_TAG_AND_LONG_INT "%s %ld" #endif typedef long long SDDAS_2LONGS; /* 8-byte integer */ typedef float SDDAS_FLOAT; /* 4-byte floating point */ typedef double SDDAS_DOUBLE; /* 8-byte floating point */ typedef short SDDAS_SHORT; /* 2-byte integer */ typedef char SDDAS_CHAR; /* 1-byte quantity */ typedef unsigned int SDDAS_UINT; /* 4-byte unsigned integer */ typedef unsigned short SDDAS_USHORT; /* 2-byte unsigned integer */ typedef unsigned char SDDAS_UCHAR; /* 1-byte unsigned integer */ #define SCAN_SHORT_INT "%hd" #define SCAN_INT "%d" #define SCAN_6_INT "%6d" #define SCAN_INT_COLOR "%dcolor" #define SCAN_FLOAT "%f" #define SCAN_DOUBLE "%lf" #define SCAN_2EXP "%.2e" #define SCAN_EXP "%e" #define SCAN_CHAR "%c" #define SCAN_STRING "%s" #define SCAN_TAG_AND_FLOAT "%s %f" #define SCAN_TAG_AND_INT "%s %d" #define SCAN_TAG_AND_EXP "%s %e" #define SCAN_TAG_AND_CHAR "%s%c" /* ---- needed for mk_idf ---- */ #ifdef __amd64__ #define SCAN_TWO_LONGS "%d %d" #else #define SCAN_TWO_LONGS "%ld %ld" #endif /* This change is strictly for the Windows Cygwin port. Every file which is opened in binary mode by the "open" system function must have O_BINARY. On other operating systems, this is defined to 0. */ #ifndef __CYGWIN__ #ifndef _WIN32 #define O_BINARY 0 #endif #endif #endif