diff --git a/include/bits/sys/select.h b/include/bits/sys/select.h deleted file mode 100644 index 843e1a0745..0000000000 --- a/include/bits/sys/select.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _BITS_SYS_SELECT_H -#define _BITS_SYS_SELECT_H - -// from musl license MIT { -#define FD_SETSIZE 1024 - -typedef unsigned long fd_mask; - -typedef struct { - unsigned long fds_bits[FD_SETSIZE / 8 / sizeof(long)]; -} fd_set; - -#define FD_ZERO(s) do { int __i; unsigned long *__b=(s)->fds_bits; for(__i=sizeof (fd_set)/sizeof (long); __i; __i--) *__b++=0; } while(0) -#define FD_SET(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] |= (1UL<<((d)%(8*sizeof(long))))) -#define FD_CLR(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long))))) -#define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long))))) - -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#define NFDBITS (8*(int)sizeof(long)) -#endif -// } from musl license MIT - -#endif diff --git a/src/header/sys_select/cbindgen.toml b/src/header/sys_select/cbindgen.toml index 61a50a0595..36bfa1fcab 100644 --- a/src/header/sys_select/cbindgen.toml +++ b/src/header/sys_select/cbindgen.toml @@ -1,4 +1,24 @@ -sys_includes = ["bits/sys/select.h", "time.h", "signal.h"] +sys_includes = ["time.h", "signal.h"] +after_includes = """ +// from musl license MIT { +#define FD_SETSIZE 1024 + +typedef unsigned long fd_mask; + +typedef struct { + unsigned long fds_bits[FD_SETSIZE / 8 / sizeof(long)]; +} fd_set; + +#define FD_ZERO(s) do { int __i; unsigned long *__b=(s)->fds_bits; for(__i=sizeof (fd_set)/sizeof (long); __i; __i--) *__b++=0; } while(0) +#define FD_SET(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] |= (1UL<<((d)%(8*sizeof(long))))) +#define FD_CLR(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long))))) +#define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long))))) + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define NFDBITS (8*(int)sizeof(long)) +#endif +// } from musl license MIT +""" include_guard = "_SYS_SELECT_H" language = "C" style = "Tag" @@ -9,5 +29,5 @@ cpp_compat = true prefix_with_name = true [export] -# fd_set is also defined in C because cbindgen is incompatible with mem::size_of booo +# fd_set is also defined in C (above) because cbindgen is incompatible with mem::size_of exclude = ["FD_SETSIZE", "fd_set"]