From 3fd6b24ace319b139ec3c4e3031a5f05d21e304e Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Tue, 15 Jun 2010 13:30:55 +0200 Subject: ipset 5 in an almost ready state - milestone Reworked protocol and internal interfaces, missing set types added, backward compatibility verified, lots of tests added (and thanks to the tests, bugs fixed), even the manpage is rewritten ;-). Countless changes everywhere... The missing bits before announcing ipset 5: - net namespace support - new iptables/ip6tables extension library - iptables/ip6tables match and target tests (backward/forward compatibility) - tests on catching syntax errors --- include/libipset/ui.h | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'include/libipset/ui.h') diff --git a/include/libipset/ui.h b/include/libipset/ui.h index 044e586..f8eeae0 100644 --- a/include/libipset/ui.h +++ b/include/libipset/ui.h @@ -9,25 +9,14 @@ /* Commands in userspace */ struct ipset_commands { - const char *name[6]; - const char *help; + enum ipset_cmd cmd; int has_arg; + const char *name[2]; + const char *help; }; extern const struct ipset_commands ipset_commands[]; -/* Environment option flags */ -enum ipset_envopt { - IPSET_ENV_BIT_SORTED = 0, - IPSET_ENV_SORTED = (1 << IPSET_ENV_BIT_SORTED), - IPSET_ENV_BIT_QUIET = 1, - IPSET_ENV_QUIET = (1 << IPSET_ENV_BIT_QUIET), - IPSET_ENV_BIT_RESOLVE = 2, - IPSET_ENV_RESOLVE = (1 << IPSET_ENV_BIT_RESOLVE), - IPSET_ENV_BIT_EXIST = 3, - IPSET_ENV_EXIST = (1 << IPSET_ENV_BIT_EXIST), -}; - struct ipset_session; struct ipset_data; @@ -35,7 +24,7 @@ struct ipset_data; struct ipset_envopts { int flag; int has_arg; - const char *name[3]; + const char *name[2]; const char *help; int (*parse)(struct ipset_session *s, int flag, const char *str); int (*print)(char *buf, unsigned int len, @@ -44,4 +33,9 @@ struct ipset_envopts { extern const struct ipset_envopts ipset_envopts[]; +extern bool ipset_match_cmd(const char *arg, const char * const name[]); +extern bool ipset_match_option(const char *arg, const char * const name[]); +extern bool ipset_match_envopt(const char *arg, const char * const name[]); +extern void ipset_shift_argv(int *argc, char *argv[], int from); + #endif /* LIBIPSET_UI_H */ -- cgit v1.2.3