aboutsummaryrefslogtreecommitdiffstats
path: root/lib/includes/hicn/policy.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/includes/hicn/policy.h')
-rw-r--r--lib/includes/hicn/policy.h15
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 */