diff --git a/src/include/66/resolve.h b/src/include/66/resolve.h index dacea9be666df5fe3b68d5cdbff0cd43c937ab57..4850bd3cb8fda5530a4a0d5a379eced4716f4fb6 100644 --- a/src/include/66/resolve.h +++ b/src/include/66/resolve.h @@ -27,8 +27,6 @@ #include <66/ssexec.h> #include <66/parser.h> -#include <66/tree.h> -#include <66/service.h> #define SS_RESOLVE "/.resolve" @@ -41,6 +39,10 @@ #define SS_SIMPLE 0 #define SS_DOUBLE 1 +#define DATA_SERVICE 0 +#define DATA_TREE 1 +#define DATA_TREE_MASTER 2 + typedef struct resolve_wrapper_s resolve_wrapper_t, *resolve_wrapper_t_ref ; struct resolve_wrapper_s { @@ -55,6 +57,13 @@ struct resolve_wrapper_s else if (wres->type == DATA_TREE) sawres = (&((resolve_tree_t *)wres->obj)->sa) ; \ else if (wres->type == DATA_TREE_MASTER) sawres = (&((resolve_tree_master_t *)wres->obj)->sa) ; #endif + +typedef struct resolve_field_table_s resolve_field_table_t, *resolve_field_table_t_ref ; +struct resolve_field_table_s +{ + char *field ; +} ; + /** * * General API diff --git a/src/include/66/service.h b/src/include/66/service.h index d4578bac2ef54d18b982f9c0b5f1958bc8e76bdd..bf495bf3f3a75e5468b226d405ee15d9aa47227c 100644 --- a/src/include/66/service.h +++ b/src/include/66/service.h @@ -24,6 +24,7 @@ #include <66/parser.h> #include <66/ssexec.h> +#include <66/resolve.h> /** Graph struct */ @@ -52,9 +53,6 @@ enum visit_e SS_BLACK } ; - -#define DATA_SERVICE 0 - typedef struct resolve_service_s resolve_service_t, *resolve_service_t_ref ; struct resolve_service_s { @@ -137,13 +135,7 @@ enum resolve_service_enum_e SERVICE_ENUM_ENDOFKEY } ; -typedef struct resolve_service_field_table_s resolve_service_field_table_t, *resolve_service_field_table_t_ref ; -struct resolve_service_field_table_s -{ - char *field ; -} ; - -extern resolve_service_field_table_t resolve_service_field_table[] ; +extern resolve_field_table_t resolve_service_field_table[] ; extern int service_isenabled(char const *sv) ; extern int service_isenabledat(stralloc *tree, char const *sv) ; diff --git a/src/include/66/tree.h b/src/include/66/tree.h index 8a47af25027504844d94a6d86bcb47a03f8b5843..dec81d882c353b1b939ad981128c5aa59b391262 100644 --- a/src/include/66/tree.h +++ b/src/include/66/tree.h @@ -16,6 +16,7 @@ #define SS_TREE_H #include <sys/types.h> +#include <stdint.h> #include <skalibs/stralloc.h> #include <skalibs/cdb.h> @@ -24,9 +25,6 @@ #include <66/ssexec.h> #include <66/resolve.h> - -#define DATA_TREE 1 -#define DATA_TREE_MASTER 2 #define TREE_GROUPS_BOOT "boot" #define TREE_GROUPS_BOOT_LEN (sizeof TREE_GROUPS_BOOT - 1) #define TREE_GROUPS_ADM "admin" @@ -77,14 +75,6 @@ enum resolve_tree_enum_e TREE_ENUM_ENDOFKEY } ; -typedef struct resolve_tree_field_table_s resolve_tree_field_table_t, *resolve_tree_field_table_t_ref ; -struct resolve_tree_field_table_s -{ - char *field ; -} ; - -extern resolve_tree_field_table_t resolve_tree_field_table[] ; - typedef struct resolve_tree_master_s resolve_tree_master_t, *resolve_tree_master_t_ref ; struct resolve_tree_master_s { @@ -112,7 +102,8 @@ enum resolve_tree_master_enum_e TREE_ENUM_MASTER_ENDOFKEY } ; -extern resolve_tree_field_table_t resolve_tree_master_field_table[] ; +extern resolve_field_table_t resolve_tree_field_table[] ; +extern resolve_field_table_t resolve_tree_master_field_table[] ; typedef struct tree_seed_s tree_seed_t, tree_seed_t_ref ; struct tree_seed_s diff --git a/src/lib66/service.c b/src/lib66/service.c index 9b32c4d7bdd0a73aa09a86f7e373f2688345a46f..ed66629feed16bdc0b7fb3342e08cbdff4e54472 100644 --- a/src/lib66/service.c +++ b/src/lib66/service.c @@ -433,7 +433,7 @@ int service_cmp_basedir(char const *dir) * * */ -resolve_service_field_table_t resolve_service_field_table[] = { +resolve_field_table_t resolve_service_field_table[] = { [SERVICE_ENUM_NAME] = { .field = "name" }, [SERVICE_ENUM_DESCRIPTION] = { .field = "description" }, diff --git a/src/lib66/tree_resolve.c b/src/lib66/tree_resolve.c index 4c8f29fb5453470b6e4449056d588dbdb007a947..2fa47e8edba2829b7c4d1b07b675448478303c58 100644 --- a/src/lib66/tree_resolve.c +++ b/src/lib66/tree_resolve.c @@ -31,7 +31,7 @@ #include <66/graph.h> -resolve_tree_field_table_t resolve_tree_field_table[] = { +resolve_field_table_t resolve_tree_field_table[] = { [TREE_ENUM_NAME] = { .field = "name" }, [TREE_ENUM_DEPENDS] = { .field = "depends" }, @@ -49,7 +49,7 @@ resolve_tree_field_table_t resolve_tree_field_table[] = { [TREE_ENUM_ENDOFKEY] = { .field = 0 } } ; -resolve_tree_field_table_t resolve_tree_master_field_table[] = { +resolve_field_table_t resolve_tree_master_field_table[] = { [TREE_ENUM_MASTER_NAME] = { .field = "name" }, [TREE_ENUM_MASTER_ALLOW] = { .field = "allow" },