Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
if_vlan.h
Go to the documentation of this file.
1 /*
2  * VLAN An implementation of 802.1Q VLAN tagging.
3  *
4  * Authors: Ben Greear <[email protected]>
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version
9  * 2 of the License, or (at your option) any later version.
10  *
11  */
12 
13 #ifndef _UAPI_LINUX_IF_VLAN_H_
14 #define _UAPI_LINUX_IF_VLAN_H_
15 
16 
17 /* VLAN IOCTLs are found in sockios.h */
18 
19 /* Passed in vlan_ioctl_args structure to determine behaviour. */
29  GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
30  GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
31 };
32 
33 enum vlan_flags {
37 };
38 
40  VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
41  VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
42  VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
43  VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
45 };
46 
48  int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
49  char device1[24];
50 
51  union {
52  char device2[24];
53  int VID;
54  unsigned int skb_priority;
55  unsigned int name_type;
56  unsigned int bind_type;
57  unsigned int flag; /* Matches vlan_dev_priv flags */
58  } u;
59 
60  short vlan_qos;
61 };
62 
63 #endif /* _UAPI_LINUX_IF_VLAN_H_ */