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.1 (Berkeley) 06/02/93 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 #define EXIT_FAILURE 1 39 #define EXIT_SUCCESS 0 40 41 #define RAND_MAX 0x7fffffff 42 43 extern int __mb_cur_max; 44 #define MB_CUR_MAX __mb_cur_max 45 46 #include <sys/cdefs.h> 47 48 __BEGIN_DECLS 49 __dead void 50 abort __P((void)); 51 __pure int 52 abs __P((int)); 53 int atexit __P((void (*)(void))); 54 double atof __P((const char *)); 55 int atoi __P((const char *)); 56 long atol __P((const char *)); 57 void *bsearch __P((const void *, const void *, size_t, 58 size_t, int (*)(const void *, const void *))); 59 void *calloc __P((size_t, size_t)); 60 __pure div_t 61 div __P((int, int)); 62 __dead void 63 exit __P((int)); 64 void free __P((void *)); 65 char *getenv __P((const char *)); 66 __pure long 67 labs __P((long)); 68 __pure ldiv_t 69 ldiv __P((long, long)); 70 void *malloc __P((size_t)); 71 void qsort __P((void *, size_t, size_t, 72 int (*)(const void *, const void *))); 73 int rand __P((void)); 74 void *realloc __P((void *, size_t)); 75 void srand __P((unsigned)); 76 double strtod __P((const char *, char **)); 77 long strtol __P((const char *, char **, int)); 78 unsigned long 79 strtoul __P((const char *, char **, int)); 80 int system __P((const char *)); 81 82 /* These are currently just stubs. */ 83 int mblen __P((const char *, size_t)); 84 size_t mbstowcs __P((wchar_t *, const char *, size_t)); 85 int wctomb __P((char *, wchar_t)); 86 int mbtowc __P((wchar_t *, const char *, size_t)); 87 size_t wcstombs __P((char *, const wchar_t *, size_t)); 88 89 #ifndef _ANSI_SOURCE 90 int putenv __P((const char *)); 91 int setenv __P((const char *, const char *, int)); 92 #endif 93 94 #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) 95 void *alloca __P((size_t)); /* built-in for gcc */ 96 /* getcap(3) functions */ 97 char *getbsize __P((int *, long *)); 98 char *cgetcap __P((char *, char *, int)); 99 int cgetclose __P((void)); 100 int cgetent __P((char **, char **, char *)); 101 int cgetfirst __P((char **, char **)); 102 int cgetmatch __P((char *, char *)); 103 int cgetnext __P((char **, char **)); 104 int cgetnum __P((char *, char *, long *)); 105 int cgetset __P((char *)); 106 int cgetstr __P((char *, char *, char **)); 107 int cgetustr __P((char *, char *, char **)); 108 109 int daemon __P((int, int)); 110 char *devname __P((int, int)); 111 int getloadavg __P((double [], int)); 112 113 extern char *optarg; /* getopt(3) external variables */ 114 extern int opterr, optind, optopt; 115 int getopt __P((int, char * const *, const char *)); 116 117 extern char *suboptarg; /* getsubopt(3) external variable */ 118 int getsubopt __P((char **, char * const *, char **)); 119 120 char *group_from_gid __P((unsigned long, int)); 121 int heapsort __P((void *, size_t, size_t, 122 int (*)(const void *, const void *))); 123 char *initstate __P((unsigned, char *, int)); 124 int mergesort __P((void *, size_t, size_t, 125 int (*)(const void *, const void *))); 126 int radixsort __P((const unsigned char **, int, const unsigned char *, 127 unsigned)); 128 int sradixsort __P((const unsigned char **, int, const unsigned char *, 129 unsigned)); 130 long random __P((void)); 131 char *setstate __P((char *)); 132 void srandom __P((unsigned)); 133 char *user_from_uid __P((unsigned long, int)); 134 #ifndef __STRICT_ANSI__ 135 long long 136 strtoq __P((const char *, char **, int)); 137 unsigned long long 138 strtouq __P((const char *, char **, int)); 139 #endif 140 void unsetenv __P((const char *)); 141 #endif 142 __END_DECLS 143 144 #endif /* _STDLIB_H_ */ 145