X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fportab%2Fportab.h;h=56d4249b7509376144cde84524f29695b28c3ef2;hb=6fdd3479f126a866c022c39dcd424d6042de6875;hp=3de168e37cb5879f8fda2c381ad424476dc23964;hpb=0fb57ecffc808aaadd918b95c3e35dce26682269;p=ngircd-alex.git diff --git a/src/portab/portab.h b/src/portab/portab.h index 3de168e3..56d4249b 100644 --- a/src/portab/portab.h +++ b/src/portab/portab.h @@ -1,17 +1,16 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2005 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.22 2005/07/31 20:13:11 alex Exp $ * - * portab.h: "Portabilitaets-Definitionen" + * Portability functions and declarations (header for libngbportab). */ @@ -21,43 +20,92 @@ #include "config.h" +#ifndef DEBUG +# define NDEBUG +#endif -/* Keywords */ +#ifdef HAVE_SYS_TYPES_H +# include +#endif -#define EXTERN extern -#define STATIC static -#define LOCAL static -#define CONST const +#ifdef HAVE_INTTYPES_H +# include +# define NGIRC_GOT_INTTYPES +#else +# ifdef HAVE_STDINT_H +# include +# define NGIRC_GOT_INTTYPES +# endif +#endif +#ifdef HAVE_STDDEF_H +# include +#endif -/* Datatentypen */ +#ifdef HAVE_STDBOOL_H +# include +#endif -typedef void VOID; -typedef void POINTER; +/* compiler features */ + +#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) +# 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 -typedef signed int INT; -typedef unsigned int UINT; -typedef signed char INT8; -typedef unsigned char UINT8; -typedef signed short INT16; -typedef unsigned short UINT16; -typedef signed long INT32; -typedef unsigned long UINT32; -typedef float FLOAT; +/* datatypes */ -typedef char CHAR; +#ifndef PROTOTYPES +# ifndef signed +# define signed +# endif +#endif + +typedef void POINTER; -typedef UINT8 BOOLEAN; +#ifdef NGIRC_GOT_INTTYPES +typedef uint8_t UINT8; +typedef uint16_t UINT16; +typedef uint32_t UINT32; +#else +typedef unsigned char UINT8; +typedef unsigned short UINT16; +typedef unsigned int UINT32; +#endif -#undef TRUE -#define TRUE (BOOLEAN)1 +#ifndef HAVE_STDBOOL_H +typedef unsigned char bool; +#define true (bool)1 +#define false (bool)0 +#endif -#undef FALSE -#define FALSE (BOOLEAN)0 +#ifndef NULL +#ifdef PROTOTYPES +# define NULL (void *)0 +#else +# define NULL 0L +#endif +#endif -#undef NULL -#define NULL (VOID *)0 +#ifdef NeXT +#define S_IRUSR 0000400 /* read permission, owner */ +#define S_IWUSR 0000200 /* write permission, owner */ +#define S_IRGRP 0000040 /* read permission, group */ +#define S_IROTH 0000004 /* read permission, other */ +#define ssize_t int +#endif #undef GLOBAL #define GLOBAL @@ -71,29 +119,58 @@ 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 */ +typedef int socklen_t; /* for Mac OS X, amongst others */ #endif -#if OS_UNIX_AUX -#define _POSIX_SOURCE /* muss unter A/UX definiert sein */ +#ifndef HAVE_SNPRINTF +extern int snprintf PARAMS(( char *str, size_t count, const char *fmt, ... )); #endif +#ifndef HAVE_STRLCAT +extern size_t strlcat PARAMS(( char *dst, const char *src, size_t size )); +#endif -/* Konstanten */ +#ifndef HAVE_STRLCPY +extern size_t strlcpy PARAMS(( char *dst, const char *src, size_t size )); +#endif -#ifndef TARGET_OS -#define TARGET_OS "unknown" +#ifndef HAVE_STRDUP +extern char * strdup PARAMS(( const char *s )); #endif -#ifndef TARGET_CPU -#define TARGET_CPU "unknown" +#ifndef HAVE_STRTOK_R +extern char * strtok_r PARAMS((char *str, const char *delim, char **saveptr)); #endif -#ifndef TARGET_VENDOR -#define TARGET_VENDOR "unknown" +#ifndef HAVE_VSNPRINTF +#include +extern int vsnprintf PARAMS(( char *str, size_t count, const char *fmt, va_list args )); +#endif + +#ifndef PACKAGE_NAME +#define PACKAGE_NAME PACKAGE +#endif + +#ifndef PACKAGE_VERSION +#define PACKAGE_VERSION VERSION #endif