help.h (988B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __SUBCMD_HELP_H 3#define __SUBCMD_HELP_H 4 5#include <sys/types.h> 6#include <stdio.h> 7 8struct cmdnames { 9 size_t alloc; 10 size_t cnt; 11 struct cmdname { 12 size_t len; /* also used for similarity index in help.c */ 13 char name[]; 14 } **names; 15}; 16 17static inline void mput_char(char c, unsigned int num) 18{ 19 while(num--) 20 putchar(c); 21} 22 23void load_command_list(const char *prefix, 24 struct cmdnames *main_cmds, 25 struct cmdnames *other_cmds); 26void add_cmdname(struct cmdnames *cmds, const char *name, size_t len); 27void clean_cmdnames(struct cmdnames *cmds); 28int cmdname_compare(const void *a, const void *b); 29void uniq(struct cmdnames *cmds); 30/* Here we require that excludes is a sorted list. */ 31void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes); 32int is_in_cmdlist(struct cmdnames *c, const char *s); 33void list_commands(const char *title, struct cmdnames *main_cmds, 34 struct cmdnames *other_cmds); 35 36#endif /* __SUBCMD_HELP_H */