r94: finished c++ conversions
[ctsim.git] / include / kstddef.h
index b6ad48fc56d2a18db9b3910504563e34f94852e8..dfb35431e281c53a15218d0c0bc9fdc5165ece67 100644 (file)
@@ -1,35 +1,15 @@
 /*****************************************************************************
-**  This is part of the CTSim program
-**  Copyright (C) 1983-2000 Kevin Rosenberg
-**
-**  $Id: kstddef.h,v 1.10 2000/05/16 04:33:17 kevin Exp $
-**  $Log: kstddef.h,v $
-**  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
+** FILE IDENTIFICATION
 **
-**  Revision 1.7  2000/05/07 12:46:19  kevin
-**  made c++ compatible
+**     File Name:      kstddef.h
+**     Author:         Kevin Rosenberg
+**     Purpose:        Header file containing KRL standard C definitions
+**     Date Started:   Dec. 83
 **
-**  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
+**  This is part of the CTSim program
+**  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  Revision 1.2  2000/04/28 14:14:16  kevin
-**  *** empty log message ***
+**  $Id: kstddef.h,v 1.16 2000/06/13 16:20:31 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
 **  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
- *
- *     File Name:      STDDEF.H
- *     Author:         Kevin Rosenberg
- *     Purpose:        Header file containing KRL standard C definitions
- *     Date Started:   Dec. 83
- *
- * DESCRIPTION
- *     Header file contains KRL standard C definitions
- *
- * MODIFICATION LOG
- *
- *****************************************************************************/
 
 #ifndef STDDEF_H
 #define STDDEF_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef _WIN32
+#define snprintf _snprintf
+#endif
 
+#define STR_MAX_LEN 255
+#define STR_SIZE    STR_MAX_LEN+1
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -76,15 +47,6 @@ extern "C" {
 
 #undef SHELL
 
-#define STR_MAX_LEN 255
-#define STR_SIZE    STR_MAX_LEN+1
-
-#ifndef bool
-typedef signed int bool;               /* Boolean variable type */
-#endif
-
-typedef unsigned char string[STR_SIZE];
-
 #define TRUE   1
 #define FALSE  0
 #define OK     TRUE
@@ -117,12 +79,6 @@ 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
@@ -131,7 +87,7 @@ typedef unsigned char string[STR_SIZE];
 /*----------------------------------------------------------------------*/
 
 struct time_st {
-       int hour, minute, second, hs;
+       int hour, minute, second, ms;
 };
 
 struct date_st {
@@ -186,51 +142,61 @@ typedef struct timedate_st TIMEDATE;
 #define S_IWRITE S_IWUSR
 #endif
 
-/* 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);
+#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
 
-/* iclip.c */
-int iclip(int n, int lb, int ub);
+typedef signed char kint8;
+typedef unsigned char kuint8;
 
-/* s_head.c */
-char *str_skip_head(const char *str, const char *charlist);
+#if SIZEOF_INT == 4
+    typedef int kint32;
+    typedef unsigned int kuint32;
+#elif SIZEOF_LONG == 4
+    typedef long int kint32;
+    typedef unsigned int kuint32;
+#endif
 
-/* s_lower.c */
-char *str_lower(char *s);
+#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
 
-/* s_rmtail.c */
-char *str_wrm_tail(char *str);
-char *str_rm_tail(char *str, const char *charlist);
+#if SIZEOF_FLOAT == 4
+    typedef float kfloat32;
+#endif
+#if SIZEOF_DOUBLE == 8
+    typedef double kfloat64;
+#endif
 
-/* s_save.c */
-char *str_save(const char *s);
+/* filefuncs.cpp */
+bool file_exists(const char* fname);
+const char* fileBasename(const char* filename);
+FILE *sys_fopen(const char *filename, const char *mode, const char *progname);
 
-/* s_upper.c */
+/* strfuncs.cpp */
+const char* str_skip_head(char* const str, const char* const charlist);
+char* str_skip_head(char* str, char* charlist);
+char *str_lower(char *s);
+char *str_wrm_tail(char *str);
+char *str_rm_tail(char *str, const char* const charlist);
 char *str_upper(char *str);
 
-/* sysalloc.c */
-void *sys_alloc(const int nbytes, const char *name);
-
-/* syserror.c */
+/* syserror.cpp */
 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 */
+/* timedate.cpp */
 DATE *td_get_date(DATE *d);
 TIME *td_get_time(TIME *t);
 double td_current_sec(void);
@@ -248,17 +214,17 @@ char *td_str_cdate(DATE *d);
 char *td_month_name(int n);
 char *td_day_name(int n);
 
-/* netorder.c */
+/* netorder.cpp */
 void *strreverse (void *dest, const void *src, size_t n);
-int read_nlong (unsigned long int *n, int fd);
-int write_nlong (unsigned long int const *n, int fd);
-int read_nfloat (float *f, int fd);
-int write_nfloat (float const *f, int fd);
-int read_ndouble (double *d, int fd);
-int write_ndouble (double const *d, int fd);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+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);
+void ConvertNetworkOrder (void* buffer, size_t bytes);
+void ConvertReverseNetworkOrder (void* buffer, size_t bytes);
 
 #endif