X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fkstddef.h;h=dfb35431e281c53a15218d0c0bc9fdc5165ece67;hp=deb65fa70b03052ef3b06efef94bd5d4a951bd98;hb=031437896d0dc6cac70c16e5604b10f5aa4d0767;hpb=331b5c344271387790f735540510e2a07e4e42a7 diff --git a/include/kstddef.h b/include/kstddef.h index deb65fa..dfb3543 100644 --- a/include/kstddef.h +++ b/include/kstddef.h @@ -1,29 +1,15 @@ /***************************************************************************** -** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg -** -** $Id: kstddef.h,v 1.8 2000/05/08 20:00:48 kevin Exp $ -** $Log: kstddef.h,v $ -** 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 +** FILE IDENTIFICATION ** -** Revision 1.5 2000/05/02 20:00:25 kevin -** *** empty log message *** +** File Name: kstddef.h +** Author: Kevin Rosenberg +** Purpose: Header file containing KRL standard C definitions +** Date Started: Dec. 83 ** -** 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 @@ -39,29 +25,20 @@ ** 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 #include @@ -70,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 @@ -111,22 +79,15 @@ 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 { @@ -150,8 +111,8 @@ typedef struct timedate_st TIMEDATE; /*----------------------------------------------------------------------*/ -/* codes for open command */ +/* codes for open command */ #if MICROSOFT #define OPEN_RDONLY O_RDONLY /* other system use standard codes */ #define OPEN_WRONLY O_WRONLY /* for binary */ @@ -181,38 +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); -/* 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 */ +/*----------------------------------------------------------------------*/ + +#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 + +/* 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); + +/* 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); -/* 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_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); @@ -230,8 +214,17 @@ char *td_str_cdate(DATE *d); char *td_month_name(int n); char *td_day_name(int n); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +/* netorder.cpp */ +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); +void ConvertNetworkOrder (void* buffer, size_t bytes); +void ConvertReverseNetworkOrder (void* buffer, size_t bytes); #endif