#include "netlink-types.h"
#include "missing.h"
+struct NLType {
+ uint16_t type;
+ size_t size;
+ const NLTypeSystem *type_system;
+ const NLTypeSystemUnion *type_system_union;
+};
+
+struct NLTypeSystem {
+ uint16_t max;
+ const NLType *types;
+};
+
static const NLTypeSystem rtnl_link_type_system;
static const NLType rtnl_link_info_data_veth_types[VETH_INFO_MAX + 1] = {
.types = rtnl_types,
};
+uint16_t type_get_type(const NLType *type) {
+ assert(type);
+ return type->type;
+}
+
+size_t type_get_size(const NLType *type) {
+ assert(type);
+ return type->size;
+}
+
void type_get_type_system(const NLType *nl_type, const NLTypeSystem **ret) {
assert(nl_type);
assert(ret);
*ret = nl_type->type_system_union;
}
+uint16_t type_system_get_max(const NLTypeSystem *type_system) {
+ assert(type_system);
+ return type_system->max;
+}
+
int type_system_get_type(const NLTypeSystem *type_system, const NLType **ret, uint16_t type) {
const NLType *nl_type;