1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _LINUX_TIPC_CONFIG_H_ 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _LINUX_TIPC_CONFIG_H_ 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h> 22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/string.h> 23ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#include <linux/tipc.h> 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <asm/byteorder.h> 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <arpa/inet.h> 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_NOOP 0x0000 27ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_GET_NODES 0x0001 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MEDIA_NAMES 0x0002 29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_BEARER_NAMES 0x0003 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_LINKS 0x0004 31ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_SHOW_NAME_TABLE 0x0005 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SHOW_PORTS 0x0006 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SHOW_LINK_STATS 0x000B 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SHOW_STATS 0x000F 35ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_GET_REMOTE_MNG 0x4003 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_PORTS 0x4004 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_PUBL 0x4005 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_SUBSCR 0x4006 39ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_GET_MAX_ZONES 0x4007 40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_CLUSTERS 0x4008 41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_NODES 0x4009 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_GET_MAX_SLAVES 0x400A 43ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_GET_NETID 0x400B 44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_ENABLE_BEARER 0x4101 45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_DISABLE_BEARER 0x4102 46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_LINK_TOL 0x4107 47ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_SET_LINK_PRI 0x4108 48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_LINK_WINDOW 0x4109 49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_LOG_SIZE 0x410A 50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_DUMP_LOG 0x410B 51ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_RESET_LINK_STATS 0x410C 52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_NODE_ADDR 0x8001 53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_REMOTE_MNG 0x8003 54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_MAX_PORTS 0x8004 55ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_SET_MAX_PUBL 0x8005 56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_MAX_SUBSCR 0x8006 57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_MAX_ZONES 0x8007 58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_MAX_CLUSTERS 0x8008 59ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CMD_SET_MAX_NODES 0x8009 60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_MAX_SLAVES 0x800A 61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_SET_NETID 0x800B 62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CMD_NOT_NET_ADMIN 0xC001 63ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_TLV_NONE 0 64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_VOID 1 65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_UNSIGNED 2 66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_STRING 3 67ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_TLV_LARGE_STRING 4 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_ULTRA_STRING 5 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_ERROR_STRING 16 70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_NET_ADDR 17 71ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_TLV_MEDIA_NAME 18 72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_BEARER_NAME 19 73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_LINK_NAME 20 74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_NODE_INFO 21 75ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_TLV_LINK_INFO 22 76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_BEARER_CONFIG 23 77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_LINK_CONFIG 24 78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_TLV_NAME_TBL_QUERY 25 79ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_TLV_PORT_REF 26 80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_MIN_LINK_PRI 0 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_DEF_LINK_PRI 10 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_MAX_LINK_PRI 31 83ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1) 84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_MIN_LINK_TOL 50 85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_DEF_LINK_TOL 1500 86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_MAX_LINK_TOL 30000 87ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#if TIPC_MIN_LINK_TOL < 16 88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)" 89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_MIN_LINK_WIN 16 91ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_DEF_LINK_WIN 50 9282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define TIPC_MAX_LINK_WIN 8191 93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_node_info { 94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 addr; 95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 up; 96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_link_info { 98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 dest; 99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 up; 100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char str[TIPC_MAX_LINK_NAME]; 101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 102655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_bearer_config { 103d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 priority; 104d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 disc_domain; 105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char name[TIPC_MAX_BEARER_NAME]; 106655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 107ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferrisstruct tipc_link_config { 108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 value; 109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char name[TIPC_MAX_LINK_NAME]; 110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 111ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_NTQ_ALLTYPES 0x80000000 112655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_name_table_query { 113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 depth; 114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 type; 115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 lowbound; 116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 upbound; 117655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 118655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CFG_TLV_ERROR "\x80" 119ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CFG_NOT_NET_ADMIN "\x81" 120655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CFG_NOT_ZONE_MSTR "\x82" 121655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CFG_NO_REMOTE "\x83" 122655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_CFG_NOT_SUPPORTED "\x84" 123ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_CFG_INVALID_VALUE "\x85" 124655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tlv_desc { 125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 tlv_len; 126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 tlv_type; 127ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris}; 128655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TLV_ALIGNTO 4 129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define TLV_ALIGN(datalen) (((datalen) + (TLV_ALIGNTO - 1)) & ~(TLV_ALIGNTO - 1)) 130655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen)) 131ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen))) 132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define TLV_DATA(tlv) ((void *) ((char *) (tlv) + TLV_LENGTH(0))) 133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tlv_list_desc { 134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct tlv_desc * tlv_ptr; 135d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 tlv_space; 136655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 137655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_GENL_NAME "TIPC" 138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_GENL_VERSION 0x1 139ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TIPC_GENL_CMD 0x1 140655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_genlmsghdr { 141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 dest; 142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 cmd; 143d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 reserved; 144655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 145655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr)) 146655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tipc_cfg_msg_hdr { 147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 tcm_len; 148d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 tcm_type; 149d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 tcm_flags; 150d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char tcm_reserved[8]; 151ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris}; 152655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TCM_F_REQUEST 0x1 153655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TCM_F_MORE 0x2 154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define TCM_ALIGN(datalen) (((datalen) + 3) & ~3) 155ba8d4f460b51161eb82cf1006cb34a3cc1389f47Christopher Ferris#define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen) 156655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen))) 157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define TCM_DATA(tcm_hdr) ((void *) ((char *) (tcm_hdr) + TCM_LENGTH(0))) 158655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 159