X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fportab%2Fportab.h;h=78b6f7e126e66b870b7d9016e6b2a9d0575dd824;hp=d14805893ce100972772e311a370b617a971d2eb;hb=b71a0ddbd570f5163ede198d635c3b03abd3e27e;hpb=8adff5922376676c2eeb49de1cbab86cc345b887 diff --git a/src/portab/portab.h b/src/portab/portab.h index d1480589..78b6f7e1 100644 --- a/src/portab/portab.h +++ b/src/portab/portab.h @@ -1,50 +1,31 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2003 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors. * * 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.18 2005/03/19 18:43:50 fw Exp $ - * - * Portability functions and declarations (header for libngbportab). */ - #ifndef __PORTAB__ #define __PORTAB__ +/** + * @file + * Portability functions and declarations (header) + */ #include "config.h" -#ifdef HAVE_SYS_TYPES_H -# include -#endif - -#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 - -#ifdef HAVE_STDBOOL_H -# include +#ifndef DEBUG +# define NDEBUG #endif /* compiler features */ -#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) +#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 7)) # define PUNUSED(x) __attribute__ ((unused)) x # define UNUSED __attribute__ ((unused)) #else @@ -60,11 +41,23 @@ # endif #endif +/* datatypes */ -/* keywords */ -#define LOCAL static +#include -/* datatypes */ +#ifdef HAVE_STDDEF_H +# include +#endif + +#ifdef HAVE_INTTYPES_H +# include +# define NGIRC_GOT_INTTYPES +#else +# ifdef HAVE_STDINT_H +# include +# define NGIRC_GOT_INTTYPES +# endif +#endif #ifndef PROTOTYPES # ifndef signed @@ -84,51 +77,61 @@ typedef unsigned short UINT16; typedef unsigned int UINT32; #endif -#ifndef HAVE_STDBOOL_H +#ifdef HAVE_STDBOOL_H +# include +#else typedef unsigned char bool; -#define true (bool)1 -#define false (bool)0 +# define true (bool)1 +# define false (bool)0 #endif #ifndef NULL -#ifdef PROTOTYPES -# define NULL (void *)0 -#else -# define NULL 0L +# ifdef PROTOTYPES +# define NULL (void *)0 +# else +# define NULL 0L +# endif #endif + +#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 - /* SPLint */ - #ifdef S_SPLINT_S -#include "splint.h" +# include "splint.h" #endif - /* target constants */ -#ifndef TARGET_OS -#define TARGET_OS "unknown" +#ifndef HOST_OS +# define HOST_OS "unknown" #endif -#ifndef TARGET_CPU -#define TARGET_CPU "unknown" +#ifndef HOST_CPU +# define HOST_CPU "unknown" #endif -#ifndef TARGET_VENDOR -#define TARGET_VENDOR "unknown" +#ifndef HOST_VENDOR +# define HOST_VENDOR "unknown" #endif +#ifdef __HAIKU__ +# define SINGLE_USER_OS +#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 #ifndef HAVE_SNPRINTF @@ -143,21 +146,35 @@ extern size_t strlcat PARAMS(( char *dst, const char *src, size_t size )); extern size_t strlcpy PARAMS(( char *dst, const char *src, size_t size )); #endif +#ifndef HAVE_STRDUP +extern char * strdup PARAMS(( const char *s )); +#endif + +#ifndef HAVE_STRNDUP +extern char * strndup PARAMS((const char *s, size_t maxlen)); +#endif + +#ifndef HAVE_STRTOK_R +extern char * strtok_r PARAMS((char *str, const char *delim, char **saveptr)); +#endif + #ifndef HAVE_VSNPRINTF #include extern int vsnprintf PARAMS(( char *str, size_t count, const char *fmt, va_list args )); #endif +#ifndef HAVE_GAI_STRERROR +# define gai_strerror(r) "unknown error" +#endif + #ifndef PACKAGE_NAME -#define PACKAGE_NAME PACKAGE +# define PACKAGE_NAME PACKAGE #endif #ifndef PACKAGE_VERSION -#define PACKAGE_VERSION VERSION +# define PACKAGE_VERSION VERSION #endif - #endif - /* -eof- */