diff options
Diffstat (limited to 'src/datatype.c')
-rw-r--r-- | src/datatype.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/datatype.c b/src/datatype.c index 899e9c0a..287ca009 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -40,25 +40,40 @@ static const struct datatype *datatypes[TYPE_MAX + 1] = { [TYPE_IP6ADDR] = &ip6addr_type, [TYPE_ETHERADDR] = ðeraddr_type, [TYPE_ETHERTYPE] = ðertype_type, + [TYPE_ARPOP] = &arpop_type, [TYPE_INET_PROTOCOL] = &inet_protocol_type, [TYPE_INET_SERVICE] = &inet_service_type, + [TYPE_ICMP_TYPE] = &icmp_type_type, + [TYPE_TCP_FLAG] = &tcp_flag_type, + [TYPE_DCCP_PKTTYPE] = &dccp_pkttype_type, + [TYPE_MH_TYPE] = &mh_type_type, [TYPE_TIME] = &time_type, [TYPE_MARK] = &mark_type, + [TYPE_IFINDEX] = &ifindex_type, [TYPE_ARPHRD] = &arphrd_type, + [TYPE_REALM] = &realm_type, + [TYPE_CLASSID] = &tchandle_type, + [TYPE_UID] = &uid_type, + [TYPE_GID] = &gid_type, + [TYPE_CT_STATE] = &ct_state_type, + [TYPE_CT_DIR] = &ct_dir_type, + [TYPE_CT_STATUS] = &ct_status_type, + [TYPE_ICMP6_TYPE] = &icmp6_type_type, + [TYPE_PKTTYPE] = &pkttype_type, [TYPE_ICMP_CODE] = &icmp_code_type, [TYPE_ICMPV6_CODE] = &icmpv6_code_type, [TYPE_ICMPX_CODE] = &icmpx_code_type, + [TYPE_DEVGROUP] = &devgroup_type, + [TYPE_DSCP] = &dscp_type, + [TYPE_ECN] = &ecn_type, + [TYPE_FIB_ADDR] = &fib_addr_type, [TYPE_BOOLEAN] = &boolean_type, }; -void datatype_register(const struct datatype *dtype) +const struct datatype *datatype_lookup(enum datatypes type) { BUILD_BUG_ON(TYPE_MAX & ~TYPE_MASK); - datatypes[dtype->type] = dtype; -} -const struct datatype *datatype_lookup(enum datatypes type) -{ if (type > TYPE_MAX) return NULL; return datatypes[type]; |