Merge branch 'vendor/BMAKE'
[dragonfly.git] / include / stdlib.h
index be88f6d..59978bd 100644 (file)
@@ -32,7 +32,6 @@
  *
  *     @(#)stdlib.h    8.5 (Berkeley) 5/19/95
  * $FreeBSD: src/include/stdlib.h,v 1.67 2008/07/22 11:40:42 ache Exp $
- * $DragonFly: src/include/stdlib.h,v 1.22 2008/06/05 17:53:10 swildner Exp $
  */
 
 #ifndef _STDLIB_H_
 #include <sys/_null.h>
 #include <sys/types.h>
 
+#if __BSD_VISIBLE
+#ifndef _RUNE_T_DECLARED
+typedef        __rune_t        rune_t;
+#define        _RUNE_T_DECLARED
+#endif
+#endif
+
 #ifndef _SIZE_T_DECLARED
 typedef        __size_t        size_t;
 #define        _SIZE_T_DECLARED
@@ -69,10 +75,14 @@ typedef struct {
 
 #define        RAND_MAX        0x7fffffff
 
+__BEGIN_DECLS
+#ifdef _XLOCALE_H_
+#include <xlocale/_stdlib.h>
+#endif
 extern int __mb_cur_max;
-#define        MB_CUR_MAX      __mb_cur_max
+extern int ___mb_cur_max(void);
+#define        MB_CUR_MAX      (___mb_cur_max())
 
-__BEGIN_DECLS
 void    abort(void) __dead2;
 /* void         abort2(const char *, int, void **) __dead2; */
 #if !defined(_KERNEL_VIRTUAL)
@@ -208,7 +218,7 @@ int  posix_openpt(int);
 char   *ptsname(int);
 int     putenv(char *);
 long    random(void);
-char   *realpath(const char *, char resolved_path[]);
+char   *realpath(const char * __restrict, char * __restrict);
 unsigned short
        *seed48(unsigned short[3]);
 int     setkey(const char *);
@@ -266,7 +276,7 @@ char        *devname_r(dev_t, mode_t, char *, size_t);
 char   *fdevname(int);
 int     fdevname_r(int, char *, size_t);
 int     getloadavg(double [], int);
-__const char *
+const char *
         getprogname(void);
 
 int     heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
@@ -286,13 +296,6 @@ void        srandomdev(void);
 long long
         strtonum(const char *, long long, long long, const char **);
 
-/*
- * C11 functions.
- */
-int    at_quick_exit(void (*func)(void));
-void   quick_exit(int);
-void   *aligned_alloc(size_t, size_t);
-
 /* Deprecated interfaces. */
 #if !defined(_KERNEL_VIRTUAL)
 __int64_t
@@ -303,6 +306,17 @@ __uint64_t
 
 extern char *suboptarg;                        /* getsubopt(3) external variable */
 #endif /* __BSD_VISIBLE */
+
+/*
+ * C11 functions.
+ */
+#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L || __BSD_VISIBLE
+int    at_quick_exit(void (*func)(void));
+_Noreturn void
+       quick_exit(int);
+void   *aligned_alloc(size_t, size_t);
+#endif /* __ISO_C_VISIBLE >= 2011 */
+
 __END_DECLS
 
 #endif /* !_STDLIB_H_ */