1
1
openmpi/orte/mca/oob/tcp/oob_tcp_hdr.h
Ralph Castain d70e2e8c2b Merge the ORTE devel branch into the main trunk. Details of what this means will be circulated separately.
Remains to be tested to ensure everything came over cleanly, so please continue to withhold commits a little longer

This commit was SVN r17632.
2008-02-28 01:57:57 +00:00

76 строки
2.2 KiB
C

/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/** @file:
*
* Contains header used by tcp oob.
*/
#ifndef _MCA_OOB_TCP_HDR_H_
#define _MCA_OOB_TCP_HDR_H_
#include "orte_config.h"
#include "orte/types.h"
BEGIN_C_DECLS
#define MCA_OOB_TCP_PROBE 1
#define MCA_OOB_TCP_CONNECT 2
#define MCA_OOB_TCP_IDENT 3
#define MCA_OOB_TCP_DATA 4
#define MCA_OOB_TCP_PING 5
/**
* Header used by tcp oob protocol.
*/
struct mca_oob_tcp_hdr_t {
orte_process_name_t msg_origin;
orte_process_name_t msg_src;
orte_process_name_t msg_dst;
uint32_t msg_type; /**< type of message */
uint32_t msg_size; /**< the total size of the message body - excluding header */
int32_t msg_tag; /**< user provided tag */
};
typedef struct mca_oob_tcp_hdr_t mca_oob_tcp_hdr_t;
/**
* Convert the message header to host byte order
*/
#define MCA_OOB_TCP_HDR_NTOH(h) \
ORTE_PROCESS_NAME_NTOH((h)->msg_origin); \
ORTE_PROCESS_NAME_NTOH((h)->msg_src); \
ORTE_PROCESS_NAME_NTOH((h)->msg_dst); \
(h)->msg_type = ntohl((h)->msg_type); \
(h)->msg_size = ntohl((h)->msg_size); \
(h)->msg_tag = ntohl((h)->msg_tag);
/**
* Convert the message header to network byte order
*/
#define MCA_OOB_TCP_HDR_HTON(h) \
ORTE_PROCESS_NAME_HTON((h)->msg_origin); \
ORTE_PROCESS_NAME_HTON((h)->msg_src); \
ORTE_PROCESS_NAME_HTON((h)->msg_dst); \
(h)->msg_type = htonl((h)->msg_type); \
(h)->msg_size = htonl((h)->msg_size); \
(h)->msg_tag = htonl((h)->msg_tag);
END_C_DECLS
#endif /* _MCA_OOB_TCP_MESSAGE_H_ */