usr/src/head/stdlib.h
author casper
Thu, 23 Feb 2006 04:39:12 -0800
changeset 1475 0c7070c5774f
parent 0 68f95e015346
child 1695 830625bc1d6f
permissions -rw-r--r--
PSARC/2006/107 mkstemps(3C)/mkdtemp(3C) 6386057 Add mkdtemp(3C)/mkstemps(3C)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
 * CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
     5
 * Common Development and Distribution License (the "License").
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
     6
 * You may not use this file except in compliance with the License.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     7
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
 * or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
 * See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
 * and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
 * When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
 * If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
 * fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
 * information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
 * CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    21
/*
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
    22
 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    23
 * Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
/*	Copyright (c) 1988 AT&T	*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
/*	  All Rights Reserved  	*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
#ifndef _STDLIB_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
#define	_STDLIB_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
#pragma ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.22	*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
#include <iso/stdlib_iso.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
#include <iso/stdlib_c99.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
#if defined(__EXTENSIONS__) || defined(_XPG4)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
#include <sys/wait.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
 * Allow global visibility for symbols defined in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
 * C++ "std" namespace in <iso/stdlib_iso.h>.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
#if __cplusplus >= 199711L
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
using std::div_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
using std::ldiv_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
using std::size_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
using std::abort;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
using std::abs;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
using std::atexit;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
using std::atof;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
using std::atoi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
using std::atol;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
using std::bsearch;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
using std::calloc;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
using std::div;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
using std::exit;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
using std::free;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
using std::getenv;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
using std::labs;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
using std::ldiv;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
using std::malloc;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
using std::mblen;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
using std::mbstowcs;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
using std::mbtowc;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
using std::qsort;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
using std::rand;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
using std::realloc;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
using std::srand;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
using std::strtod;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
using std::strtol;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
using std::strtoul;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
using std::system;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
using std::wcstombs;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
using std::wctomb;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
#ifdef	__cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
extern "C" {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
#ifndef _UID_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
#define	_UID_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
#if defined(_LP64) || defined(_I32LPx)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
typedef	int	uid_t;			/* UID type		*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
#else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
typedef long	uid_t;			/* (historical version) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
#endif	/* !_UID_T */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
#if defined(__STDC__)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
/* large file compilation environment setup */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
#if !defined(_LP64) && _FILE_OFFSET_BITS == 64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
#ifdef	__PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
#pragma redefine_extname	mkstemp		mkstemp64
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   100
#pragma redefine_extname	mkstemps	mkstemps64
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
#else	/* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
#define	mkstemp			mkstemp64
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   103
#define	mkstemps		mkstemps64
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
#endif	/* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
#endif	/* _FILE_OFFSET_BITS == 64 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
/* In the LP64 compilation environment, all APIs are already large file */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
#if defined(_LP64) && defined(_LARGEFILE64_SOURCE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
#ifdef	__PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
#pragma redefine_extname	mkstemp64	mkstemp
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   113
#pragma redefine_extname	mkstemps64	mkstemps
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
#else	/* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
#define	mkstemp64		mkstemp
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   116
#define	mkstemps64		mkstemps
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
#endif	/* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
#endif	/* _LP64 && _LARGEFILE64_SOURCE */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
	(_POSIX_C_SOURCE - 0 >= 199506L) || defined(_REENTRANT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
extern int rand_r(unsigned int *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
extern void _exithandle(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
	(!defined(_STRICT_STDC) && !defined(_POSIX_C_SOURCE)) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
	defined(_XPG4)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
extern double drand48(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
extern double erand48(unsigned short *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
extern long jrand48(unsigned short *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
extern void lcong48(unsigned short *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
extern long lrand48(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
extern long mrand48(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
extern long nrand48(unsigned short *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
extern unsigned short *seed48(unsigned short *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
extern void srand48(long);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
extern int putenv(char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
extern void setkey(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   144
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   145
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   146
 * swab() has historically been in <stdlib.h> as delivered from AT&T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   147
 * and continues to be visible in the default compilation environment.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   148
 * As of Issue 4 of the X/Open Portability Guides, swab() was declared
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   149
 * in <unistd.h>. As a result, with respect to X/Open namespace the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
 * swab() declaration in this header is only visible for the XPG3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
 * environment.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
#if (defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
	(!defined(_STRICT_STDC__) && !defined(_POSIX_C_SOURCE))) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
	(!defined(_XOPEN_SOURCE) || (defined(_XPG3) && !defined(_XPG4)))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
#ifndef	_SSIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
#define	_SSIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
#if defined(_LP64) || defined(_I32LPx)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
typedef long	ssize_t;	/* size of something in bytes or -1 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
#else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
typedef int	ssize_t;	/* (historical version) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
#endif	/* !_SSIZE_T */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
extern void swab(const char *, char *, ssize_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
	!defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   170
	(defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
extern int	mkstemp(char *);
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   172
extern int	mkstemps(char *, int);
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
#endif /* defined(__EXTENSIONS__) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
#if	defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
	    !defined(__PRAGMA_REDEFINE_EXTNAME))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   177
extern int	mkstemp64(char *);
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   178
extern int	mkstemps64(char *, int);
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
#endif	/* _LARGEFILE64_SOURCE... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   182
	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   183
	defined(_XPG4_2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
extern long a64l(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   185
extern char *ecvt(double, int, int *_RESTRICT_KYWD, int *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
extern char *fcvt(double, int, int *_RESTRICT_KYWD, int *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
extern char *gcvt(double, int, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
extern int getsubopt(char **, char *const *, char **);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
extern int  grantpt(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
extern char *initstate(unsigned, char *, size_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
extern char *l64a(long);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
extern char *mktemp(char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
extern char *ptsname(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
extern long random(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
extern char *realpath(const char *_RESTRICT_KYWD, char *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
extern char *setstate(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
extern void srandom(unsigned);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
extern int  unlockpt(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
/* Marked LEGACY in SUSv2 and removed in SUSv3 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
#if !defined(_XPG6) || defined(__EXTENSIONS__)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
extern int ttyslot(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
extern void *valloc(size_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
#endif /* defined(__EXTENSIONS__) || ... || defined(_XPG4_2) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
	defined(_XPG6)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
extern int posix_openpt(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
extern int setenv(const char *, const char *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
extern int unsetenv(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   213
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
extern void closefrom(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
extern int dup2(int, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
extern int fdwalk(int (*)(void *, int), void *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
extern char *qecvt(long double, int, int *, int *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
extern char *qfcvt(long double, int, int *, int *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
extern char *qgcvt(long double, int, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
extern char *getcwd(char *, size_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
extern const char *getexecname(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
extern char *getlogin(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
extern int getopt(int, char *const *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
extern char *optarg;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
extern int optind, opterr, optopt;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
extern char *getpass(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
extern char *getpassphrase(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
extern int getpw(uid_t, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
extern int isatty(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
extern void *memalign(size_t, size_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
extern char *ttyname(int);
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   234
extern char *mkdtemp(char *);
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
#if !defined(_STRICT_STDC) && defined(_LONGLONG_TYPE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
extern char *lltostr(long long, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
extern char *ulltostr(unsigned long long, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
#endif	/* !defined(_STRICT_STDC) && defined(_LONGLONG_TYPE) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
#else /* not __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   244
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   245
#if defined(__EXTENSIONS__) || !defined(_XOPEN_OR_POSIX) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   246
	(_POSIX_C_SOURCE - 0 >= 199506L) || defined(_REENTRANT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   247
extern int rand_r();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   248
#endif	/* defined(__EXTENSIONS__) || defined(_REENTRANT) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   249
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   250
extern void _exithandle();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   251
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   252
#if defined(__EXTENSIONS__) || !defined(_POSIX_C_SOURCE) || defined(_XPG4)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   253
extern double drand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
extern double erand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
extern long jrand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
extern void lcong48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
extern long lrand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
extern long mrand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
extern long nrand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   260
extern unsigned short *seed48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   261
extern void srand48();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   262
extern int putenv();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   263
extern void setkey();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   264
#endif /* defined(__EXTENSIONS__) || !defined(_POSIX_C_SOURCE) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   265
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   266
#if (defined(__EXTENSIONS__) || !defined(_POSIX_C_SOURCE)) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   267
	(!defined(_XOPEN_SOURCE) || (defined(_XPG3) && !defined(_XPG4)))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   268
extern void swab();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   269
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   270
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   271
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   272
	!defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   273
	(defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   274
extern int	mkstemp();
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   275
extern int	mkstemps();
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
#endif	/* defined(__EXTENSIONS__) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
#if	defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
	    !defined(__PRAGMA_REDEFINE_EXTNAME))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
extern int	mkstemp64();
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   281
extern int	mkstemps64();
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
#endif	/* _LARGEFILE64_SOURCE... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
extern long a64l();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
extern char *ecvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   287
extern char *fcvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   288
extern char *gcvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   289
extern int getsubopt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   290
extern int grantpt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   291
extern char *initstate();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   292
extern char *l64a();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   293
extern char *mktemp();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   294
extern char *ptsname();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   295
extern long random();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   296
extern char *realpath();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   297
extern char *setstate();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   298
extern void srandom();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   299
/* Marked LEGACY in SUSv2 and removed in SUSv3 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   300
#if !defined(_XPG6) || defined(__EXTENSIONS__)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   301
extern int ttyslot();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   302
extern void *valloc();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   303
#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   304
#endif /* defined(__EXTENSIONS__) || ... || defined(_XPG4_2) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   305
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   306
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || defined(_XPG6)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   307
extern int posix_openpt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   308
extern int setenv();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   309
extern int unsetenv();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   310
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   311
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   312
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   313
extern void closefrom();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   314
extern int dup2();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   315
extern int fdwalk();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   316
extern char *qecvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   317
extern char *qfcvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   318
extern char *qgcvt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   319
extern char *getcwd();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   320
extern char *getexecname();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   321
extern char *getlogin();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   322
extern int getopt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   323
extern char *optarg;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   324
extern int optind, opterr, optopt;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   325
extern char *getpass();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   326
extern char *getpassphrase();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   327
extern int getpw();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   328
extern int isatty();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   329
extern void *memalign();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   330
extern char *ttyname();
1475
0c7070c5774f PSARC/2006/107 mkstemps(3C)/mkdtemp(3C)
casper
parents: 0
diff changeset
   331
extern char *mkdtemp();
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   332
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   333
#if defined(_LONGLONG_TYPE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   334
extern char *lltostr();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   335
extern char *ulltostr();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   336
#endif  /* defined(_LONGLONG_TYPE) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   337
#endif	/* defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   338
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   339
#endif	/* __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   340
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   341
#ifdef	__cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   342
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   343
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   344
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   345
#endif	/* _STDLIB_H */