1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __CPUPOWER_BITMASK__
3 #define __CPUPOWER_BITMASK__
5 /* Taken over from libbitmask, a project initiated from sgi:
6 * Url: http://oss.sgi.com/projects/cpusets/
7 * Unfortunately it's not very widespread, therefore relevant parts are
16 struct bitmask
*bitmask_alloc(unsigned int n
);
17 void bitmask_free(struct bitmask
*bmp
);
19 struct bitmask
*bitmask_setbit(struct bitmask
*bmp
, unsigned int i
);
20 struct bitmask
*bitmask_setall(struct bitmask
*bmp
);
21 struct bitmask
*bitmask_clearall(struct bitmask
*bmp
);
23 unsigned int bitmask_first(const struct bitmask
*bmp
);
24 unsigned int bitmask_next(const struct bitmask
*bmp
, unsigned int i
);
25 unsigned int bitmask_last(const struct bitmask
*bmp
);
26 int bitmask_isallclear(const struct bitmask
*bmp
);
27 int bitmask_isbitset(const struct bitmask
*bmp
, unsigned int i
);
29 int bitmask_parselist(const char *buf
, struct bitmask
*bmp
);
30 int bitmask_displaylist(char *buf
, int len
, const struct bitmask
*bmp
);
34 #endif /*__CPUPOWER_BITMASK__ */