123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- #ifndef _LINUX_TIPC_H_
- #define _LINUX_TIPC_H_
- #include <linux/types.h>
- #include <linux/sockios.h>
- struct tipc_portid {
- __u32 ref;
- __u32 node;
- };
- struct tipc_name {
- __u32 type;
- __u32 instance;
- };
- struct tipc_name_seq {
- __u32 type;
- __u32 lower;
- __u32 upper;
- };
- #define TIPC_NODE_BITS 12
- #define TIPC_CLUSTER_BITS 12
- #define TIPC_ZONE_BITS 8
- #define TIPC_NODE_OFFSET 0
- #define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
- #define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
- #define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
- #define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
- #define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
- #define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
- #define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
- #define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
- #define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
- static __inline__ __u32 tipc_addr(unsigned int zone,
- unsigned int cluster,
- unsigned int node)
- {
- return (zone << TIPC_ZONE_OFFSET) |
- (cluster << TIPC_CLUSTER_OFFSET) |
- node;
- }
- static __inline__ unsigned int tipc_zone(__u32 addr)
- {
- return addr >> TIPC_ZONE_OFFSET;
- }
- static __inline__ unsigned int tipc_cluster(__u32 addr)
- {
- return (addr & TIPC_CLUSTER_MASK) >> TIPC_CLUSTER_OFFSET;
- }
- static __inline__ unsigned int tipc_node(__u32 addr)
- {
- return addr & TIPC_NODE_MASK;
- }
- #define TIPC_CFG_SRV 0
- #define TIPC_TOP_SRV 1
- #define TIPC_LINK_STATE 2
- #define TIPC_RESERVED_TYPES 64
- #define TIPC_ZONE_SCOPE 1
- #define TIPC_CLUSTER_SCOPE 2
- #define TIPC_NODE_SCOPE 3
- #define TIPC_MAX_USER_MSG_SIZE 66000U
- #define TIPC_LOW_IMPORTANCE 0
- #define TIPC_MEDIUM_IMPORTANCE 1
- #define TIPC_HIGH_IMPORTANCE 2
- #define TIPC_CRITICAL_IMPORTANCE 3
- #define TIPC_OK 0
- #define TIPC_ERR_NO_NAME 1
- #define TIPC_ERR_NO_PORT 2
- #define TIPC_ERR_NO_NODE 3
- #define TIPC_ERR_OVERLOAD 4
- #define TIPC_CONN_SHUTDOWN 5
- #define TIPC_SUB_PORTS 0x01
- #define TIPC_SUB_SERVICE 0x02
- #define TIPC_SUB_CANCEL 0x04
- #define TIPC_WAIT_FOREVER (~0)
- struct tipc_subscr {
- struct tipc_name_seq seq;
- __u32 timeout;
- __u32 filter;
- char usr_handle[8];
- };
- #define TIPC_PUBLISHED 1
- #define TIPC_WITHDRAWN 2
- #define TIPC_SUBSCR_TIMEOUT 3
- struct tipc_event {
- __u32 event;
- __u32 found_lower;
- __u32 found_upper;
- struct tipc_portid port;
- struct tipc_subscr s;
- };
- #ifndef AF_TIPC
- #define AF_TIPC 30
- #endif
- #ifndef PF_TIPC
- #define PF_TIPC AF_TIPC
- #endif
- #ifndef SOL_TIPC
- #define SOL_TIPC 271
- #endif
- #define TIPC_ADDR_NAMESEQ 1
- #define TIPC_ADDR_MCAST 1
- #define TIPC_ADDR_NAME 2
- #define TIPC_ADDR_ID 3
- struct sockaddr_tipc {
- unsigned short family;
- unsigned char addrtype;
- signed char scope;
- union {
- struct tipc_portid id;
- struct tipc_name_seq nameseq;
- struct {
- struct tipc_name name;
- __u32 domain;
- } name;
- } addr;
- };
- #define TIPC_ERRINFO 1
- #define TIPC_RETDATA 2
- #define TIPC_DESTNAME 3
- #define TIPC_IMPORTANCE 127
- #define TIPC_SRC_DROPPABLE 128
- #define TIPC_DEST_DROPPABLE 129
- #define TIPC_CONN_TIMEOUT 130
- #define TIPC_NODE_RECVQ_DEPTH 131
- #define TIPC_SOCK_RECVQ_DEPTH 132
- #define TIPC_MAX_MEDIA_NAME 16
- #define TIPC_MAX_IF_NAME 16
- #define TIPC_MAX_BEARER_NAME 32
- #define TIPC_MAX_LINK_NAME 60
- #define SIOCGETLINKNAME SIOCPROTOPRIVATE
- struct tipc_sioc_ln_req {
- __u32 peer;
- __u32 bearer_id;
- char linkname[TIPC_MAX_LINK_NAME];
- };
- #endif
|