8 #include <klibc/extern.h>
9 #include <klibc/compiler.h>
14 #define EXIT_FAILURE 1
15 #define EXIT_SUCCESS 0
17 static __inline__ __noreturn _Exit(int __n) {
18 __extern __noreturn _exit(int);
20 for(;;); /* Some gcc versions are stupid */
22 __extern __noreturn abort(void);
23 static __inline__ int abs(int __n) {
24 return (__n < 0) ? -__n : __n;
26 __extern int system(const char * string);
27 __extern int atexit(void (*)(void));
28 __extern int on_exit(void (*)(int, void *), void *);
29 __extern int atoi(const char *);
30 __extern long atol(const char *);
31 __extern long long atoll(const char *);
32 __extern __noreturn exit(int);
33 static __inline__ long labs(long __n) {
34 return (__n < 0L) ? -__n : __n;
37 static __inline__ long long llabs(long long __n) {
38 return (__n < 0LL) ? -__n : __n;
41 __extern long strtol(const char *, char **, int);
42 __extern long long strtoll(const char *, char **, int);
43 __extern unsigned long strtoul(const char *, char **, int);
44 __extern unsigned long long strtoull(const char *, char **, int);
46 __extern char *getenv(const char *);
47 __extern int putenv(const char *);
48 __extern int setenv(const char *, const char *, int);
49 __extern int unsetenv(const char *);
51 __extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
54 __extern long jrand48(unsigned short *);
55 __extern long mrand48(void);
56 __extern long nrand48(unsigned short *);
57 __extern long lrand48(void);
58 __extern unsigned short *seed48(const unsigned short *);
59 __extern void srand48(long);
61 #define RAND_MAX 0x7fffffff
62 static __inline__ int rand(void) {
63 return (int)lrand48();
65 static __inline__ void srand(unsigned int __s) {
68 static __inline__ long random(void)
72 static __inline__ void srandom(unsigned int __s)
77 /* Basic PTY functions. These only work if devpts is mounted! */
79 __extern int unlockpt(int);
80 __extern char *ptsname(int);
81 __extern int getpt(void);
83 static __inline__ int grantpt(int __fd)
86 return 0; /* devpts does this all for us! */
89 #endif /* _STDLIB_H */