__BITMAP_PARSELIST(9)

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

COPYRIGHT