X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/7e8ff2e745cc775339c53d29658f358786f4a500..96da769f8bce5a6b0b1ffc6bb343b6d103c3d8bb:/h/prototypes.h diff --git a/h/prototypes.h b/h/prototypes.h index 6db99958..3797fecc 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -207,7 +207,40 @@ void seq_setprev (struct msgs *); void seq_setunseen (struct msgs *, int); int showfile (char **, char *); int smatch(char *, struct swit *); -char *snprintb (char *, size_t, unsigned, char *); + +/* + * Convert a set of bit flags to printable format. + * + * Arguments: + * + * buffer - Buffer to output string to. + * size - Size of buffer in bytes. Buffer is always NUL terminated. + * flags - Binary flags to output + * bitfield - Textual representation of bits to output. This string + * is in the following format: + * + * Option byte 0x01 STRING1 0x02 STRING2 .... + * + * The first byte is an option byte to snprintb(). Currently the only option + * supported is 0x08, which indicates that the flags should be output in + * octal format; if the option byte is any other value, the flags will be + * output in hexadecimal. + * + * After the option bytes are series of text strings, prefixed by the number + * of the bit they correspond to. For example, the bitfield string: + * + * "\020\01FLAG1\02FLAG2\03FLAG3\04FLAG4" + * + * will output the following string if "flags" is set to 0x09: + * + * 0x2 + * + * You don't have to use octal in the bitfield string, that's just the + * convention currently used by the nmh code. The order of flags in the + * bitfield string is not significant, but again, general convention is + * from least significant bit to most significant. + */ +char *snprintb (char *buffer, size_t size, unsigned flags, char *bitfield); int ssequal (char *, char *); int stringdex (char *, char *); char *trimcpy (char *);