Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 1 | #ifndef HELP_H |
| 2 | #define HELP_H |
| 3 | |
| 4 | struct cmdnames { |
Ingo Molnar | f37a291 | 2009-07-01 12:37:06 +0200 | [diff] [blame] | 5 | size_t alloc; |
| 6 | size_t cnt; |
Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 7 | struct cmdname { |
| 8 | size_t len; /* also used for similarity index in help.c */ |
| 9 | char name[FLEX_ARRAY]; |
| 10 | } **names; |
| 11 | }; |
| 12 | |
| 13 | static inline void mput_char(char c, unsigned int num) |
| 14 | { |
| 15 | while(num--) |
| 16 | putchar(c); |
| 17 | } |
| 18 | |
| 19 | void load_command_list(const char *prefix, |
| 20 | struct cmdnames *main_cmds, |
| 21 | struct cmdnames *other_cmds); |
Ingo Molnar | f37a291 | 2009-07-01 12:37:06 +0200 | [diff] [blame] | 22 | void add_cmdname(struct cmdnames *cmds, const char *name, size_t len); |
Ingo Molnar | 0780060 | 2009-04-20 15:00:56 +0200 | [diff] [blame] | 23 | /* Here we require that excludes is a sorted list. */ |
| 24 | void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes); |
| 25 | int is_in_cmdlist(struct cmdnames *c, const char *s); |
| 26 | void list_commands(const char *title, struct cmdnames *main_cmds, |
| 27 | struct cmdnames *other_cmds); |
| 28 | |
| 29 | #endif /* HELP_H */ |