r70: added imagefiles
[ctsim.git] / include / kstddef.h
index e80e3e56f8311b35920f95493a5633ed2514e76b..a6543dc9c8e3adccee11dae3088916be2c3c75d6 100644 (file)
@@ -2,8 +2,38 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: kstddef.h,v 1.3 2000/04/28 17:38:16 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
+**
+**  Revision 1.6  2000/05/03 19:51:41  kevin
+**  function renaming for phantoms and phantom elements
+**
+**  Revision 1.5  2000/05/02 20:00:25  kevin
+**  *** empty log message ***
+**
+**  Revision 1.4  2000/04/28 18:00:55  kevin
+**  remove unused files
+**
 **  Revision 1.3  2000/04/28 17:38:16  kevin
 **  Removed unused files
 **
@@ -24,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
 #ifndef STDDEF_H
 #define STDDEF_H
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
-#undef SHELL
+#ifdef _WIN32
+#define snprintf _snprintf
+#endif
+
+#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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
 
-#define UNSIGNLONG unsigned long int
-#define UNSIGNCHAR unsigned char
+#undef SHELL
 
 #define TRUE   1
 #define FALSE  0
@@ -68,8 +106,6 @@ typedef unsigned char string[STR_SIZE];
 #define ERROR  FALSE
 #define YES    TRUE
 #define NO     FALSE
-#define ON     TRUE
-#define OFF    FALSE
 
 /*----------------------------------------------------------------------*/
 
@@ -77,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'
@@ -101,18 +132,21 @@ typedef unsigned char string[STR_SIZE];
 #define ABS(x)    ((x) < 0 ? -(x) : (x))
 #define SQR(x)    ((x) * (x))
 
+#ifndef MAX
 #define MAX(a,b)  ((a) > (b) ? (a) : (b))
+#endif
+#ifndef MIN
 #define MIN(a,b)  ((a) <= (b) ? (a) : (b))
+#endif
 #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 {
@@ -136,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
@@ -171,64 +201,91 @@ typedef struct timedate_st TIMEDATE;
 #define S_IWRITE S_IWUSR
 #endif
 
-/* alloc.c */
-void *alloc(unsigned int nbytes);
+/*----------------------------------------------------------------------*/
+
+#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);
-/* cdate.c */
-char *td_str_cdate(DATE *d);
-char *td_month_name(int n);
-char *td_day_name(int n);
-/* ctoi.c */
-char *ctoi(const char *s, int *ival);
+
 /* fexist.c */
 int file_exists(const char *fname);
-/* fmax.c */
-double fmax(double a, double b);
-/* get_yn.c */
-int get_yn(const char *prompt);
-/* getch.c */
-int getch(void);
-void ungetch(int c);
+
+/* kbasename.c */
+char *kbasename(const char *filename);
+
 /* iclip.c */
 int iclip(int n, int lb, int ub);
-/* irand.c */
-unsigned int irand(unsigned int n);
-/* ltostr.c */
-int ltostr(long val, char *cp, int base);
-/* s_clip.c */
-char *str_clip_tail(char *str, unsigned int nclip);
+
 /* s_head.c */
 char *str_skip_head(const char *str, const char *charlist);
+
 /* s_lower.c */
 char *str_lower(char *s);
-/* s_make.c */
-char *str_make(char *str, int c, const int n);
-/* s_rmhead.c */
-char *str_wrm_head(char *str);
-char *str_rm_head(char *str, const char *skip_str);
+
 /* 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);
-/* s_wtail.c */
-char *str_wrm_tail(char *str);
-/* strncmpc.c */
-int strncmpc(const char *s, const char *t, int n);
+
 /* 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);
@@ -243,7 +300,23 @@ const char *td_str_tmdt(const TIMEDATE *td);
 const char *td_str_time(const TIME *t);
 const char *td_str_stime(const TIME *t);
 const char *td_str_date(const DATE *d);
-/* kbasename.c */
-char *kbasename(const char *filename);
+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 */
 
 #endif