netlink_sys/
constants.rs

1// SPDX-License-Identifier: MIT
2
3//! This module provides a lot of netlink constants for various protocol. As we
4//! add support for the various protocols, these constants will be moved to
5//! their own crate.
6
7use libc::c_int as int;
8
9/// Receives routing and link updates and may be used to modify the routing
10/// tables (both IPv4 and IPv6), IP addresses, link parameters, neighbor setups,
11/// queueing disciplines, traffic classes  and  packet  classifiers  (see
12/// rtnetlink(7)).
13pub const NETLINK_ROUTE: isize = 0;
14pub const NETLINK_UNUSED: isize = 1;
15/// Reserved for user-mode socket protocols.
16pub const NETLINK_USERSOCK: isize = 2;
17/// Transport  IPv4  packets  from  netfilter  to  user  space.  Used by
18/// ip_queue kernel module.  After a long period of being declared obsolete (in
19/// favor of the more advanced nfnetlink_queue feature), it was  removed in
20/// Linux 3.5.
21pub const NETLINK_FIREWALL: isize = 3;
22/// Query information about sockets of various protocol families from the kernel
23/// (see sock_diag(7)).
24pub const NETLINK_SOCK_DIAG: isize = 4;
25/// Netfilter/iptables ULOG.
26pub const NETLINK_NFLOG: isize = 5;
27/// IPsec.
28pub const NETLINK_XFRM: isize = 6;
29/// SELinux event notifications.
30pub const NETLINK_SELINUX: isize = 7;
31/// Open-iSCSI.
32pub const NETLINK_ISCSI: isize = 8;
33/// Auditing.
34pub const NETLINK_AUDIT: isize = 9;
35/// Access to FIB lookup from user space.
36pub const NETLINK_FIB_LOOKUP: isize = 10;
37/// Kernel connector. See `Documentation/connector/*` in the Linux kernel source
38/// tree for further information.
39pub const NETLINK_CONNECTOR: isize = 11;
40/// Netfilter subsystem.
41pub const NETLINK_NETFILTER: isize = 12;
42/// Transport IPv6 packets from netfilter to user space.  Used by ip6_queue
43/// kernel module.
44pub const NETLINK_IP6_FW: isize = 13;
45/// DECnet routing messages.
46pub const NETLINK_DNRTMSG: isize = 14;
47/// Kernel messages to user space.
48pub const NETLINK_KOBJECT_UEVENT: isize = 15;
49///  Generic netlink family for simplified netlink usage.
50pub const NETLINK_GENERIC: isize = 16;
51/// SCSI transpots
52pub const NETLINK_SCSITRANSPORT: isize = 18;
53pub const NETLINK_ECRYPTFS: isize = 19;
54/// Infiniband RDMA.
55pub const NETLINK_RDMA: isize = 20;
56/// Netlink interface to request information about ciphers registered with the
57/// kernel crypto API as well as allow configuration of the kernel crypto API.
58pub const NETLINK_CRYPTO: isize = 21;
59
60pub const TCA_ROOT_UNSPEC: int = 0;
61pub const TCA_ROOT_TAB: int = 1;
62pub const TCA_ROOT_FLAGS: int = 2;
63pub const TCA_ROOT_COUNT: int = 3;
64pub const TCA_ROOT_TIME_DELTA: int = 4;
65
66pub const EM_NONE: u32 = 0;
67pub const EM_M32: u32 = 1;
68pub const EM_SPARC: u32 = 2;
69pub const EM_386: u32 = 3;
70pub const EM_68K: u32 = 4;
71pub const EM_88K: u32 = 5;
72pub const EM_486: u32 = 6;
73pub const EM_860: u32 = 7;
74pub const EM_MIPS: u32 = 8;
75pub const EM_MIPS_RS3_LE: u32 = 10;
76pub const EM_MIPS_RS4_BE: u32 = 10;
77pub const EM_PARISC: u32 = 15;
78pub const EM_SPARC32PLUS: u32 = 18;
79pub const EM_PPC: u32 = 20;
80pub const EM_PPC64: u32 = 21;
81pub const EM_SPU: u32 = 23;
82pub const EM_ARM: u32 = 40;
83pub const EM_SH: u32 = 42;
84pub const EM_SPARCV9: u32 = 43;
85pub const EM_H8_300: u32 = 46;
86pub const EM_IA_64: u32 = 50;
87pub const EM_X86_64: u32 = 62;
88pub const EM_S390: u32 = 22;
89pub const EM_CRIS: u32 = 76;
90pub const EM_M32R: u32 = 88;
91pub const EM_MN10300: u32 = 89;
92pub const EM_OPENRISC: u32 = 92;
93pub const EM_BLACKFIN: u32 = 106;
94pub const EM_ALTERA_NIOS2: u32 = 113;
95pub const EM_TI_C6000: u32 = 140;
96pub const EM_AARCH64: u32 = 183;
97pub const EM_TILEPRO: u32 = 188;
98pub const EM_MICROBLAZE: u32 = 189;
99pub const EM_TILEGX: u32 = 191;
100pub const EM_BPF: u32 = 247;
101pub const EM_FRV: u32 = 21569;
102pub const EM_ALPHA: u32 = 36902;
103pub const EM_CYGNUS_M32R: u32 = 36929;
104pub const EM_S390_OLD: u32 = 41872;
105pub const EM_CYGNUS_MN10300: u32 = 48879;
106
107pub const NLMSGERR_ATTR_UNUSED: int = 0;
108pub const NLMSGERR_ATTR_MSG: int = 1;
109pub const NLMSGERR_ATTR_OFFS: int = 2;
110pub const NLMSGERR_ATTR_COOKIE: int = 3;
111pub const NLMSGERR_ATTR_MAX: int = 3;
112
113pub const NL_MMAP_STATUS_UNUSED: int = 0;
114pub const NL_MMAP_STATUS_RESERVED: int = 1;
115pub const NL_MMAP_STATUS_VALID: int = 2;
116pub const NL_MMAP_STATUS_COPY: int = 3;
117pub const NL_MMAP_STATUS_SKIP: int = 4;
118
119pub const NETLINK_UNCONNECTED: int = 0;
120pub const NETLINK_CONNECTED: int = 1;
121
122pub const __BITS_PER_LONG: int = 64;
123pub const __FD_SETSIZE: int = 1024;
124pub const SI_LOAD_SHIFT: int = 16;
125pub const _K_SS_MAXSIZE: int = 128;
126pub const NETLINK_SMC: int = 22;
127pub const NETLINK_INET_DIAG: int = 4;
128pub const MAX_LINKS: int = 32;
129
130pub const NLMSG_MIN_TYPE: int = 16;
131pub const NETLINK_ADD_MEMBERSHIP: int = 1;
132pub const NETLINK_DROP_MEMBERSHIP: int = 2;
133pub const NETLINK_PKTINFO: int = 3;
134pub const NETLINK_BROADCAST_ERROR: int = 4;
135pub const NETLINK_NO_ENOBUFS: int = 5;
136pub const NETLINK_RX_RING: int = 6;
137pub const NETLINK_TX_RING: int = 7;
138pub const NETLINK_LISTEN_ALL_NSID: int = 8;
139pub const NETLINK_LIST_MEMBERSHIPS: int = 9;
140pub const NETLINK_CAP_ACK: int = 10;
141pub const NETLINK_EXT_ACK: int = 11;
142pub const NL_MMAP_MSG_ALIGNMENT: int = 4;
143pub const NET_MAJOR: int = 36;