acl
3.5.3.0
|
#include "acl_define.h"
类 | |
struct | ACL_BITS_MASK |
宏定义 | |
#define | ACL_BITS_MASK_NBBY (8) |
#define | ACL_BITS_MASK_FD_BYTE(number, mask) (((unsigned char *) (mask)->data)[(number) / ACL_BITS_MASK_NBBY]) |
#define | ACL_BITS_MASK_FD_BIT(number) (1 << ((number) % ACL_BITS_MASK_NBBY)) |
#define | ACL_BITS_MASK_BYTES_NEEDED(len) (size_t) (((acl_int64) (len) + (ACL_BITS_MASK_NBBY - 1)) / ACL_BITS_MASK_NBBY) |
#define | ACL_BITS_MASK_BYTE_COUNT(mask) ((mask)->data_len) |
#define | ACL_BITS_MASK_ALLOC(mask, nmax) |
#define | ACL_BITS_MASK_REALLOC(mask, nmax) |
#define | ACL_BITS_MASK_FREE(mask) acl_myfree((mask)->data) |
#define | ACL_BITS_MASK_ZERO(mask) memset((mask)->data, 0, (mask)->data_len); |
#define | ACL_BITS_MASK_SET(number, mask) (ACL_BITS_MASK_FD_BYTE((number), (mask)) |= ACL_BITS_MASK_FD_BIT(number)) |
#define | ACL_BITS_MASK_ISSET(number, mask) (ACL_BITS_MASK_FD_BYTE((number), (mask)) & ACL_BITS_MASK_FD_BIT(number)) |
#define | ACL_BITS_MASK_CLR(number, mask) (ACL_BITS_MASK_FD_BYTE((number), (mask)) &= ~ACL_BITS_MASK_FD_BIT(number)) |
类型定义 | |
typedef struct ACL_BITS_MASK | ACL_BITS_MASK |
#define ACL_BITS_MASK_ALLOC | ( | mask, | |
nmax | |||
) |
分配位映射对象空间
mask | {ACL_BITS_MASK*) ACL_BITS_MASK 指针 |
nmax | {size_t/unsigned int/unsigned short/unsigned char} 最大值,以此值来 计算 (mask)->data 占的内存空间大小,如:当 nmax=4294967295, 即最大整数值时,则 (mask)->data_len=536870912, 即 (mask)->data 占用 536870912 Bytes; 当 nmax=65535, 即最大 unsigned short 值时,则 (mask)->data_len=8192, 即 (mask)->data 占用 8192 字节 |
在文件 acl_bits_map.h 第 38 行定义.
#define ACL_BITS_MASK_BYTE_COUNT | ( | mask | ) | ((mask)->data_len) |
在文件 acl_bits_map.h 第 27 行定义.
#define ACL_BITS_MASK_BYTES_NEEDED | ( | len | ) | (size_t) (((acl_int64) (len) + (ACL_BITS_MASK_NBBY - 1)) / ACL_BITS_MASK_NBBY) |
在文件 acl_bits_map.h 第 25 行定义.
#define ACL_BITS_MASK_CLR | ( | number, | |
mask | |||
) | (ACL_BITS_MASK_FD_BYTE((number), (mask)) &= ~ACL_BITS_MASK_FD_BIT(number)) |
将某个整数从位映射对象的动态空间中清除掉
number | {unsigned int} 整数值 |
mask | {ACL_BITS_MASK*) ACL_BITS_MASK 指针 |
在文件 acl_bits_map.h 第 98 行定义.
#define ACL_BITS_MASK_FD_BIT | ( | number | ) | (1 << ((number) % ACL_BITS_MASK_NBBY)) |
在文件 acl_bits_map.h 第 24 行定义.
#define ACL_BITS_MASK_FD_BYTE | ( | number, | |
mask | |||
) | (((unsigned char *) (mask)->data)[(number) / ACL_BITS_MASK_NBBY]) |
在文件 acl_bits_map.h 第 22 行定义.
#define ACL_BITS_MASK_FREE | ( | mask | ) | acl_myfree((mask)->data) |
#define ACL_BITS_MASK_ISSET | ( | number, | |
mask | |||
) | (ACL_BITS_MASK_FD_BYTE((number), (mask)) & ACL_BITS_MASK_FD_BIT(number)) |
判断某个整数是否存储在位映射对象的动态空间中
number | {unsigned int} 整数值 |
mask | {ACL_BITS_MASK*) ACL_BITS_MASK 指针 |
在文件 acl_bits_map.h 第 90 行定义.
#define ACL_BITS_MASK_NBBY (8) |
Bits per byte, byte in vector, bit offset in byte, bytes perset
在文件 acl_bits_map.h 第 21 行定义.
#define ACL_BITS_MASK_REALLOC | ( | mask, | |
nmax | |||
) |
重分配位映射对象空间
mask | {ACL_BITS_MASK*) ACL_BITS_MASK 指针 |
nmax | {size_t/unsigned int/unsigned short/unsigned char} 最大值,以此值来 计算 (mask)->data 占的内存空间大小,如:当 nmax=4294967295, 即最大整数值时,则 (mask)->data_len=536870912, 即 (mask)->data 占用 536870912 Bytes; 当 nmax=65535, 即最大 unsigned short 值时,则 (mask)->data_len=8192, 即 (mask)->data 占用 8192 字节 |
在文件 acl_bits_map.h 第 53 行定义.
#define ACL_BITS_MASK_SET | ( | number, | |
mask | |||
) | (ACL_BITS_MASK_FD_BYTE((number), (mask)) |= ACL_BITS_MASK_FD_BIT(number)) |
将整数映射为位存储在位映射对象的动态空间中
number | {unsigned int} 整数值 |
mask | {ACL_BITS_MASK*) ACL_BITS_MASK 指针 |
在文件 acl_bits_map.h 第 81 行定义.
#define ACL_BITS_MASK_ZERO | ( | mask | ) | memset((mask)->data, 0, (mask)->data_len); |
typedef struct ACL_BITS_MASK ACL_BITS_MASK |
位映射结构类型定义