2 * ngIRCd -- The Next Generation IRC Daemon
3 * Copyright (c)2001-2003 by Alexander Barton (alex@barton.de)
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 * Please read the file COPYING, README and AUTHORS for more information.
11 * $Id: portab.h,v 1.15 2003/03/31 19:01:02 alex Exp $
13 * Portability functions and declarations (header for libngbportab).
23 #ifdef HAVE_SYS_TYPES_H
24 #include <sys/types.h>
28 /* compiler features */
31 # define PUNUSED(x) __attribute__ ((unused)) x
32 # define UNUSED __attribute__ ((unused))
40 # define PARAMS(args) args
42 # define PARAMS(args) ()
53 #define REGISTER register
67 typedef signed int INT;
68 typedef unsigned int UINT;
69 typedef signed long LONG;
70 typedef unsigned long ULONG;
72 typedef signed char INT8;
73 typedef unsigned char UINT8;
74 typedef signed short INT16;
75 typedef unsigned short UINT16;
76 typedef signed long INT32;
77 typedef unsigned long UINT32;
79 typedef double DOUBLE;
84 typedef UINT8 BOOLEAN;
87 #define TRUE (BOOLEAN)1
90 #define FALSE (BOOLEAN)0
94 # define NULL (VOID *)0
111 /* target constants */
114 #define TARGET_OS "unknown"
118 #define TARGET_CPU "unknown"
121 #ifndef TARGET_VENDOR
122 #define TARGET_VENDOR "unknown"
126 /* configure options */
128 #ifndef HAVE_socklen_t
129 #define socklen_t int /* u.a. fuer Mac OS X */
132 #ifndef HAVE_SNPRINTF
133 EXTERN INT snprintf PARAMS(( CHAR *str, size_t count, CONST CHAR *fmt, ... ));
137 EXTERN size_t strlcat PARAMS(( CHAR *dst, CONST CHAR *src, size_t size ));
141 EXTERN size_t strlcpy PARAMS(( CHAR *dst, CONST CHAR *src, size_t size ));
144 #ifndef HAVE_VSNPRINTF
146 EXTERN INT vsnprintf PARAMS(( CHAR *str, size_t count, CONST CHAR *fmt, va_list args ));
150 #define PACKAGE_NAME PACKAGE
153 #ifndef PACKAGE_VERSION
154 #define PACKAGE_VERSION VERSION