1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _LINUX_TIPC_CONFIG_H_ 20 #define _LINUX_TIPC_CONFIG_H_ 21 #include <linux/types.h> 22 #include <linux/string.h> 23 #include <linux/tipc.h> 24 #include <asm/byteorder.h> 25 #include <arpa/inet.h> 26 #define TIPC_CMD_NOOP 0x0000 27 #define TIPC_CMD_GET_NODES 0x0001 28 #define TIPC_CMD_GET_MEDIA_NAMES 0x0002 29 #define TIPC_CMD_GET_BEARER_NAMES 0x0003 30 #define TIPC_CMD_GET_LINKS 0x0004 31 #define TIPC_CMD_SHOW_NAME_TABLE 0x0005 32 #define TIPC_CMD_SHOW_PORTS 0x0006 33 #define TIPC_CMD_SHOW_LINK_STATS 0x000B 34 #define TIPC_CMD_SHOW_STATS 0x000F 35 #define TIPC_CMD_GET_REMOTE_MNG 0x4003 36 #define TIPC_CMD_GET_MAX_PORTS 0x4004 37 #define TIPC_CMD_GET_MAX_PUBL 0x4005 38 #define TIPC_CMD_GET_MAX_SUBSCR 0x4006 39 #define TIPC_CMD_GET_MAX_ZONES 0x4007 40 #define TIPC_CMD_GET_MAX_CLUSTERS 0x4008 41 #define TIPC_CMD_GET_MAX_NODES 0x4009 42 #define TIPC_CMD_GET_MAX_SLAVES 0x400A 43 #define TIPC_CMD_GET_NETID 0x400B 44 #define TIPC_CMD_ENABLE_BEARER 0x4101 45 #define TIPC_CMD_DISABLE_BEARER 0x4102 46 #define TIPC_CMD_SET_LINK_TOL 0x4107 47 #define TIPC_CMD_SET_LINK_PRI 0x4108 48 #define TIPC_CMD_SET_LINK_WINDOW 0x4109 49 #define TIPC_CMD_SET_LOG_SIZE 0x410A 50 #define TIPC_CMD_DUMP_LOG 0x410B 51 #define TIPC_CMD_RESET_LINK_STATS 0x410C 52 #define TIPC_CMD_SET_NODE_ADDR 0x8001 53 #define TIPC_CMD_SET_REMOTE_MNG 0x8003 54 #define TIPC_CMD_SET_MAX_PORTS 0x8004 55 #define TIPC_CMD_SET_MAX_PUBL 0x8005 56 #define TIPC_CMD_SET_MAX_SUBSCR 0x8006 57 #define TIPC_CMD_SET_MAX_ZONES 0x8007 58 #define TIPC_CMD_SET_MAX_CLUSTERS 0x8008 59 #define TIPC_CMD_SET_MAX_NODES 0x8009 60 #define TIPC_CMD_SET_MAX_SLAVES 0x800A 61 #define TIPC_CMD_SET_NETID 0x800B 62 #define TIPC_CMD_NOT_NET_ADMIN 0xC001 63 #define TIPC_TLV_NONE 0 64 #define TIPC_TLV_VOID 1 65 #define TIPC_TLV_UNSIGNED 2 66 #define TIPC_TLV_STRING 3 67 #define TIPC_TLV_LARGE_STRING 4 68 #define TIPC_TLV_ULTRA_STRING 5 69 #define TIPC_TLV_ERROR_STRING 16 70 #define TIPC_TLV_NET_ADDR 17 71 #define TIPC_TLV_MEDIA_NAME 18 72 #define TIPC_TLV_BEARER_NAME 19 73 #define TIPC_TLV_LINK_NAME 20 74 #define TIPC_TLV_NODE_INFO 21 75 #define TIPC_TLV_LINK_INFO 22 76 #define TIPC_TLV_BEARER_CONFIG 23 77 #define TIPC_TLV_LINK_CONFIG 24 78 #define TIPC_TLV_NAME_TBL_QUERY 25 79 #define TIPC_TLV_PORT_REF 26 80 #define TIPC_MIN_LINK_PRI 0 81 #define TIPC_DEF_LINK_PRI 10 82 #define TIPC_MAX_LINK_PRI 31 83 #define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1) 84 #define TIPC_MIN_LINK_TOL 50 85 #define TIPC_DEF_LINK_TOL 1500 86 #define TIPC_MAX_LINK_TOL 30000 87 #if TIPC_MIN_LINK_TOL < 16 88 #error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)" 89 #endif 90 #define TIPC_MIN_LINK_WIN 16 91 #define TIPC_DEF_LINK_WIN 50 92 #define TIPC_MAX_LINK_WIN 8191 93 #define TIPC_DEF_LINK_UDP_MTU 14000 94 struct tipc_node_info { 95 __be32 addr; 96 __be32 up; 97 }; 98 struct tipc_link_info { 99 __be32 dest; 100 __be32 up; 101 char str[TIPC_MAX_LINK_NAME]; 102 }; 103 struct tipc_bearer_config { 104 __be32 priority; 105 __be32 disc_domain; 106 char name[TIPC_MAX_BEARER_NAME]; 107 }; 108 struct tipc_link_config { 109 __be32 value; 110 char name[TIPC_MAX_LINK_NAME]; 111 }; 112 #define TIPC_NTQ_ALLTYPES 0x80000000 113 struct tipc_name_table_query { 114 __be32 depth; 115 __be32 type; 116 __be32 lowbound; 117 __be32 upbound; 118 }; 119 #define TIPC_CFG_TLV_ERROR "\x80" 120 #define TIPC_CFG_NOT_NET_ADMIN "\x81" 121 #define TIPC_CFG_NOT_ZONE_MSTR "\x82" 122 #define TIPC_CFG_NO_REMOTE "\x83" 123 #define TIPC_CFG_NOT_SUPPORTED "\x84" 124 #define TIPC_CFG_INVALID_VALUE "\x85" 125 struct tlv_desc { 126 __be16 tlv_len; 127 __be16 tlv_type; 128 }; 129 #define TLV_ALIGNTO 4 130 #define TLV_ALIGN(datalen) (((datalen) + (TLV_ALIGNTO - 1)) & ~(TLV_ALIGNTO - 1)) 131 #define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen)) 132 #define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen))) 133 #define TLV_DATA(tlv) ((void *) ((char *) (tlv) + TLV_LENGTH(0))) 134 struct tlv_list_desc { 135 struct tlv_desc * tlv_ptr; 136 __u32 tlv_space; 137 }; 138 #define TIPC_GENL_NAME "TIPC" 139 #define TIPC_GENL_VERSION 0x1 140 #define TIPC_GENL_CMD 0x1 141 struct tipc_genlmsghdr { 142 __u32 dest; 143 __u16 cmd; 144 __u16 reserved; 145 }; 146 #define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr)) 147 struct tipc_cfg_msg_hdr { 148 __be32 tcm_len; 149 __be16 tcm_type; 150 __be16 tcm_flags; 151 char tcm_reserved[8]; 152 }; 153 #define TCM_F_REQUEST 0x1 154 #define TCM_F_MORE 0x2 155 #define TCM_ALIGN(datalen) (((datalen) + 3) & ~3) 156 #define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen) 157 #define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen))) 158 #define TCM_DATA(tcm_hdr) ((void *) ((char *) (tcm_hdr) + TCM_LENGTH(0))) 159 #endif 160