OpenMPI  0.1.1
btl_tcp_addr.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2007 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * $COPYRIGHT$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 /**
19  * @file
20  */
21 #ifndef MCA_BTL_TCP_ADDR_H
22 #define MCA_BTL_TCP_ADDR_H
23 
24 #ifdef HAVE_SYS_TYPES_H
25 #include <sys/types.h>
26 #endif
27 #ifdef HAVE_SYS_SOCKET_H
28 #include <sys/socket.h>
29 #endif
30 #ifdef HAVE_NETINET_IN_H
31 #include <netinet/in.h>
32 #endif
33 
34 
35 /**
36  * Structure used to publish TCP connection information to peers.
37  */
38 
40  /* the following information is exchanged between different
41  machines (read: byte order), so use network byte order
42  for everything and don't add padding
43  */
44 #if OPAL_WANT_IPV6
45  struct in6_addr addr_inet; /**< IPv4/IPv6 listen address > */
46 #else
47  /* Bug, FIXME: needs testing */
48  struct my_in6_addr {
49  union {
50  uint32_t u6_addr32[4];
51  struct _my_in6_addr {
52  struct in_addr _addr_inet;
53  uint32_t _pad[3];
54  } _addr__inet;
55  } _union_inet;
56  } addr_inet;
57 #endif
58  in_port_t addr_port; /**< listen port */
59  uint16_t addr_ifkindex; /**< remote interface index assigned with
60  this address */
61  unsigned short addr_inuse; /**< local meaning only */
62  uint8_t addr_family; /**< AF_INET or AF_INET6 */
63 };
65 
66 #define MCA_BTL_TCP_AF_INET 0
67 #if OPAL_WANT_IPV6
68 # define MCA_BTL_TCP_AF_INET6 1
69 #endif
70 
71 #endif
72 
in_port_t addr_port
listen port
Definition: btl_tcp_addr.h:58
uint16_t addr_ifkindex
remote interface index assigned with this address
Definition: btl_tcp_addr.h:59
unsigned short addr_inuse
local meaning only
Definition: btl_tcp_addr.h:61
Structure used to publish TCP connection information to peers.
Definition: btl_tcp_addr.h:39
Definition: btl_tcp_addr.h:48
Definition: ipv6-internal.h:51
uint8_t addr_family
AF_INET or AF_INET6.
Definition: btl_tcp_addr.h:62