mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-05-13 00:04:37 +08:00
sys/bitset.h: reduce visibility of BIT_* macros
Add two underscore characters "__" to names of BIT_* and BITSET_* macros to move them to the implementation name space and to prevent a name space pollution due to BIT_* macros in 3rd party programs with conflicting parameter signatures. These prefixed macro names are used in kernel header files to define macros in e.g. sched.h, sys/cpuset.h and sys/domainset.h. If C programs are built with either -D_KERNEL (automatically passed when building a kernel or kernel modules) or -D_WANT_FREENBSD_BITSET (or this macros is defined in the source code before including the bitset macros), then all macros are made visible with their previous names, too. E.g., both __BIT_SET() and BIT_SET() are visible with either of _KERNEL or _WANT_FREEBSD_BITSET defined. The main reason for this change is that some 3rd party sources including sched.h have been found to contain conflicting BIT_* macros. As a work-around, parts of shed.h have been made conditional and depend on _WITH_CPU_SET_T being set when sched.h is included. Ports that expect the full functionality provided by sched.h need to be built with -D_WITH_CPU_SET_T. But this leads to conflicts if BIT_* macros are defined in that program, too. This patch set makes all of sched.h visible again without this parameter being passed and without any name space pollution due to BIT_* macros becoming visible when sched.h is included. This patch set will be backported to the STABLE branches, but ports will need to use -D_WITH_CPU_SET_T as long as there are supported releases that do not contain these patches. Reviewed by: kib, markj MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D33235
This commit is contained in:
parent
9794487b1f
commit
31808093e1
@ -31,6 +31,7 @@
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#define PFIOC_USE_LATEST
|
||||
#define _WANT_FREEBSD_BITSET
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/bitset.h>
|
||||
|
@ -178,7 +178,7 @@ struct node_queue_opt {
|
||||
};
|
||||
|
||||
#define QPRI_BITSET_SIZE 256
|
||||
BITSET_DEFINE(qpri_bitset, QPRI_BITSET_SIZE);
|
||||
__BITSET_DEFINE(qpri_bitset, QPRI_BITSET_SIZE);
|
||||
LIST_HEAD(gen_sc, segment);
|
||||
|
||||
struct pfctl_altq {
|
||||
|
@ -43,7 +43,7 @@
|
||||
#define DOMAINSET_SETSIZE DOMAINSET_MAXSIZE
|
||||
#endif
|
||||
|
||||
BITSET_DEFINE(_domainset, DOMAINSET_SETSIZE);
|
||||
__BITSET_DEFINE(_domainset, DOMAINSET_SETSIZE);
|
||||
typedef struct _domainset domainset_t;
|
||||
|
||||
/*
|
||||
|
@ -44,34 +44,34 @@
|
||||
sizeof(__XSTRING(MAXMEMDOM)))
|
||||
|
||||
|
||||
#define DOMAINSET_CLR(n, p) BIT_CLR(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_COPY(f, t) BIT_COPY(DOMAINSET_SETSIZE, f, t)
|
||||
#define DOMAINSET_ISSET(n, p) BIT_ISSET(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_SET(n, p) BIT_SET(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_ZERO(p) BIT_ZERO(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FILL(p) BIT_FILL(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_SETOF(n, p) BIT_SETOF(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_EMPTY(p) BIT_EMPTY(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_ISFULLSET(p) BIT_ISFULLSET(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_SUBSET(p, c) BIT_SUBSET(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_OVERLAP(p, c) BIT_OVERLAP(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_CMP(p, c) BIT_CMP(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_OR(d, s) BIT_OR(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_AND(d, s) BIT_AND(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_NAND(d, s) BIT_NAND(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_CLR_ATOMIC(n, p) BIT_CLR_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_SET_ATOMIC(n, p) BIT_SET_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_CLR(n, p) __BIT_CLR(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_COPY(f, t) __BIT_COPY(DOMAINSET_SETSIZE, f, t)
|
||||
#define DOMAINSET_ISSET(n, p) __BIT_ISSET(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_SET(n, p) __BIT_SET(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_ZERO(p) __BIT_ZERO(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FILL(p) __BIT_FILL(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_SETOF(n, p) __BIT_SETOF(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_EMPTY(p) __BIT_EMPTY(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_ISFULLSET(p) __BIT_ISFULLSET(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_SUBSET(p, c) __BIT_SUBSET(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_OVERLAP(p, c) __BIT_OVERLAP(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_CMP(p, c) __BIT_CMP(DOMAINSET_SETSIZE, p, c)
|
||||
#define DOMAINSET_OR(d, s) __BIT_OR(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_AND(d, s) __BIT_AND(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_NAND(d, s) __BIT_NAND(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_CLR_ATOMIC(n, p) __BIT_CLR_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_SET_ATOMIC(n, p) __BIT_SET_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_SET_ATOMIC_ACQ(n, p) \
|
||||
BIT_SET_ATOMIC_ACQ(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_AND_ATOMIC(n, p) BIT_AND_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_OR_ATOMIC(d, s) BIT_OR_ATOMIC(DOMAINSET_SETSIZE, d, s)
|
||||
__BIT_SET_ATOMIC_ACQ(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_AND_ATOMIC(n, p) __BIT_AND_ATOMIC(DOMAINSET_SETSIZE, n, p)
|
||||
#define DOMAINSET_OR_ATOMIC(d, s) __BIT_OR_ATOMIC(DOMAINSET_SETSIZE, d, s)
|
||||
#define DOMAINSET_COPY_STORE_REL(f, t) \
|
||||
BIT_COPY_STORE_REL(DOMAINSET_SETSIZE, f, t)
|
||||
#define DOMAINSET_FFS(p) BIT_FFS(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FLS(p) BIT_FLS(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_COUNT(p) BIT_COUNT(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FSET BITSET_FSET(_NDOMAINSETWORDS)
|
||||
#define DOMAINSET_T_INITIALIZER BITSET_T_INITIALIZER
|
||||
__BIT_COPY_STORE_REL(DOMAINSET_SETSIZE, f, t)
|
||||
#define DOMAINSET_FFS(p) __BIT_FFS(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FLS(p) __BIT_FLS(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_COUNT(p) __BIT_COUNT(DOMAINSET_SETSIZE, p)
|
||||
#define DOMAINSET_FSET __BITSET_FSET(_NDOMAINSETWORDS)
|
||||
#define DOMAINSET_T_INITIALIZER __BITSET_T_INITIALIZER
|
||||
|
||||
#define DOMAINSET_POLICY_INVALID 0
|
||||
#define DOMAINSET_POLICY_ROUNDROBIN 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user