tipc.h revision 525ce914edf136d2bd02ac8c404d56c52e737f4d
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_H_ 20#define _LINUX_TIPC_H_ 21#include <linux/types.h> 22#include <linux/sockios.h> 23struct tipc_portid { 24 __u32 ref; 25 __u32 node; 26}; 27struct tipc_name { 28 __u32 type; 29 __u32 instance; 30}; 31struct tipc_name_seq { 32 __u32 type; 33 __u32 lower; 34 __u32 upper; 35}; 36#define TIPC_NODE_BITS 12 37#define TIPC_CLUSTER_BITS 12 38#define TIPC_ZONE_BITS 8 39#define TIPC_NODE_OFFSET 0 40#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS 41#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS) 42#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1) 43#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1) 44#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1) 45#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET) 46#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET) 47#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET) 48#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK) 49#define TIPC_CFG_SRV 0 50#define TIPC_TOP_SRV 1 51#define TIPC_LINK_STATE 2 52#define TIPC_RESERVED_TYPES 64 53#define TIPC_ZONE_SCOPE 1 54#define TIPC_CLUSTER_SCOPE 2 55#define TIPC_NODE_SCOPE 3 56#define TIPC_MAX_USER_MSG_SIZE 66000U 57#define TIPC_LOW_IMPORTANCE 0 58#define TIPC_MEDIUM_IMPORTANCE 1 59#define TIPC_HIGH_IMPORTANCE 2 60#define TIPC_CRITICAL_IMPORTANCE 3 61#define TIPC_OK 0 62#define TIPC_ERR_NO_NAME 1 63#define TIPC_ERR_NO_PORT 2 64#define TIPC_ERR_NO_NODE 3 65#define TIPC_ERR_OVERLOAD 4 66#define TIPC_CONN_SHUTDOWN 5 67#define TIPC_SUB_PORTS 0x01 68#define TIPC_SUB_SERVICE 0x02 69#define TIPC_SUB_CANCEL 0x04 70#define TIPC_WAIT_FOREVER (~0) 71struct tipc_subscr { 72 struct tipc_name_seq seq; 73 __u32 timeout; 74 __u32 filter; 75 char usr_handle[8]; 76}; 77#define TIPC_PUBLISHED 1 78#define TIPC_WITHDRAWN 2 79#define TIPC_SUBSCR_TIMEOUT 3 80struct tipc_event { 81 __u32 event; 82 __u32 found_lower; 83 __u32 found_upper; 84 struct tipc_portid port; 85 struct tipc_subscr s; 86}; 87#ifndef AF_TIPC 88#define AF_TIPC 30 89#endif 90#ifndef PF_TIPC 91#define PF_TIPC AF_TIPC 92#endif 93#ifndef SOL_TIPC 94#define SOL_TIPC 271 95#endif 96#define TIPC_ADDR_NAMESEQ 1 97#define TIPC_ADDR_MCAST 1 98#define TIPC_ADDR_NAME 2 99#define TIPC_ADDR_ID 3 100struct sockaddr_tipc { 101 unsigned short family; 102 unsigned char addrtype; 103 signed char scope; 104 union { 105 struct tipc_portid id; 106 struct tipc_name_seq nameseq; 107 struct { 108 struct tipc_name name; 109 __u32 domain; 110 } name; 111 } addr; 112}; 113#define TIPC_ERRINFO 1 114#define TIPC_RETDATA 2 115#define TIPC_DESTNAME 3 116#define TIPC_IMPORTANCE 127 117#define TIPC_SRC_DROPPABLE 128 118#define TIPC_DEST_DROPPABLE 129 119#define TIPC_CONN_TIMEOUT 130 120#define TIPC_NODE_RECVQ_DEPTH 131 121#define TIPC_SOCK_RECVQ_DEPTH 132 122#define TIPC_MCAST_BROADCAST 133 123#define TIPC_MCAST_REPLICAST 134 124#define TIPC_MAX_MEDIA_NAME 16 125#define TIPC_MAX_IF_NAME 16 126#define TIPC_MAX_BEARER_NAME 32 127#define TIPC_MAX_LINK_NAME 60 128#define SIOCGETLINKNAME SIOCPROTOPRIVATE 129struct tipc_sioc_ln_req { 130 __u32 peer; 131 __u32 bearer_id; 132 char linkname[TIPC_MAX_LINK_NAME]; 133}; 134#endif 135