NAME
__bitmap_parselist - convert list format ASCII string to bitmap
SYNOPSIS
int __bitmap_parselist(const char * buf, unsigned int buflen, int is_user, unsigned long * maskp, int nmaskbits);
ARGUMENTS
buf
read nul-terminated user string from this buffer
buflen
buffer size in bytes. If string is smaller than this then it must be terminated with a \0.
is_user
location of buffer, 0 indicates kernel space
maskp
write resulting mask here
nmaskbits
number of bits in mask to be written
DESCRIPTION
Input format is a comma-separated list of decimal numbers and ranges. Consecutively set bits are shown as two hyphen-separated decimal numbers, the smallest and largest bit numbers set in the range. Optionally each range can be postfixed to denote that only parts of it should be set. The range will divided to groups of specific size. From each group will be used only defined amount of bits. Syntax: range:used_size/group_size
EXAMPLE
0-1023:2/256 ==> 0,1,256,257,512,513,768,769
Returns 0 on success, -errno on invalid input strings.
Error values:
-EINVAL: second number in range smaller than first
-EINVAL: invalid character in string
-ERANGE: bit number specified too large for mask