OpenMPI  0.1.1
btl_elan_proc.h
1 /*
2  * Copyright (c) 2004-2011 The University of Tennessee and The University
3  * of Tennessee Research Foundation. All rights
4  * reserved.
5  * $COPYRIGHT$
6  *
7  * Additional copyrights may follow
8  *
9  * $HEADER$
10  */
11 
12 #ifndef MCA_BTL_ELAN_PROC_H
13 #define MCA_BTL_ELAN_PROC_H
14 
15 #include "opal/class/opal_object.h"
16 #include "ompi/proc/proc.h"
17 #include "btl_elan.h"
18 #include "btl_elan_endpoint.h"
19 
20 BEGIN_C_DECLS
21 
22 /**
23  * Represents the state of a remote process and the set of addresses
24  * that it exports. Also cache an instance of mca_btl_base_endpoint_t for
25  * each
26  * BTL instance that attempts to open a connection to the process.
27  */
30  /**< allow proc to be placed on a list */
31 
33  /**< pointer to corresponding ompi_proc_t */
34 
35  unsigned int *position_id_array;
36 
37  size_t proc_rail_count;
38  /**< number of addresses published by endpoint */
39 
41  /**< array of endpoints that have been created to access this proc */
42 
44  /**< number of endpoints */
45 
47  /**< lock to protect against concurrent access to proc state */
48 };
51 
52 mca_btl_elan_proc_t* mca_btl_elan_proc_create(ompi_proc_t* ompi_proc);
53 int mca_btl_elan_proc_insert(mca_btl_elan_proc_t*, mca_btl_base_endpoint_t*);
54 
55 END_C_DECLS
56 
57 #endif /* MCA_BTL_ELAN_PROC_H */
ompi_proc_t * proc_ompi
pointer to corresponding ompi_proc_t
Definition: btl_elan_proc.h:32
struct mca_btl_base_endpoint_t ** proc_endpoints
array of endpoints that have been created to access this proc
Definition: btl_elan_proc.h:40
Definition: mutex_unix.h:53
Process identification structure interface.
Remote Open MPI process structure.
Definition: proc.h:56
Definition: opal_list.h:98
size_t proc_endpoint_count
number of endpoints
Definition: btl_elan_proc.h:43
opal_mutex_t proc_lock
lock to protect against concurrent access to proc state
Definition: btl_elan_proc.h:46
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
opal_list_item_t super
allow proc to be placed on a list
Definition: btl_elan_proc.h:29
A simple C-language object-oriented system with single inheritance and ownership-based memory managem...
Represents the state of a remote process and the set of addresses that it exports.
Definition: btl_elan_proc.h:28
size_t proc_rail_count
number of addresses published by endpoint
Definition: btl_elan_proc.h:37
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236