overhaul rwlocks to address several issues
[musl] / include / stdlib.h
index 045756b..023f6e7 100644 (file)
@@ -69,7 +69,10 @@ int wctomb (char *, wchar_t);
 size_t mbstowcs (wchar_t *, const char *, size_t);
 size_t wcstombs (char *, const wchar_t *, size_t);
 
-#define MB_CUR_MAX 4
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+#define MB_CUR_MAX ((size_t)+4)
 
 #define RAND_MAX (0x7fffffff)
 
@@ -78,12 +81,16 @@ size_t wcstombs (char *, const wchar_t *, size_t);
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 
 #ifndef WEXITSTATUS
-#include <bits/wexitstatus.h>
+#define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
+#define WTERMSIG(s) ((s) & 0x7f)
+#define WSTOPSIG(s) WEXITSTATUS(s)
+#define WCOREDUMP(s) ((s) & 0x80)
+#define WIFEXITED(s) (!WTERMSIG(s))
+#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
+#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
+#define WIFCONTINUED(s) ((s) == 0xffff)
 #endif
 
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-
 int posix_memalign (void **, size_t, size_t);
 int setenv (const char *, const char *, int);
 int unsetenv (const char *);
@@ -124,6 +131,8 @@ void lcong48 (unsigned short [7]);
 char *mktemp (char *);
 void *valloc (size_t);
 void *memalign(size_t, size_t);
+int clearenv(void);
+int ptsname_r(int, char *, size_t);
 #endif