Index: flag_str.h =================================================================== --- flag_str.h (revision 16828) +++ flag_str.h (revision 16829) @@ -54,6 +54,8 @@ /* in compatibility mode also accept these object types to have the flag */ int compat_types; + /* when non-zero, omit from all-flag listings */ + int omit_list; } pcb_flag_bits_t; /* All flags natively known by the core */ @@ -76,6 +78,11 @@ freed. */ char *pcb_strflg_f2s(pcb_flag_t flags, int object_type, unsigned char *intconn, int compat); + +/* Call cb for each flag bit for a given object type */ +void pcb_strflg_map(unsigned long fbits, int object_type, void *ctx, void (*cb)(void *ctx, unsigned long flg, const char *name)); + + /* same as above, for pcb level flags */ char *pcb_strflg_board_f2s(pcb_flag_t flags); pcb_flag_t pcb_strflg_board_s2f(const char *flagstring, int (*error) (const char *msg));