X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fportab%2Fportab.h;h=83f82ed6ac7baf43e57807afb2ca3435d6c579ff;hp=3de168e37cb5879f8fda2c381ad424476dc23964;hb=4f6f84e7e1bc015e201e8a79e13b0906dcb23ec1;hpb=0fb57ecffc808aaadd918b95c3e35dce26682269 diff --git a/src/portab/portab.h b/src/portab/portab.h index 3de168e3..83f82ed6 100644 --- a/src/portab/portab.h +++ b/src/portab/portab.h @@ -2,16 +2,15 @@ * ngIRCd -- The Next Generation IRC Daemon * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) * - * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen - * der GNU General Public License (GPL), wie von der Free Software Foundation - * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 - * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version. - * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste - * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: portab.h,v 1.5 2002/05/19 10:49:23 alex Exp $ + * $Id: portab.h,v 1.11 2002/12/26 14:48:05 alex Exp $ * - * portab.h: "Portabilitaets-Definitionen" + * Portability functions and declarations (header for libngbportab). */ @@ -21,22 +20,55 @@ #include "config.h" +#ifdef HAVE_SYS_TYPES_H +#include +#endif + -/* Keywords */ +/* compiler features */ + +#ifdef __GNUC__ +# define PUNUSED(x) __attribute__ ((unused)) x +# define UNUSED __attribute__ ((unused)) +#else +# define PUNUSED(x) x +# define UNUSED +#endif + +#ifndef PARAMS +# if PROTOTYPES +# define PARAMS(args) args +# else +# define PARAMS(args) () +# endif +#endif + + +/* keywords */ #define EXTERN extern #define STATIC static #define LOCAL static #define CONST const +#define REGISTER register -/* Datatentypen */ +/* datatypes */ + +#ifndef PROTOTYPES +# ifndef signed +# define signed +# endif +#endif typedef void VOID; typedef void POINTER; typedef signed int INT; typedef unsigned int UINT; +typedef signed long LONG; +typedef unsigned long ULONG; + typedef signed char INT8; typedef unsigned char UINT8; typedef signed short INT16; @@ -44,6 +76,7 @@ typedef unsigned short UINT16; typedef signed long INT32; typedef unsigned long UINT32; +typedef double DOUBLE; typedef float FLOAT; typedef char CHAR; @@ -57,7 +90,11 @@ typedef UINT8 BOOLEAN; #define FALSE (BOOLEAN)0 #undef NULL -#define NULL (VOID *)0 +#ifdef PROTOTYPES +# define NULL (VOID *)0 +#else +# define NULL 0L +#endif #undef GLOBAL #define GLOBAL @@ -71,7 +108,22 @@ typedef UINT8 BOOLEAN; #endif -/* configure-Optionen */ +/* target constants */ + +#ifndef TARGET_OS +#define TARGET_OS "unknown" +#endif + +#ifndef TARGET_CPU +#define TARGET_CPU "unknown" +#endif + +#ifndef TARGET_VENDOR +#define TARGET_VENDOR "unknown" +#endif + + +/* configure options */ #ifndef HAVE_socklen_t #define socklen_t int /* u.a. fuer Mac OS X */ @@ -81,19 +133,20 @@ typedef UINT8 BOOLEAN; #define _POSIX_SOURCE /* muss unter A/UX definiert sein */ #endif +#ifndef HAVE_SNPRINTF +EXTERN INT snprintf( CHAR *str, size_t count, CONST CHAR *fmt, ... ); +#endif -/* Konstanten */ - -#ifndef TARGET_OS -#define TARGET_OS "unknown" +#ifndef HAVE_STRLCAT +EXTERN size_t strlcat( CHAR *dst, CONST CHAR *src, size_t size ); #endif -#ifndef TARGET_CPU -#define TARGET_CPU "unknown" +#ifndef HAVE_STRLCPY +EXTERN size_t strlcpy( CHAR *dst, CONST CHAR *src, size_t size ); #endif -#ifndef TARGET_VENDOR -#define TARGET_VENDOR "unknown" +#ifndef HAVE_VSNPRINTF +EXTERN INT vsnprintf( CHAR *str, size_t count, CONST CHAR *fmt, va_list args ); #endif