- translated file header and comments to english;
[ngircd-alex.git] / src / portab / portab.h
1 /*
2  * ngIRCd -- The Next Generation IRC Daemon
3  * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
4  *
5  * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
6  * der GNU General Public License (GPL), wie von der Free Software Foundation
7  * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
8  * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
9  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
10  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
11  *
12  * $Id: portab.h,v 1.9 2002/12/12 11:26:08 alex Exp $
13  *
14  * portab.h: "Portabilitaets-Definitionen"
15  */
16
17
18 #ifndef __PORTAB__
19 #define __PORTAB__
20
21
22 #include "config.h"
23
24
25 /* Compiler Features */
26
27 #ifdef __GNUC__
28 # define PUNUSED(x) __attribute__ ((unused)) x
29 # define UNUSED     __attribute__ ((unused))
30 #else
31 # define PUNUSED(x) x
32 # define UNUSED
33 #endif
34
35 #ifndef PARAMS
36 # if PROTOTYPES
37 #  define PARAMS(args) args
38 # else
39 #  define PARAMS(args) ()
40 # endif
41 #endif
42
43
44 /* Keywords */
45
46 #define EXTERN extern
47 #define STATIC static
48 #define LOCAL static
49 #define CONST const
50 #define REGISTER register
51
52
53 /* Datatentypen */
54
55 #ifndef PROTOTYPES
56 # ifndef signed
57 #  define signed
58 # endif
59 #endif
60
61 typedef void VOID;
62 typedef void POINTER;
63
64 typedef signed int INT;
65 typedef unsigned int UINT;
66 typedef signed long LONG;
67 typedef unsigned long ULONG;
68
69 typedef signed char INT8;
70 typedef unsigned char UINT8;
71 typedef signed short INT16;
72 typedef unsigned short UINT16;
73 typedef signed long INT32;
74 typedef unsigned long UINT32;
75
76 typedef double DOUBLE;
77 typedef float FLOAT;
78
79 typedef char CHAR;
80
81 typedef UINT8 BOOLEAN;
82
83 #undef TRUE
84 #define TRUE (BOOLEAN)1
85
86 #undef FALSE
87 #define FALSE (BOOLEAN)0
88
89 #undef NULL
90 #ifdef PROTOTYPES
91 # define NULL (VOID *)0
92 #else
93 # define NULL 0L
94 #endif
95
96 #undef GLOBAL
97 #define GLOBAL
98
99
100 /* SPLint */
101
102
103 #ifdef S_SPLINT_S
104 #include "splint.h"
105 #endif
106
107
108 /* configure-Optionen */
109
110 #ifndef HAVE_socklen_t
111 #define socklen_t int                   /* u.a. fuer Mac OS X */
112 #endif
113
114 #if OS_UNIX_AUX
115 #define _POSIX_SOURCE                   /* muss unter A/UX definiert sein */
116 #endif
117
118
119 /* Konstanten */
120
121 #ifndef TARGET_OS
122 #define TARGET_OS "unknown"
123 #endif
124
125 #ifndef TARGET_CPU
126 #define TARGET_CPU "unknown"
127 #endif
128
129 #ifndef TARGET_VENDOR
130 #define TARGET_VENDOR "unknown"
131 #endif
132
133
134 #endif
135
136
137 /* -eof- */