|
|
1.1 root 1: /* gen_defs.h */
2:
3: /* Synchronet general constant and macro definitions */
4:
5: /* $Id: gen_defs.h,v 1.9 2000/11/02 12:45:06 rswindell Exp $ */
6:
7: /****************************************************************************
8: * @format.tab-size 4 (Plain Text/Source Code File Header) *
9: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
10: * *
11: * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html *
12: * *
13: * This program is free software; you can redistribute it and/or *
14: * modify it under the terms of the GNU General Public License *
15: * as published by the Free Software Foundation; either version 2 *
16: * of the License, or (at your option) any later version. *
17: * See the GNU General Public License for more details: gpl.txt or *
18: * http://www.fsf.org/copyleft/gpl.html *
19: * *
20: * Anonymous FTP access to the most recent released source is available at *
21: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net *
22: * *
23: * Anonymous CVS access to the development source and modification history *
24: * is available at cvs.synchro.net:/cvsroot/sbbs, example: *
25: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login *
26: * (just hit return, no password is necessary) *
27: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src *
28: * *
29: * For Synchronet coding style and modification guidelines, see *
30: * http://www.synchro.net/source.html *
31: * *
32: * You are encouraged to submit any modifications (preferably in Unix diff *
33: * format) via e-mail to [email protected] *
34: * *
35: * Note: If this box doesn't appear square, then you need to fix your tabs. *
36: ****************************************************************************/
37:
38: #ifndef _GEN_DEFS_H
39: #define _GEN_DEFS_H
40:
41: /* Control characters */
42: #define STX 0x02 /* Start of text ^B */
43: #define ETX 0x03 /* End of text ^C */
44: #define BEL 0x07 /* Bell/beep ^G */
45: #define FF 0x0c /* Form feed ^L */
46: #define ESC 0x1b /* Escape ^[ */
47: #define DEL 0x7f /* Delete ^BS */
48: #define BS '\b' /* Back space ^H */
49: #define TAB '\t' /* Horizontal tabulation ^I */
50: #define LF '\n' /* Line feed ^J */
51: #define CR '\r' /* Carriage return ^M */
52: #define SP ' ' /* Space */
53:
54: #ifndef MAX_PATH
55: #ifdef MAXPATHLEN
56: #define MAX_PATH MAXPATHLEN /* clib.h */
57: #elif defined PATH_MAX
58: #define MAX_PATH PATH_MAX
59: #elif defined _MAX_PATH
60: #define MAX_PATH _MAX_PATH
61: #else
62: #define MAX_PATH 260
63: #endif
64: #endif
65:
66: /* Unsigned type short-hands */
67: #ifndef uchar
68: #define uchar unsigned char
69: #endif
70: #ifdef __GLIBC__
71: #include <sys/types.h>
72: #else
73: #ifndef ushort
74: #define ushort unsigned short
75: #define uint unsigned int
76: #define ulong unsigned long
77: #endif
78: #endif
79:
80: /* Windows Types */
81: #ifndef BYTE
82: #define BYTE uchar
83: #endif
84: #ifndef WORD
85: #define WORD ushort
86: #endif
87: #ifndef DWORD
88: #define DWORD ulong
89: #endif
90: #ifndef BOOL
91: #define BOOL int
92: #endif
93: #ifndef TRUE
94: #define TRUE 1
95: #define FALSE 0
96: #endif
97: #ifndef HANDLE
98: #define HANDLE void*
99: #endif
100:
101:
102: /****************************************************************************/
103: /* MALLOC/FREE Macros for various compilers and environments */
104: /* MALLOC is used for allocations of 64k or less */
105: /* FREE is used to free buffers allocated with MALLOC */
106: /* LMALLOC is used for allocations of possibly larger than 64k */
107: /* LFREE is used to free buffers allocated with LMALLOC */
108: /* REALLOC is used to re-size a previously MALLOCed or LMALLOCed buffer */
109: /* FAR16 is used to create a far (32-bit) pointer in 16-bit compilers */
110: /* HUGE16 is used to create a huge (32-bit) pointer in 16-bit compilers */
111: /****************************************************************************/
112: #if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__)
113: #define HUGE16 huge
114: #define FAR16 far
115: #if defined(__TURBOC__)
116: #define REALLOC(x,y) farrealloc(x,y)
117: #define LMALLOC(x) farmalloc(x)
118: #define MALLOC(x) farmalloc(x)
119: #define LFREE(x) farfree(x)
120: #define FREE(x) farfree(x)
121: #elif defined(__WATCOMC__)
122: #define REALLOC realloc
123: #define LMALLOC(x) halloc(x,1) /* far heap, but slow */
124: #define MALLOC malloc /* far heap, but 64k max */
125: #define LFREE hfree
126: #define FREE free
127: #else /* Other 16-bit Compiler */
128: #define REALLOC realloc
129: #define LMALLOC malloc
130: #define MALLOC malloc
131: #define LFREE free
132: #define FREE free
133: #endif
134: #else /* 32-bit Compiler or Small Memory Model */
135: #define HUGE16
136: #define FAR16
137: #define REALLOC realloc
138: #define LMALLOC malloc
139: #define MALLOC malloc
140: #define LFREE free
141: #define FREE free
142: #endif
143:
144:
145: #endif /* Don't add anything after this #endif statement */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.