]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/portab/portab.h
Specify session context for OpenSSL clients
[ngircd-alex.git] / src / portab / portab.h
index d14805893ce100972772e311a370b617a971d2eb..78b6f7e126e66b870b7d9016e6b2a9d0575dd824 100644 (file)
@@ -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 <sys/types.h>
-#endif
-
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-# define NGIRC_GOT_INTTYPES
-#else
-# ifdef HAVE_STDINT_H
-#  include <stdint.h>
-#  define NGIRC_GOT_INTTYPES
-# endif
-#endif
-
-#ifdef HAVE_STDDEF_H
-# include <stddef.h>
-#endif
-
-#ifdef HAVE_STDBOOL_H
-# include <stdbool.h>
+#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
 # endif
 #endif
 
+/* datatypes */
 
-/* keywords */
-#define LOCAL static
+#include <sys/types.h>
 
-/* datatypes */
+#ifdef HAVE_STDDEF_H
+# include <stddef.h>
+#endif
+
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+# define NGIRC_GOT_INTTYPES
+#else
+# ifdef HAVE_STDINT_H
+#  include <stdint.h>
+#  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 <stdbool.h>
+#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 <stdarg.h>
 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- */