root/tools/power/cpupower/utils/helpers/bitmask.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __CPUPOWER_BITMASK__
   3 #define __CPUPOWER_BITMASK__
   4 
   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
   8  * pasted here.
   9  */
  10 
  11 struct bitmask {
  12         unsigned int size;
  13         unsigned long *maskp;
  14 };
  15 
  16 struct bitmask *bitmask_alloc(unsigned int n);
  17 void bitmask_free(struct bitmask *bmp);
  18 
  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);
  22 
  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);
  28 
  29 int bitmask_parselist(const char *buf, struct bitmask *bmp);
  30 int bitmask_displaylist(char *buf, int len, const struct bitmask *bmp);
  31 
  32 
  33 
  34 #endif /*__CPUPOWER_BITMASK__ */

/* [<][>][^][v][top][bottom][index][help] */