]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lua ffi: add the_args binding
authorVladimír Čunát <vladimir.cunat@nic.cz>
Fri, 10 Jan 2020 09:55:36 +0000 (10:55 +0100)
committerTomas Krizek <tomas.krizek@nic.cz>
Fri, 17 Jan 2020 12:39:34 +0000 (13:39 +0100)
daemon/lua/kres-gen.lua
daemon/lua/kres-gen.sh

index 311b3007e76757e1ccd702ff019303726e48f8f1..d464fd5b83b9de514d08cd8051462be9f5325a01 100644 (file)
@@ -386,6 +386,38 @@ typedef struct {
        const char *kind;
        _Bool freebind;
 } endpoint_flags_t;
+typedef struct {
+       char **at;
+       size_t len;
+       size_t cap;
+} addr_array_t;
+typedef struct {
+       int fd;
+       endpoint_flags_t flags;
+} flagged_fd_t;
+typedef struct {
+       flagged_fd_t *at;
+       size_t len;
+       size_t cap;
+} flagged_fd_array_t;
+typedef struct {
+       const char **at;
+       size_t len;
+       size_t cap;
+} config_array_t;
+struct args {
+       addr_array_t addrs;
+       addr_array_t addrs_tls;
+       flagged_fd_array_t fds;
+       int control_fd;
+       int forks;
+       config_array_t config;
+       const char *rundir;
+       _Bool interactive;
+       _Bool quiet;
+       _Bool tty_binary_output;
+};
+struct args *the_args;
 struct endpoint {
        void *handle;
        int fd;
index 3ebe177e8c02ca4b11ebfd68481a43270167bd55..d51a037320c8ad347eb6433fbc82234e83963e5b 100755 (executable)
@@ -254,7 +254,14 @@ EOF
 
 ${CDEFS} ${KRESD} types <<-EOF
        endpoint_flags_t
+       # struct args is a bit complex
+       addr_array_t
+       flagged_fd_t
+       flagged_fd_array_t
+       config_array_t
+       struct args
 EOF
+echo "struct args *the_args;"
 
 echo "struct endpoint"    | ${CDEFS} ${KRESD} types | sed 's/uv_handle_t \*/void */'
 echo "struct request_ctx" | ${CDEFS} ${KRESD} types | sed '/struct {/,$ d'