X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fkstddef.h;h=a6543dc9c8e3adccee11dae3088916be2c3c75d6;hp=4a5771c267cf3c180afd8f4062d8facce562941e;hb=07b93dbf2b66fa23c5378ab0fa42f9a7f0083380;hpb=44ba0e9facc91003bf3ef32876f8b8ac5439c3c1 diff --git a/include/kstddef.h b/include/kstddef.h index 4a5771c..a6543dc 100644 --- a/include/kstddef.h +++ b/include/kstddef.h @@ -2,8 +2,26 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: kstddef.h,v 1.7 2000/05/07 12:46:19 kevin Exp $ +** $Id: kstddef.h,v 1.13 2000/06/07 00:59:38 kevin Exp $ ** $Log: kstddef.h,v $ +** Revision 1.13 2000/06/07 00:59:38 kevin +** added imagefiles +** +** Revision 1.12 2000/06/05 01:32:45 kevin +** Added C++ compatibility +** +** Revision 1.11 2000/06/03 06:29:08 kevin +** *** empty log message *** +** +** Revision 1.10 2000/05/16 04:33:17 kevin +** Updated documentation +** +** Revision 1.9 2000/05/11 01:04:44 kevin +** Added Microsoft Windows compatibility +** +** Revision 1.8 2000/05/08 20:00:48 kevin +** ANSI C changes +** ** Revision 1.7 2000/05/07 12:46:19 kevin ** made c++ compatible ** @@ -36,6 +54,7 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ + /****************************************************************************** * * FILE IDENTIFICATION @@ -55,29 +74,31 @@ #ifndef STDDEF_H #define STDDEF_H -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif -#include -#include -#include -#include +#ifdef _WIN32 +#define snprintf _snprintf +#endif -#undef SHELL +#if !defined(bool) && !defined(__cplusplus) +typedef int bool; /* Boolean variable type */ +#endif #define STR_MAX_LEN 255 #define STR_SIZE STR_MAX_LEN+1 -#ifndef bool -typedef signed int bool; /* Boolean variable type */ +#if !defined(__cplusplus) +typedef unsigned char string[STR_SIZE]; #endif -typedef unsigned char string[STR_SIZE]; +#include +#include +#include +#include -#define UNSIGNLONG unsigned long int -#define UNSIGNCHAR unsigned char +#undef SHELL #define TRUE 1 #define FALSE 0 @@ -85,8 +106,6 @@ typedef unsigned char string[STR_SIZE]; #define ERROR FALSE #define YES TRUE #define NO FALSE -#define ON TRUE -#define OFF FALSE /*----------------------------------------------------------------------*/ @@ -94,11 +113,6 @@ typedef unsigned char string[STR_SIZE]; /*----------------------------------------------------------------------*/ -#define INTERNAL_FUNC static -#define INTERNAL_VAR static - -/*----------------------------------------------------------------------*/ - #define NEWLINE '\n' #define TAB '\t' #define EOS '\0' @@ -127,13 +141,12 @@ typedef unsigned char string[STR_SIZE]; #define ISWAP(a,b) {int i; i = a; a = b; b = i;} #define CLIP(n,lb,ub) if (n < lb) n = lb; else if (n > ub) n = ub -#define FOREVER for (;;) #define STR_EQUAL(s1,s2) (strcmp (s1, s2) == 0) /*----------------------------------------------------------------------*/ struct time_st { - int hour, minute, second, hs; + int hour, minute, second, ms; }; struct date_st { @@ -157,13 +170,9 @@ typedef struct timedate_st TIMEDATE; /*----------------------------------------------------------------------*/ -/* codes for open command */ -#ifdef LATTICE -#define OPEN_RDONLY 0x8000 /* Lattice codes for binary i/o */ -#define OPEN_WRONLY 0x8001 -#define OPEN_RDWR 0x8002 -#elif MICROSOFT +/* codes for open command */ +#if MICROSOFT #define OPEN_RDONLY O_RDONLY /* other system use standard codes */ #define OPEN_WRONLY O_WRONLY /* for binary */ #define OPEN_RDWR O_RDWR @@ -192,37 +201,91 @@ typedef struct timedate_st TIMEDATE; #define S_IWRITE S_IWUSR #endif +/*----------------------------------------------------------------------*/ + +#if defined(MICROSOFT) || ! defined(SIZEOF_INT) + #define SIZEOF_INT 4 + #define SIZEOF_LONG 4 + #define SIZEOF_SHORT 2 + #define SIZEOF_FLOAT 4 + #define SIZEOF_DOUBLE 8 +#endif + +typedef signed char kint8; +typedef unsigned char kuint8; + +#if SIZEOF_INT == 4 + typedef int kint32; + typedef unsigned int kuint32; +#elif SIZEOF_LONG == 4 + typedef long int kint32; + typedef unsigned int kuint32; +#endif + +#if SIZEOF_SHORT == 2 + typedef short int kint16; + typedef unsigned short int kuint16; +#elif SIZEOF_INT == 2 + typedef int kint16; + typedef unsigned int kuint16; +#endif + +#if SIZEOF_FLOAT == 4 + typedef float kfloat32; +#endif +#if SIZEOF_DOUBLE == 8 + typedef double kfloat64; +#endif + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + /* allocnum.c */ float *alloc_float(int n); double *alloc_double(int n); int *alloc_int(int n); + /* fexist.c */ int file_exists(const char *fname); + /* kbasename.c */ char *kbasename(const char *filename); + /* iclip.c */ int iclip(int n, int lb, int ub); + /* s_head.c */ char *str_skip_head(const char *str, const char *charlist); + /* s_lower.c */ char *str_lower(char *s); + /* s_rmtail.c */ char *str_wrm_tail(char *str); char *str_rm_tail(char *str, const char *charlist); + /* s_save.c */ char *str_save(const char *s); + /* s_upper.c */ char *str_upper(char *str); + /* sysalloc.c */ void *sys_alloc(const int nbytes, const char *name); + /* syserror.c */ void sys_error(int severity, const char *msg, ...); void sys_verror(int severity, const char *msg, va_list arg); void sys_error_level(int severity); + /* sysfopen.c */ FILE *sys_fopen(const char *filename, const char *mode, const char *progname); + /* sysfree.c */ void sys_free(void *ptr, const char *name); + /* timedate.c */ DATE *td_get_date(DATE *d); TIME *td_get_time(TIME *t); @@ -241,6 +304,17 @@ char *td_str_cdate(DATE *d); char *td_month_name(int n); char *td_day_name(int n); +/* netorder.c */ +void *strreverse (void *dest, const void *src, size_t n); +int read_nint16 (kuint16 *n, int fd); +int write_nint16 (kuint16 const *n, int fd); +int read_nint32 (kuint32 *n, int fd); +int write_nint32 (kuint32 const *n, int fd); +int read_nfloat32 (float *f, int fd); +int write_nfloat32 (float const *f, int fd); +int read_nfloat64 (double *d, int fd); +int write_nfloat64 (double const *d, int fd); + #ifdef __cplusplus } #endif /* __cplusplus */