security/nss/lib/dbm/include/ncompat.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*-
     2  * Copyright (c) 1991, 1993
     3  *	The Regents of the University of California.  All rights reserved.
     4  *
     5  * Redistribution and use in source and binary forms, with or without
     6  * modification, are permitted provided that the following conditions
     7  * are met:
     8  * 1. Redistributions of source code must retain the above copyright
     9  *    notice, this list of conditions and the following disclaimer.
    10  * 2. Redistributions in binary form must reproduce the above copyright
    11  *    notice, this list of conditions and the following disclaimer in the
    12  *    documentation and/or other materials provided with the distribution.
    13  * 3. ***REMOVED*** - see 
    14  *    ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
    15  * 4. Neither the name of the University nor the names of its contributors
    16  *    may be used to endorse or promote products derived from this software
    17  *    without specific prior written permission.
    18  *
    19  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    22  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    29  * SUCH DAMAGE.
    30  *
    31  *	@(#)compat.h	8.13 (Berkeley) 2/21/94
    32  */
    34 #ifndef	_COMPAT_H_
    35 #define	_COMPAT_H_
    37 #include <sys/types.h>
    39 /*
    40  * If your system doesn't typedef u_long, u_short, or u_char, change
    41  * the 0 to a 1.
    42  */
    43 #if 0
    44 typedef unsigned char	u_char;		/* 4.[34]BSD names. */
    45 typedef unsigned int	u_int;
    46 typedef unsigned long	u_long;
    47 typedef unsigned short	u_short;
    48 #endif
    50 /* If your system doesn't typedef size_t, change the 0 to a 1. */
    51 #if 0
    52 typedef unsigned int	size_t;		/* POSIX, 4.[34]BSD names. */
    53 #endif
    55 /* If your system doesn't typedef ssize_t, change the 0 to a 1. */
    56 #if 0
    57 typedef	int		ssize_t;	/* POSIX names. */
    58 #endif
    60 /*
    61  * If your system doesn't have the POSIX type for a signal mask,
    62  * change the 0 to a 1.
    63  */
    64 #if 0					/* POSIX 1003.1 signal mask type. */
    65 typedef unsigned int	sigset_t;
    66 #endif
    68 /*
    69  * If your system's vsprintf returns a char *, not an int,
    70  * change the 0 to a 1.
    71  */
    72 #if defined (__sun) && !defined(__SVR4) /* SUNOS */
    73 #define	VSPRINTF_CHARSTAR
    74 #endif
    75 /*
    76  * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
    77  * temporary file creation is intended to block all of the possible signals
    78  * long enough to create the file and unlink it.  All of this stuff is
    79  * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
    80  */
    81 #ifdef	NO_POSIX_SIGNALS
    82 #define	sigemptyset(set)	(*(set) = 0)
    83 #define	sigfillset(set)		(*(set) = ~(sigset_t)0, 0)
    84 #define	sigaddset(set,signo)	(*(set) |= sigmask(signo), 0)
    85 #define	sigdelset(set,signo)	(*(set) &= ~sigmask(signo), 0)
    86 #define	sigismember(set,signo)	((*(set) & sigmask(signo)) != 0)
    88 #define	SIG_BLOCK	1
    89 #define	SIG_UNBLOCK	2
    90 #define	SIG_SETMASK	3
    92 static int __sigtemp;		/* For the use of sigprocmask */
    94 /* Repeated test of oset != NULL is to avoid "*0". */
    95 #define	sigprocmask(how, set, oset)					\
    96 	((__sigtemp =							\
    97 	(((how) == SIG_BLOCK) ?						\
    98 		sigblock(0) | *(set) :					\
    99 	(((how) == SIG_UNBLOCK) ?					\
   100 		sigblock(0) & ~(*(set)) :				\
   101 	((how) == SIG_SETMASK ?						\
   102 		*(set) : sigblock(0))))),				\
   103 	((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :	\
   104 		sigsetmask(__sigtemp)), 0)
   105 #endif
   107 /*
   108  * If your system doesn't have an include file with the appropriate
   109  * byte order set, make sure you specify the correct one.
   110  */
   111 #ifndef BYTE_ORDER
   112 #define	LITTLE_ENDIAN	1234		/* LSB first: i386, vax */
   113 #define	BIG_ENDIAN	4321		/* MSB first: 68000, ibm, net */
   114 #define	BYTE_ORDER	BIG_ENDIAN	/* Set for your system. */
   115 #endif
   117 #if defined(SYSV) || defined(SYSTEM5) || defined(__sun)
   118 #define	index(a, b)		strchr(a, b)
   119 #define	rindex(a, b)		strrchr(a, b)
   120 #define	bzero(a, b)		memset(a, 0, b)
   121 #define	bcmp(a, b, n)		memcmp(a, b, n)
   122 #define	bcopy(a, b, n)		memmove(b, a, n)
   123 #endif
   125 #if defined(BSD) || defined(BSD4_3)
   126 #define	strchr(a, b)		index(a, b)
   127 #define	strrchr(a, b)		rindex(a, b)
   128 #define	memcmp(a, b, n)		bcmp(a, b, n)
   129 #define	memmove(a, b, n)	bcopy(b, a, n)
   130 #endif
   132 /*
   133  * 32-bit machine.  The db routines are theoretically independent of
   134  * the size of u_shorts and u_longs, but I don't know that anyone has
   135  * ever actually tried it.  At a minimum, change the following #define's
   136  * if you are trying to compile on a different type of system.
   137  */
   138 #ifndef USHRT_MAX
   139 #define	USHRT_MAX		0xFFFF
   140 #define	ULONG_MAX		0xFFFFFFFF
   141 #endif
   143 #ifndef O_ACCMODE			/* POSIX 1003.1 access mode mask. */
   144 #define	O_ACCMODE	(O_RDONLY|O_WRONLY|O_RDWR)
   145 #endif
   147 #ifndef	_POSIX2_RE_DUP_MAX		/* POSIX 1003.2 RE limit. */
   148 #define	_POSIX2_RE_DUP_MAX	255
   149 #endif
   151 /*
   152  * If you can't provide lock values in the open(2) call.  Note, this
   153  * allows races to happen.
   154  */
   155 #ifndef O_EXLOCK			/* 4.4BSD extension. */
   156 #define	O_EXLOCK	0
   157 #endif
   159 #ifndef O_SHLOCK			/* 4.4BSD extension. */
   160 #define	O_SHLOCK	0
   161 #endif
   163 #ifndef EFTYPE
   164 #define	EFTYPE		EINVAL		/* POSIX 1003.1 format errno. */
   165 #endif
   167 #ifndef	WCOREDUMP			/* 4.4BSD extension */
   168 #define	WCOREDUMP(a)	0
   169 #endif
   171 #ifndef	STDERR_FILENO
   172 #define	STDIN_FILENO	0		/* ANSI C #defines */
   173 #define	STDOUT_FILENO	1
   174 #define	STDERR_FILENO	2
   175 #endif
   177 #ifndef SEEK_END
   178 #define	SEEK_SET	0		/* POSIX 1003.1 seek values */
   179 #define	SEEK_CUR	1
   180 #define	SEEK_END	2
   181 #endif
   183 #ifndef _POSIX_VDISABLE			/* POSIX 1003.1 disabling char. */
   184 #define	_POSIX_VDISABLE	0		/* Some systems used 0. */
   185 #endif
   187 #ifndef	TCSASOFT			/* 4.4BSD extension. */
   188 #define	TCSASOFT	0
   189 #endif
   191 #ifndef _POSIX2_RE_DUP_MAX		/* POSIX 1003.2 values. */
   192 #define	_POSIX2_RE_DUP_MAX	255
   193 #endif
   195 #ifndef NULL				/* ANSI C #defines NULL everywhere. */
   196 #define	NULL		0
   197 #endif
   199 #ifndef	MAX				/* Usually found in <sys/param.h>. */
   200 #define	MAX(_a,_b)	((_a)<(_b)?(_b):(_a))
   201 #endif
   202 #ifndef	MIN				/* Usually found in <sys/param.h>. */
   203 #define	MIN(_a,_b)	((_a)<(_b)?(_a):(_b))
   204 #endif
   206 /* Default file permissions. */
   207 #ifndef DEFFILEMODE			/* 4.4BSD extension. */
   208 #define	DEFFILEMODE	(S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
   209 #endif
   211 #ifndef __sun
   212 #ifndef S_ISDIR				/* POSIX 1003.1 file type tests. */
   213 #define	S_ISDIR(m)	((m & 0170000) == 0040000)	/* directory */
   214 #define	S_ISCHR(m)	((m & 0170000) == 0020000)	/* char special */
   215 #define	S_ISBLK(m)	((m & 0170000) == 0060000)	/* block special */
   216 #define	S_ISREG(m)	((m & 0170000) == 0100000)	/* regular file */
   217 #define	S_ISFIFO(m)	((m & 0170000) == 0010000)	/* fifo */
   218 #endif
   219 #ifndef S_ISLNK				/* BSD POSIX 1003.1 extensions */
   220 #define	S_ISLNK(m)	((m & 0170000) == 0120000)	/* symbolic link */
   221 #define	S_ISSOCK(m)	((m & 0170000) == 0140000)	/* socket */
   222 #endif
   223 #endif /* __sun */
   225 /* The type of a va_list. */
   226 #ifndef _BSD_VA_LIST_			/* 4.4BSD #define. */
   227 #define	_BSD_VA_LIST_	char *
   228 #endif
   230 #endif /* !_COMPAT_H_ */

mercurial