Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F104121071
D47859.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D47859.diff
View Options
diff --git a/include/dlfcn.h b/include/dlfcn.h
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -79,7 +79,12 @@
void *dli_fbase; /* Base address of shared object. */
const char *dli_sname; /* Name of nearest symbol. */
void *dli_saddr; /* Address of nearest symbol. */
-} Dl_info;
+} Dl_info
+#if __POSIX_VISIBLE >= 202405
+, Dl_info_t
+#endif
+;
+// XXX Do we need two separate ones?
/*-
* The actual type declared by this typedef is immaterial, provided that
@@ -119,9 +124,12 @@
void *dlopen(const char *, int);
void *dlsym(void * __restrict, const char * __restrict);
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
+int dladdr(const void * __restrict, Dl_info * __restrict);
+#endif
+
#if __BSD_VISIBLE
void *fdlopen(int, int);
-int dladdr(const void * __restrict, Dl_info * __restrict);
dlfunc_t dlfunc(void * __restrict, const char * __restrict);
int dlinfo(void * __restrict, int, void * __restrict);
void dllockinit(void *_context,
diff --git a/include/stdlib.h b/include/stdlib.h
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -157,7 +157,7 @@
/*
* If we're in a mode greater than C99, expose C11 functions.
*/
-#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
+#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L || __POSIX_VISIBLE >= 202405
void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)
__alloc_size(2);
int at_quick_exit(void (*)(void)) __noexcept;
@@ -236,6 +236,13 @@
int ptsname_r(int, char *, size_t);
#endif
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
+void qsort_r(void *, size_t, size_t,
+ int (*)(const void *, const void *, void *), void *);
+void *reallocarray(void *, size_t, size_t) __result_use_check
+ __alloc_size2(2, 3);
+#endif
+
#if __BSD_VISIBLE
extern const char *malloc_conf;
extern void (*malloc_message)(void *, const char *);
@@ -305,12 +312,8 @@
int mkostemp(char *, int);
int mkostemps(char *, int, int);
int mkostempsat(int, char *, int, int);
-void qsort_r(void *, size_t, size_t,
- int (*)(const void *, const void *, void *), void *);
int radixsort(const unsigned char **, int, const unsigned char *,
unsigned);
-void *reallocarray(void *, size_t, size_t) __result_use_check
- __alloc_size2(2, 3);
void *reallocf(void *, size_t) __result_use_check __alloc_size(2);
int rpmatch(const char *);
char *secure_getenv(const char *);
diff --git a/include/string.h b/include/string.h
--- a/include/string.h
+++ b/include/string.h
@@ -63,7 +63,7 @@
#endif
int memcmp(const void *, const void *, size_t) __pure;
void *(memcpy)(void * __restrict, const void * __restrict, size_t);
-#if __BSD_VISIBLE
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
void *memmem(const void *, size_t, const void *, size_t) __pure;
#endif
void *(memmove)(void *, const void *, size_t);
@@ -98,7 +98,7 @@
#if __POSIX_VISIBLE >= 200112
int strerror_r(int, char *, size_t);
#endif
-#if __BSD_VISIBLE
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
size_t (strlcat)(char * __restrict, const char * __restrict, size_t);
size_t (strlcpy)(char * __restrict, const char * __restrict, size_t);
#endif
diff --git a/include/time.h b/include/time.h
--- a/include/time.h
+++ b/include/time.h
@@ -181,14 +181,18 @@
#endif
#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2011 || \
+ __POSIX_VISIBLE >= 202405 \
(defined(__cplusplus) && __cplusplus >= 201703)
#include <sys/_timespec.h>
/* ISO/IEC 9899:2011 7.27.2.5 The timespec_get function */
#define TIME_UTC 1 /* time elapsed since epoch */
-int timespec_get(struct timespec *ts, int base);
-#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2023
+#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2023 || __POSIX_VISIBLE >= 202405
+// XXX Do we really need to hide this from C11 / C++17?
/* ISO/IEC 9899:2024 7.29.1 Components of time */
#define TIME_MONOTONIC 2 /* monotonic time */
+#endif
+int timespec_get(struct timespec *ts, int base);
+#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 2023
/* ISO/IEC 9899:2024 7.29.2.7 The timespec_getres function */
int timespec_getres(struct timespec *, int);
#endif
diff --git a/include/unistd.h b/include/unistd.h
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -483,6 +483,16 @@
pid_t vfork(void) __returns_twice;
#endif
+/* 1003.1-2024 */
+#if __POSIX_VISIBLE >= 202405 || __BSD_VISIBLE
+pid_t _Fork(void);
+int getentropy(void *, size_t);
+int getresgid(gid_t *, gid_t *, gid_t *);
+int getresuid(uid_t *, uid_t *, uid_t *);
+int setresgid(gid_t, gid_t, gid_t);
+int setresuid(uid_t, uid_t, uid_t);
+#endif
+
#if __BSD_VISIBLE
struct timeval; /* select(2) */
@@ -510,14 +520,11 @@
int fchroot(int);
char *fflagstostr(u_long);
int getdomainname(char *, int);
-int getentropy(void *, size_t);
int getgrouplist(const char *, gid_t, gid_t *, int *);
int getloginclass(char *, size_t);
mode_t getmode(const void *, mode_t);
int getosreldate(void);
int getpeereid(int, uid_t *, gid_t *);
-int getresgid(gid_t *, gid_t *, gid_t *);
-int getresuid(uid_t *, uid_t *, uid_t *);
char *getusershell(void);
int initgroups(const char *, gid_t);
int iruserok(unsigned long, int, const char *, const char *);
@@ -575,8 +582,6 @@
int setpgrp(pid_t, pid_t); /* obsoleted by setpgid() */
void setproctitle(const char *_fmt, ...) __printf0like(1, 2);
void setproctitle_fast(const char *_fmt, ...) __printf0like(1, 2);
-int setresgid(gid_t, gid_t, gid_t);
-int setresuid(uid_t, uid_t, uid_t);
int setrgid(gid_t);
int setruid(uid_t);
void setusershell(void);
@@ -589,7 +594,6 @@
int unwhiteout(const char *);
void *valloc(size_t); /* obsoleted by malloc() */
int funlinkat(int, const char *, int, int);
-pid_t _Fork(void);
#ifndef _OPTRESET_DECLARED
#define _OPTRESET_DECLARED
diff --git a/include/wchar.h b/include/wchar.h
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -235,12 +235,15 @@
size_t, mbstate_t * __restrict);
#endif
-#if __BSD_VISIBLE
-wchar_t *fgetwln(FILE * __restrict, size_t * __restrict);
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
size_t wcslcat(wchar_t *, const wchar_t *, size_t);
size_t wcslcpy(wchar_t *, const wchar_t *, size_t);
#endif
+#if __BSD_VISIBLE
+wchar_t *fgetwln(FILE * __restrict, size_t * __restrict);
+#endif
+
#if __POSIX_VISIBLE >= 200809 || defined(_XLOCALE_H_)
#include <xlocale/_wchar.h>
#endif
diff --git a/sys/sys/poll.h b/sys/sys/poll.h
--- a/sys/sys/poll.h
+++ b/sys/sys/poll.h
@@ -115,7 +115,7 @@
__BEGIN_DECLS
int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout);
-#if __BSD_VISIBLE
+#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405
int ppoll(struct pollfd _pfd[], nfds_t _nfds,
const struct timespec *__restrict _timeout,
const sigset_t *__restrict _newsigmask);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Dec 4, 7:47 PM (9 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15030518
Default Alt Text
D47859.diff (6 KB)
Attached To
Mode
D47859: Make new POSIX functions visible
Attached
Detach File
Event Timeline
Log In to Comment