X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Fkstddef.h;h=34e0b02dfb29526973559d835ee60f7eb87857e3;hb=5cf6874680f80d238bf34535d711dc223813f951;hp=0d052f0ea2f1acdfd024dc2c239675c426e64d06;hpb=13838bda88b63a2535b5baaf7197006767de4b8e;p=ctsim.git diff --git a/include/kstddef.h b/include/kstddef.h index 0d052f0..34e0b02 100644 --- a/include/kstddef.h +++ b/include/kstddef.h @@ -1,41 +1,49 @@ -/****************************************************************************** - * - * 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 - * - *****************************************************************************/ +/***************************************************************************** +** FILE IDENTIFICATION +** +** File Name: kstddef.h +** Author: Kevin Rosenberg +** Purpose: Header file containing KRL standard C definitions +** Date Started: Dec. 83 +** +** This is part of the CTSim program +** Copyright (C) 1983-2000 Kevin Rosenberg +** +** $Id: kstddef.h,v 1.17 2000/06/15 19:07:10 kevin Exp $ +** +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License (version 2) as +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ #ifndef STDDEF_H #define STDDEF_H -#include -#include -#include -#include -#include "getargs.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif -#undef SHELL +#ifdef _WIN32 +#define snprintf _snprintf +#endif #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 UNSIGNLONG unsigned long int -#define UNSIGNCHAR unsigned char +#include +#include +#include +#include #define TRUE 1 #define FALSE 0 @@ -43,17 +51,10 @@ typedef unsigned char string[STR_SIZE]; #define ERROR FALSE #define YES TRUE #define NO FALSE -#define ON TRUE -#define OFF FALSE - -/*----------------------------------------------------------------------*/ - -#define SHOW(var, fmt) fprintf (stderr, "var = fmt\n", var) /*----------------------------------------------------------------------*/ -#define INTERNAL_FUNC static -#define INTERNAL_VAR static +#define SHOW(var, fmt) { cerr << "var = " << var << endl; } /*----------------------------------------------------------------------*/ @@ -61,33 +62,11 @@ typedef unsigned char string[STR_SIZE]; #define TAB '\t' #define EOS '\0' #define BLANK ' ' -#define ETX 26 /* end of text signal for PC-DOS */ - -/*----------------------------------------------------------------------*/ - -#define MAXPATHNAME 65 /* max length of pathname + 1 */ -#define MAXFILENAME 13 /* rootname(8) + '.'(1) + extension(3) + EOS */ -#define MAXROOTNAME 8 -#define MAXEXTNAME 3 -#define MAXFULLNAME MAXPATHNAME + MAXFILENAME - -/*----------------------------------------------------------------------*/ - -#define ABS(x) ((x) < 0 ? -(x) : (x)) -#define SQR(x) ((x) * (x)) - -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#define MIN(a,b) ((a) <= (b) ? (a) : (b)) -#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 { @@ -111,13 +90,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 @@ -129,15 +104,6 @@ typedef struct timedate_st TIMEDATE; /*----------------------------------------------------------------------*/ -/* codes for input (inp_*) routines */ - -#define INP_ERROR -1 -#define INP_NO FALSE -#define INP_YES TRUE -#define INP_NEITHER 'b' -#define INP_RETURN 'r' -#define INP_BREAK 0x8000 - #ifndef O_BINARY #define O_BINARY (0) #endif @@ -146,108 +112,77 @@ typedef struct timedate_st TIMEDATE; #define S_IWRITE S_IWUSR #endif -/* alloc.c */ -void *alloc(unsigned int nbytes); -/* allocnum.c */ -float *alloc_float(int n); -double *alloc_double(int n); -int *alloc_int(int n); -/* cant.c */ -void cant(const char *fname); -/* 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); -/* getbits.c */ -unsigned int getbits(unsigned int x, int p, int n); -/* getch.c */ -int getch(void); -void ungetch(int c); -/* getdate.c */ -DATE *td_get_date(DATE *d); -/* gettime.c */ -TIME *td_get_time(TIME *t); -/* iclip.c */ -int iclip(int n, int lb, int ub); -/* infofn.c */ -int infofn(unsigned int *attrib, long int *filesize, TIMEDATE *td); -/* irand.c */ -unsigned int irand(unsigned int n); -/* itostr.c */ -int itostr(int n, char str[], int size); -/* ltostr.c */ -int ltostr(long val, char *cp, int base); -/* makefnam.c */ -int makefnam(const char *rawfn, const char *template_str, char *result); -int getfnam(const char fullname[], char pathname[], char filename[]); -int getexten(const char *fullname, char *exten); -int validfn(const char filename[]); -/* putdec.c */ -void putdec(const int n, int w, FILE *fd_out); -/* s_clip.c */ -char *str_clip_tail(char *str, unsigned int nclip); -/* s_esc.c */ -char *str_conv_esc(const char *from, char *to); -/* s_esc_c.c */ -char *s_esc_char(const char *str, char *c); -/* s_get.c */ -unsigned int str_get_last_char(const char *str); -/* 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_make.c */ -char *str_make(char *str, int c, const int n); -/* s_revers.c */ -char *str_reverse(char *s); -/* s_rmhead.c */ -char *str_wrm_head(char *str); -char *str_rm_head(char *str, const char *skip_str); -/* s_rmtail.c */ -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); -/* searchfn.c */ -int searchfn(const char pat[], const unsigned int attrib); -int getfn(const char name[]); -/* stime.c */ +char *str_rm_tail(char *str, const char* const charlist); +char *str_upper(char *str); + +/* 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); + +/* timedate.cpp */ +DATE *td_get_date(DATE *d); +TIME *td_get_time(TIME *t); double td_current_sec(void); double td_time_to_sec(TIME *t); TIME *td_time_sub(const TIME *t1, const TIME *t2, TIME *tdiff); TIME *td_time_add(const TIME *t1, const TIME *t2, TIME *tsum); TIME *td_time_copy(TIME *to, const TIME *from); TIME *td_time_norm(TIME *t); -/* 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 */ void td_get_tmdt(TIMEDATE *td); 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); #endif