blob: cd781d9dc524c396317935581738cc463baa66ac [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _LINUX_TIPC_CONFIG_H_
8#define _LINUX_TIPC_CONFIG_H_
9#include <linux/types.h>
10#include <linux/string.h>
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070011#include <linux/tipc.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070012#include <asm/byteorder.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070013#define TIPC_CMD_NOOP 0x0000
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070014#define TIPC_CMD_GET_NODES 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define TIPC_CMD_GET_MEDIA_NAMES 0x0002
16#define TIPC_CMD_GET_BEARER_NAMES 0x0003
17#define TIPC_CMD_GET_LINKS 0x0004
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070018#define TIPC_CMD_SHOW_NAME_TABLE 0x0005
Ben Cheng655a7c02013-10-16 16:09:24 -070019#define TIPC_CMD_SHOW_PORTS 0x0006
20#define TIPC_CMD_SHOW_LINK_STATS 0x000B
21#define TIPC_CMD_SHOW_STATS 0x000F
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070022#define TIPC_CMD_GET_REMOTE_MNG 0x4003
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define TIPC_CMD_GET_MAX_PORTS 0x4004
24#define TIPC_CMD_GET_MAX_PUBL 0x4005
25#define TIPC_CMD_GET_MAX_SUBSCR 0x4006
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070026#define TIPC_CMD_GET_MAX_ZONES 0x4007
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define TIPC_CMD_GET_MAX_CLUSTERS 0x4008
28#define TIPC_CMD_GET_MAX_NODES 0x4009
29#define TIPC_CMD_GET_MAX_SLAVES 0x400A
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070030#define TIPC_CMD_GET_NETID 0x400B
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define TIPC_CMD_ENABLE_BEARER 0x4101
32#define TIPC_CMD_DISABLE_BEARER 0x4102
33#define TIPC_CMD_SET_LINK_TOL 0x4107
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070034#define TIPC_CMD_SET_LINK_PRI 0x4108
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define TIPC_CMD_SET_LINK_WINDOW 0x4109
36#define TIPC_CMD_SET_LOG_SIZE 0x410A
37#define TIPC_CMD_DUMP_LOG 0x410B
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070038#define TIPC_CMD_RESET_LINK_STATS 0x410C
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define TIPC_CMD_SET_NODE_ADDR 0x8001
40#define TIPC_CMD_SET_REMOTE_MNG 0x8003
41#define TIPC_CMD_SET_MAX_PORTS 0x8004
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070042#define TIPC_CMD_SET_MAX_PUBL 0x8005
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define TIPC_CMD_SET_MAX_SUBSCR 0x8006
44#define TIPC_CMD_SET_MAX_ZONES 0x8007
45#define TIPC_CMD_SET_MAX_CLUSTERS 0x8008
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070046#define TIPC_CMD_SET_MAX_NODES 0x8009
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define TIPC_CMD_SET_MAX_SLAVES 0x800A
48#define TIPC_CMD_SET_NETID 0x800B
49#define TIPC_CMD_NOT_NET_ADMIN 0xC001
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070050#define TIPC_TLV_NONE 0
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define TIPC_TLV_VOID 1
52#define TIPC_TLV_UNSIGNED 2
53#define TIPC_TLV_STRING 3
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070054#define TIPC_TLV_LARGE_STRING 4
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define TIPC_TLV_ULTRA_STRING 5
56#define TIPC_TLV_ERROR_STRING 16
57#define TIPC_TLV_NET_ADDR 17
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070058#define TIPC_TLV_MEDIA_NAME 18
Ben Cheng655a7c02013-10-16 16:09:24 -070059#define TIPC_TLV_BEARER_NAME 19
60#define TIPC_TLV_LINK_NAME 20
61#define TIPC_TLV_NODE_INFO 21
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070062#define TIPC_TLV_LINK_INFO 22
Ben Cheng655a7c02013-10-16 16:09:24 -070063#define TIPC_TLV_BEARER_CONFIG 23
64#define TIPC_TLV_LINK_CONFIG 24
65#define TIPC_TLV_NAME_TBL_QUERY 25
66#define TIPC_TLV_PORT_REF 26
Ben Cheng655a7c02013-10-16 16:09:24 -070067#define TIPC_MIN_LINK_PRI 0
68#define TIPC_DEF_LINK_PRI 10
69#define TIPC_MAX_LINK_PRI 31
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070070#define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1)
Ben Cheng655a7c02013-10-16 16:09:24 -070071#define TIPC_MIN_LINK_TOL 50
72#define TIPC_DEF_LINK_TOL 1500
73#define TIPC_MAX_LINK_TOL 30000
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070074#if TIPC_MIN_LINK_TOL < 16
Ben Cheng655a7c02013-10-16 16:09:24 -070075#error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)"
76#endif
77#define TIPC_MIN_LINK_WIN 16
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070078#define TIPC_DEF_LINK_WIN 50
Christopher Ferris82d75042015-01-26 10:57:07 -080079#define TIPC_MAX_LINK_WIN 8191
Christopher Ferris9ce28842018-10-25 12:11:39 -070080#define TIPC_DEF_LINK_UDP_MTU 14000
Ben Cheng655a7c02013-10-16 16:09:24 -070081struct tipc_node_info {
Tao Baod7db5942015-01-28 10:07:51 -080082 __be32 addr;
Tao Baod7db5942015-01-28 10:07:51 -080083 __be32 up;
Ben Cheng655a7c02013-10-16 16:09:24 -070084};
85struct tipc_link_info {
Tao Baod7db5942015-01-28 10:07:51 -080086 __be32 dest;
Tao Baod7db5942015-01-28 10:07:51 -080087 __be32 up;
88 char str[TIPC_MAX_LINK_NAME];
Ben Cheng655a7c02013-10-16 16:09:24 -070089};
90struct tipc_bearer_config {
Tao Baod7db5942015-01-28 10:07:51 -080091 __be32 priority;
92 __be32 disc_domain;
93 char name[TIPC_MAX_BEARER_NAME];
Ben Cheng655a7c02013-10-16 16:09:24 -070094};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070095struct tipc_link_config {
Tao Baod7db5942015-01-28 10:07:51 -080096 __be32 value;
97 char name[TIPC_MAX_LINK_NAME];
Ben Cheng655a7c02013-10-16 16:09:24 -070098};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070099#define TIPC_NTQ_ALLTYPES 0x80000000
Ben Cheng655a7c02013-10-16 16:09:24 -0700100struct tipc_name_table_query {
Tao Baod7db5942015-01-28 10:07:51 -0800101 __be32 depth;
102 __be32 type;
Tao Baod7db5942015-01-28 10:07:51 -0800103 __be32 lowbound;
104 __be32 upbound;
Ben Cheng655a7c02013-10-16 16:09:24 -0700105};
106#define TIPC_CFG_TLV_ERROR "\x80"
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700107#define TIPC_CFG_NOT_NET_ADMIN "\x81"
Ben Cheng655a7c02013-10-16 16:09:24 -0700108#define TIPC_CFG_NOT_ZONE_MSTR "\x82"
109#define TIPC_CFG_NO_REMOTE "\x83"
110#define TIPC_CFG_NOT_SUPPORTED "\x84"
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700111#define TIPC_CFG_INVALID_VALUE "\x85"
Ben Cheng655a7c02013-10-16 16:09:24 -0700112struct tlv_desc {
Tao Baod7db5942015-01-28 10:07:51 -0800113 __be16 tlv_len;
114 __be16 tlv_type;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700115};
Ben Cheng655a7c02013-10-16 16:09:24 -0700116#define TLV_ALIGNTO 4
Tao Baod7db5942015-01-28 10:07:51 -0800117#define TLV_ALIGN(datalen) (((datalen) + (TLV_ALIGNTO - 1)) & ~(TLV_ALIGNTO - 1))
Ben Cheng655a7c02013-10-16 16:09:24 -0700118#define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen))
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700119#define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen)))
Tao Baod7db5942015-01-28 10:07:51 -0800120#define TLV_DATA(tlv) ((void *) ((char *) (tlv) + TLV_LENGTH(0)))
Ben Cheng655a7c02013-10-16 16:09:24 -0700121struct tlv_list_desc {
Tao Baod7db5942015-01-28 10:07:51 -0800122 struct tlv_desc * tlv_ptr;
Tao Baod7db5942015-01-28 10:07:51 -0800123 __u32 tlv_space;
Ben Cheng655a7c02013-10-16 16:09:24 -0700124};
125#define TIPC_GENL_NAME "TIPC"
126#define TIPC_GENL_VERSION 0x1
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700127#define TIPC_GENL_CMD 0x1
Ben Cheng655a7c02013-10-16 16:09:24 -0700128struct tipc_genlmsghdr {
Tao Baod7db5942015-01-28 10:07:51 -0800129 __u32 dest;
130 __u16 cmd;
Tao Baod7db5942015-01-28 10:07:51 -0800131 __u16 reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700132};
133#define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr))
134struct tipc_cfg_msg_hdr {
Tao Baod7db5942015-01-28 10:07:51 -0800135 __be32 tcm_len;
136 __be16 tcm_type;
137 __be16 tcm_flags;
138 char tcm_reserved[8];
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700139};
Ben Cheng655a7c02013-10-16 16:09:24 -0700140#define TCM_F_REQUEST 0x1
141#define TCM_F_MORE 0x2
Tao Baod7db5942015-01-28 10:07:51 -0800142#define TCM_ALIGN(datalen) (((datalen) + 3) & ~3)
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700143#define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen)
Ben Cheng655a7c02013-10-16 16:09:24 -0700144#define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen)))
Tao Baod7db5942015-01-28 10:07:51 -0800145#define TCM_DATA(tcm_hdr) ((void *) ((char *) (tcm_hdr) + TCM_LENGTH(0)))
Ben Cheng655a7c02013-10-16 16:09:24 -0700146#endif