]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Add old portable.h as bridge.h (temporary)
authorKurt Zeilenga <kurt@openldap.org>
Tue, 11 Aug 1998 19:56:19 +0000 (19:56 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 11 Aug 1998 19:56:19 +0000 (19:56 +0000)
include/bridge.h [new file with mode: 0644]

diff --git a/include/bridge.h b/include/bridge.h
new file mode 100644 (file)
index 0000000..69f3232
--- /dev/null
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 1994 Regents of the University of Michigan.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that this notice is preserved and that due credit is given
+ * to the University of Michigan at Ann Arbor. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission. This software
+ * is provided ``as is'' without express or implied warranty.
+ */
+
+#ifndef _PORTABLE_H
+#define _PORTABLE_H
+
+/*
+ * portable.h for LDAP -- this is where we define common stuff to make
+ * life easier on various Unix systems.
+ *
+ * Unless you are porting LDAP to a new platform, you should not need to
+ * edit this file.
+ */
+
+
+#ifndef SYSV
+#if defined( hpux ) || defined( sunos5 ) || defined ( sgi ) || defined( SVR4 )
+#define SYSV
+#endif
+#endif
+
+
+/*
+ * under System V, use sysconf() instead of getdtablesize
+ */
+#if !defined( USE_SYSCONF ) && defined( SYSV )
+#define USE_SYSCONF
+#endif
+
+
+/*
+ * under System V, daemons should use setsid() instead of detaching from their
+ * tty themselves
+ */
+#if !defined( USE_SETSID ) && defined( SYSV )
+#define USE_SETSID
+#endif
+
+
+/*
+ * System V has socket options in filio.h
+ */
+#if !defined( NEED_FILIO ) && defined( SYSV ) && !defined( hpux )
+#define NEED_FILIO
+#endif
+
+/*
+ * use lockf() under System V
+ */
+#if !defined( USE_LOCKF ) && ( defined( SYSV ) || defined( aix ))
+#define USE_LOCKF
+#endif
+
+/*
+ * on most systems, we should use waitpid() instead of waitN()
+ */
+#if !defined( USE_WAITPID ) && !defined( nextstep )
+#define USE_WAITPID
+#endif
+
+
+/*
+ * define the wait status argument type
+ */
+#if ( defined( SunOS ) && SunOS < 40 ) || defined( nextstep )
+#define WAITSTATUSTYPE union wait
+#else
+#define WAITSTATUSTYPE int
+#endif
+
+/*
+ * define the flags for wait
+ */
+#ifdef sunos5
+#define WAIT_FLAGS     ( WNOHANG | WUNTRACED | WCONTINUED )
+#else
+#define WAIT_FLAGS     ( WNOHANG | WUNTRACED )
+#endif
+
+
+/*
+ * defined the options for openlog (syslog)
+ */
+#ifdef ultrix
+#define OPENLOG_OPTIONS                LOG_PID
+#else
+#define OPENLOG_OPTIONS                ( LOG_PID | LOG_NOWAIT )
+#endif
+
+
+/*
+ * some systems don't have the BSD re_comp and re_exec routines
+ */
+#ifndef NEED_BSDREGEX
+#if defined( SYSV ) || defined( VMS ) || defined( netbsd ) || defined( freebsd ) || defined( linux )
+#define NEED_BSDREGEX
+#endif
+#endif
+
+/*
+ * many systems do not have the setpwfile() library routine... we just
+ * enable use for those systems we know have it.
+ */
+#ifndef HAVE_SETPWFILE
+#if defined( sunos4 ) || defined( ultrix ) || defined( __osf__ )
+#define HAVE_SETPWFILE
+#endif
+#endif
+
+/*
+ * Are sys_errlist and sys_nerr declared in stdio.h?
+ */
+#ifndef SYSERRLIST_IN_STDIO
+#if !defined( DECL_SYS_ERRLIST ) 
+#define SYSERRLIST_IN_STDIO
+#endif
+#endif
+
+/*
+ * for select()
+ */
+#if !defined(FD_SET) && !defined(WINSOCK)
+#define NFDBITS         32
+#define FD_SETSIZE      32
+#define FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
+#define FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
+#define FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
+#define FD_ZERO(p)      bzero((char *)(p), sizeof(*(p)))
+#endif /* FD_SET */
+
+#if defined( hpux ) && defined( __STDC__ )
+/*
+ * Under HP/UX, select seems to want (int *) instead of fd_set.  Non-ANSI
+ * compilers don't like recursive macros, so ignore the problem if __STDC__
+ * is not defined.
+ */
+#define select(a,b,c,d,e) select(a, (int *)b, (int *)c, (int *)d, e)
+#endif /* hpux && __STDC__ */
+
+
+/*
+ * for signal() -- what do signal handling functions return?
+ */
+#ifndef SIG_FN
+#ifdef sunos5
+#   define SIG_FN void          /* signal-catching functions return void */
+#else /* sunos5 */
+# ifdef BSD
+#  if (BSD >= 199006) || defined(NeXT) || defined(__osf__) || defined(sun) || defined(ultrix) || defined(apollo) || defined(POSIX_SIGNALS)
+#   define SIG_FN void          /* signal-catching functions return void */
+#  else
+#   define SIG_FN int           /* signal-catching functions return int */
+#  endif
+# else /* BSD */
+#  define SIG_FN void           /* signal-catching functions return void */
+# endif /* BSD */
+#endif /* sunos5 */
+#endif /* SIG_FN */
+
+/*
+ * call signal or sigset (signal does not block the signal while
+ * in the handler on sys v and sigset does not exist on bsd)
+ */
+#if defined(SYSV) && !defined(linux)
+#define SIGNAL sigset
+#else
+#define SIGNAL signal
+#endif
+
+/*
+ * toupper and tolower macros are different under bsd and sys v
+ */
+#if defined( SYSV ) && !defined( hpux )
+#define TOUPPER(c)     (isascii(c) && islower(c) ? _toupper(c) : c)
+#define TOLOWER(c)     (isascii(c) && isupper(c) ? _tolower(c) : c)
+#else
+#define TOUPPER(c)     (isascii(c) && islower(c) ? toupper(c) : c)
+#define TOLOWER(c)     (isascii(c) && isupper(c) ? tolower(c) : c)
+#endif
+
+/*
+ * put a cover on the tty-related ioctl calls we need to use
+ */
+#if defined( NeXT ) || (defined(SunOS) && SunOS < 40)
+#define TERMIO_TYPE struct sgttyb
+#define TERMFLAG_TYPE int
+#define GETATTR( fd, tiop )    ioctl((fd), TIOCGETP, (caddr_t)(tiop))
+#define SETATTR( fd, tiop )    ioctl((fd), TIOCSETP, (caddr_t)(tiop))
+#define GETFLAGS( tio )                (tio).sg_flags
+#define SETFLAGS( tio, flags ) (tio).sg_flags = (flags)
+#else
+#define USE_TERMIOS
+#define TERMIO_TYPE struct termios
+#define TERMFLAG_TYPE tcflag_t
+#define GETATTR( fd, tiop )    tcgetattr((fd), (tiop))
+#define SETATTR( fd, tiop )    tcsetattr((fd), TCSANOW /* 0 */, (tiop))
+#define GETFLAGS( tio )                (tio).c_lflag
+#define SETFLAGS( tio, flags ) (tio).c_lflag = (flags)
+#endif
+
+
+#if defined( ultrix ) || defined( nextstep )
+extern char *strdup();
+#endif /* ultrix || nextstep */
+
+#endif /* _PORTABLE_H */