root/contrib/build-mca-comps-outside-of-tree/btl_tcp2_addr.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 (c) 2011      Cisco Systems, Inc.  All rights reserved.
  13  * $COPYRIGHT$
  14  *
  15  * Additional copyrights may follow
  16  *
  17  * $HEADER$
  18  */
  19 /**
  20  * @file
  21  */
  22 #ifndef MCA_BTL_TCP_ADDR_H
  23 #define MCA_BTL_TCP_ADDR_H
  24 
  25 #ifdef HAVE_SYS_TYPES_H
  26 #include <sys/types.h>
  27 #endif
  28 #ifdef HAVE_SYS_SOCKET_H
  29 #include <sys/socket.h>
  30 #endif
  31 #ifdef HAVE_NETINET_IN_H
  32 #include <netinet/in.h>
  33 #endif
  34 
  35 
  36 /**
  37  * Structure used to publish TCP connection information to peers.
  38  */
  39 
  40 struct mca_btl_tcp2_addr_t {
  41     /* the following information is exchanged between different
  42        machines (read: byte order), so use network byte order
  43        for everything and don't add padding
  44     */
  45 #if OPAL_ENABLE_IPV6
  46     struct in6_addr addr_inet;    /**< IPv4/IPv6 listen address > */
  47 #else
  48     /* Bug, FIXME: needs testing */
  49     struct my_in6_addr {
  50         union {
  51             uint32_t u6_addr32[4];
  52             struct _my_in6_addr {
  53                 struct in_addr _addr_inet;
  54                 uint32_t _pad[3];
  55             } _addr__inet;
  56         } _union_inet;
  57     } addr_inet;
  58 #endif
  59     in_port_t      addr_port;     /**< listen port */
  60     uint16_t       addr_ifkindex; /**< remote interface index assigned with
  61                                     this address */
  62     unsigned short addr_inuse;    /**< local meaning only */
  63     uint8_t        addr_family;   /**< AF_INET or AF_INET6 */
  64 };
  65 typedef struct mca_btl_tcp2_addr_t mca_btl_tcp2_addr_t;
  66 
  67 #define MCA_BTL_TCP_AF_INET     0
  68 #if OPAL_ENABLE_IPV6
  69 # define MCA_BTL_TCP_AF_INET6   1
  70 #endif
  71 
  72 #endif
  73 

/* [<][>][^][v][top][bottom][index][help] */