Man page - libbitmask(3)

Packages contains this manual

Manual

LIBBITMASK

NAME
SYNOPSIS
Allocate and free ‘struct bitmask *‘:
Display and parse ascii string representations:
Basic initialization operations:
Interface to kernel sched_{set,get}affinity system calls:
Unary numeric queries:
Unary Boolean queries:
Single bit operations:
Binary Boolean operations: bmp1 op? bmp2:
Range operations:
Unary operations:
Binary operations:
Iteration operators:
DESCRIPTION
SEE ALSO
AUTHOR

NAME

bitmask, bitmask_alloc, bitmask_free, bitmask_displayhex, bitmask_displaylist, bitmask_parsehex, bitmask_parselist, bitmask_copy, bitmask_setall, bitmask_clearall, bitmask_nbytes, bitmask_mask, bitmask_nbits, bitmask_weight, bitmask_isbitset, bitmask_isbitclear, bitmask_isallset, bitmask_isallclear, bitmask_setbit, bitmask_clearbit, bitmask_equal, bitmask_subset, bitmask_disjoint, bitmask_intersects, bitmask_setrange, bitmask_clearrange, bitmask_keeprange, bitmask_complement, bitmask_shiftright, bitmask_shiftleft, bitmask_and, bitmask_andnot, bitmask_or, bitmask_eor, bitmask_first, bitmask_next, bitmask_rel_to_abs_pos, bitmask_abs_to_rel_pos, bitmask_last
- Dynamically sized multi-word bit masks.

SYNOPSIS

#include <bitmask.h>

cc ... -lbitmask

Allocate and free ‘struct bitmask *‘:

struct bitmask *bitmask_alloc(unsigned int nbits );
void bitmask_free(struct bitmask * bmp );

Display and parse ascii string representations:

int bitmask_displayhex(char * buf , int len , const struct bitmask * bmp );
int bitmask_displaylist(char * buf , int len , const struct bitmask * bmp );
int bitmask_parsehex(const char * buf , struct bitmask * bmp );
int bitmask_parselist(const char * buf , struct bitmask * bmp );

Basic initialization operations:

struct bitmask *bitmask_copy(struct bitmask * bmp1 , const bitmask * bmp2 );
struct bitmask *bitmask_setall(struct bitmask * bmp );
struct bitmask *bitmask_clearall(struct bitmask * bmp );

Interface to kernel sched_{set,get}affinity system calls:

unsigned int bitmask_nbytes(struct bitmask * bmp );
unsigned long *bitmask_mask(struct bitmask * bmp );

Unary numeric queries:

unsigned int bitmask_nbits(const struct bitmask * bmp );
unsigned int bitmask_weight(const struct bitmask * bmp );

Unary Boolean queries:

int bitmask_isbitset(const struct bitmask * bmp , unsigned int i );
int bitmask_isbitclear(const struct bitmask * bmp , unsigned int i );
int bitmask_isallset(const struct bitmask * bmp );
int bitmask_isallclear(const struct bitmask * bmp );

Single bit operations:

struct bitmask *bitmask_setbit(struct bitmask * bmp , unsigned int i );
struct bitmask *bitmask_clearbit(struct bitmask * bmp , unsigned int i );

Binary Boolean operations: bmp1 op? bmp2:

int bitmask_equal(const struct bitmask * bmp1 , const bitmask * bmp2 );
int bitmask_subset(const struct bitmask * bmp1 , const bitmask * bmp2 );
int bitmask_disjoint(const struct bitmask * bmp1 , const bitmask * bmp2 );
int bitmask_intersects(const struct bitmask * bmp1 , const bitmask * bmp2 );

Range operations:

struct bitmask *bitmask_setrange(struct bitmask * bmp , unsigned int i , unsigned int j );
struct bitmask *bitmask_clearrange(struct bitmask * bmp , unsigned int i , unsigned int j );
struct bitmask *bitmask_keeprange(struct bitmask * bmp , unsigned int i , unsigned int j );

Unary operations:

struct bitmask *bitmask_complement(struct bitmask * bmp1 , const bitmask * bmp2 );
struct bitmask *bitmask_shiftright(struct bitmask * bmp1 , const bitmask * bmp2 , unsigned int n );
struct bitmask *bitmask_shiftleft(struct bitmask * bmp1 , const bitmask * bmp2 , unsigned int n );

Binary operations:

struct bitmask *bitmask_and(struct bitmask * bmp1 , const bitmask * bmp2 , const bitmask * bmp3 );
struct bitmask *bitmask_andnot(struct bitmask * bmp1 , const bitmask * bmp2 , const bitmask * bmp3 );
struct bitmask *bitmask_or(struct bitmask * bmp1 , const bitmask * bmp2 , const bitmask * bmp3 );
struct bitmask *bitmask_eor(struct bitmask * bmp1 , const bitmask * bmp2 , const bitmask * bmp3 );

Iteration operators:

int bitmask_first(const struct bitmask * bmp );
unsigned int bitmask_next(const struct bitmask * bmp , unsigned int i );
unsigned int bitmask_rel_to_abs_pos(const struct bitmask * bmp , unsigned int n );
unsigned int bitmask_abs_to_rel_pos(const struct bitmask * bmp , unsigned int n );
unsigned int bitmask_last(const struct bitmask * bmp );

DESCRIPTION

See further /usr/share/doc/packages/libbitmask/libbitmask.html. This document is also available in plain text format as /usr/share/doc/packages/libbitmask/libbitmask.txt.

SEE ALSO

cpuset (1), libcpuset (3), bootcpuset.conf (5), bootcpuset (8).

AUTHOR

pj@sgi.com (Paul Jackson)