From deccf98369a77c3fab8be3b26bab7c0c7f04bca3 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 26 May 2025 15:46:13 +0000 Subject: Boilerplate for main command Signed-off-by: Laurent Bercot --- src/s6/s6-internal.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/s6/s6-internal.h (limited to 'src/s6/s6-internal.h') diff --git a/src/s6/s6-internal.h b/src/s6/s6-internal.h new file mode 100644 index 0000000..216d666 --- /dev/null +++ b/src/s6/s6-internal.h @@ -0,0 +1,48 @@ +/* ISC license. */ + +#ifndef S6_INTERNAL_H +#define S6_INTERNAL_H + +#include + +#include +#include + + + /* util */ + +extern int keycmp (void const *, void const *) ; +#define BSEARCH(type, key, array) bsearch(key, (array), sizeof(array)/sizeof(type), sizeof(type), &keycmp) + + + /* help */ + +extern int help (char const *const *) ; + + + /* version */ + +extern int version (char const *const *) ; + + + /* main */ + +struct global_s +{ + unsigned int verbosity ; +} ; +#define GLOBAL_ZERO \ +{ \ + .verbosity = 1, \ +} + +extern struct global_s *g ; + +struct command_s +{ + char const *s ; + main_func_ref f ; +} ; +#define COMMAND_ZERO { .s = 0, .f = 0 } + +#endif -- cgit v1.3.1