1 /*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)stdlib.h 8.5 (Berkeley) 05/19/95 8 */ 9 10 #ifndef _STDLIB_H_ 11 #define _STDLIB_H_ 12 13 #include <machine/ansi.h> 14 15 #ifdef _BSD_SIZE_T_ 16 typedef _BSD_SIZE_T_ size_t; 17 #undef _BSD_SIZE_T_ 18 #endif 19 20 #ifdef _BSD_WCHAR_T_ 21 #ifndef _ANSI_SOURCE 22 typedef _BSD_WCHAR_T_ rune_t; 23 #endif 24 typedef _BSD_WCHAR_T_ wchar_t; 25 #undef _BSD_WCHAR_T_ 26 #endif 27 28 typedef struct { 29 int quot; /* quotient */ 30 int rem; /* remainder */ 31 } div_t; 32 33 typedef struct { 34 long quot; /* quotient */ 35 long rem; /* remainder */ 36 } ldiv_t; 37 38 #ifndef NULL 39 #define NULL 0 40 #endif 41 42 #define EXIT_FAILURE 1 43 #define EXIT_SUCCESS 0 44 45 #define RAND_MAX 0x7fffffff 46 47 extern int __mb_cur_max; 48 #define MB_CUR_MAX __mb_cur_max 49 50 #include <sys/cdefs.h> 51 52 __BEGIN_DECLS 53 __dead void 54 abort __P((void)); 55 __pure int 56 abs __P((int)); 57 int atexit __P((void (*)(void))); 58 double atof __P((const char *)); 59 int atoi __P((const char *)); 60 long atol __P((const char *)); 61 void *bsearch __P((const void *, const void *, size_t, 62 size_t, int (*)(const void *, const void *))); 63 void *calloc __P((size_t, size_t)); 64 __pure div_t 65 div __P((int, int)); 66 __dead void 67 exit __P((int)); 68 void free __P((void *)); 69 char *getenv __P((const char *)); 70 __pure long 71 labs __P((long)); 72 __pure ldiv_t 73 ldiv __P((long, long)); 74 void *malloc __P((size_t)); 75 void qsort __P((void *, size_t, size_t, 76 int (*)(const void *, const void *))); 77 int rand __P((void)); 78 void *realloc __P((void *, size_t)); 79 void srand __P((unsigned)); 80 double strtod __P((const char *, char **)); 81 long strtol __P((const char *, char **, int)); 82 unsigned long 83 strtoul __P((const char *, char **, int)); 84 int system __P((const char *)); 85 86 /* These are currently just stubs. */ 87 int mblen __P((const char *, size_t)); 88 size_t mbstowcs __P((wchar_t *, const char *, size_t)); 89 int wctomb __P((char *, wchar_t)); 90 int mbtowc __P((wchar_t *, const char *, size_t)); 91 size_t wcstombs __P((char *, const wchar_t *, size_t)); 92 93 #ifndef _ANSI_SOURCE 94 int putenv __P((const char *)); 95 int setenv __P((const char *, const char *, int)); 96 #endif 97 98 #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 99 void *alloca __P((size_t)); /* built-in for gcc */ 100 /* getcap(3) functions */ 101 char *getbsize __P((int *, long *)); 102 char *cgetcap __P((char *, char *, int)); 103 int cgetclose __P((void)); 104 int cgetent __P((char **, char **, char *)); 105 int cgetfirst __P((char **, char **)); 106 int cgetmatch __P((char *, char *)); 107 int cgetnext __P((char **, char **)); 108 int cgetnum __P((char *, char *, long *)); 109 int cgetset __P((char *)); 110 int cgetstr __P((char *, char *, char **)); 111 int cgetustr __P((char *, char *, char **)); 112 113 int daemon __P((int, int)); 114 char *devname __P((int, int)); 115 int getloadavg __P((double [], int)); 116 117 char *group_from_gid __P((unsigned long, int)); 118 int heapsort __P((void *, size_t, size_t, 119 int (*)(const void *, const void *))); 120 char *initstate __P((unsigned long, char *, long)); 121 int mergesort __P((void *, size_t, size_t, 122 int (*)(const void *, const void *))); 123 int radixsort __P((const unsigned char **, int, const unsigned char *, 124 unsigned)); 125 int sradixsort __P((const unsigned char **, int, const unsigned char *, 126 unsigned)); 127 long random __P((void)); 128 char *realpath __P((const char *, char resolved_path[])); 129 char *setstate __P((char *)); 130 void srandom __P((unsigned long)); 131 char *user_from_uid __P((unsigned long, int)); 132 #ifndef __STRICT_ANSI__ 133 long long 134 strtoq __P((const char *, char **, int)); 135 unsigned long long 136 strtouq __P((const char *, char **, int)); 137 #endif 138 void unsetenv __P((const char *)); 139 #endif 140 __END_DECLS 141 142 #endif /* _STDLIB_H_ */ 143