diff options
Diffstat (limited to 'lib/includes/hicn/policy.h')
-rw-r--r-- | lib/includes/hicn/policy.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/includes/hicn/policy.h b/lib/includes/hicn/policy.h index 1fe0dd766..d649630bd 100644 --- a/lib/includes/hicn/policy.h +++ b/lib/includes/hicn/policy.h @@ -49,6 +49,8 @@ foreach_policy_tag POLICY_TAG_N } policy_tag_t; +#define IS_VALID_POLICY_TAG(x) (x != POLICY_TAG_N) + #define MAXSZ_POLICY_TAG_ 11 #define MAXSZ_POLICY_TAG MAXSZ_POLICY_TAG_ + 1 @@ -134,6 +136,9 @@ foreach_policy_state extern const char * policy_state_str[]; +#define policy_state_str(x) policy_state_str[x] + +policy_state_t policy_state_from_str(const char * str); /* POLICY TAG STATE */ @@ -154,12 +159,16 @@ int policy_tag_state_snprintf(char * s, size_t size, const policy_tag_state_t * typedef struct { char app_name[APP_NAME_LEN]; policy_tag_state_t tags[POLICY_TAG_N]; -} policy_t; +} hicn_policy_t; -static const policy_t POLICY_NONE = { +static const hicn_policy_t POLICY_NONE = { .app_name = { 0 }, .tags = { +#ifdef __ANDROID__ +#define _(x, y) { POLICY_STATE_NEUTRAL, 0 }, +#else #define _(x, y) [POLICY_TAG_ ## x] = { POLICY_STATE_NEUTRAL, 0 }, +#endif foreach_policy_tag #undef _ }, @@ -176,7 +185,7 @@ typedef struct { char ipv4_prefix[INET_ADDRSTRLEN + PFX_STRLEN]; char ipv6_prefix[INET6_ADDRSTRLEN + PFX_STRLEN]; }; - policy_t policy; + hicn_policy_t policy; } policy_description_t; #endif /* HICN_POLICY_H */ |