/* * Linux VLAN configuration kernel interface * Copyright (c) 2016, Jouni Malinen * * This software may be distributed under the terms of the BSD license. * See README for more details. */ #ifndef LINUX_VLAN_H #define LINUX_VLAN_H /* This ioctl is defined in linux/sockios.h */ #ifndef SIOCSIFVLAN #define SIOCSIFVLAN 0x8983 #endif /* SIOCSIFVLAN */ /* This interface is defined in linux/if_vlan.h */ #define ADD_VLAN_CMD 0 #define DEL_VLAN_CMD 1 #define SET_VLAN_INGRESS_PRIORITY_CMD 2 #define SET_VLAN_EGRESS_PRIORITY_CMD 3 #define GET_VLAN_INGRESS_PRIORITY_CMD 4 #define GET_VLAN_EGRESS_PRIORITY_CMD 5 #define SET_VLAN_NAME_TYPE_CMD 6 #define SET_VLAN_FLAG_CMD 7 #define GET_VLAN_REALDEV_NAME_CMD 8 #define GET_VLAN_VID_CMD 9 #define VLAN_NAME_TYPE_PLUS_VID 0 #define VLAN_NAME_TYPE_RAW_PLUS_VID 1 #define VLAN_NAME_TYPE_PLUS_VID_NO_PAD 2 #define VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD 3 struct vlan_ioctl_args { int cmd; char device1[24]; union { char device2[24]; int VID; unsigned int skb_priority; unsigned int name_type; unsigned int bind_type; unsigned int flag; } u; short vlan_qos; }; #endif /* LINUX_VLAN_H */