OpenMPI  0.1.1
vprotocol_example.h
1 /*
2  * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
3  * All rights reserved.
4  * $COPYRIGHT$
5  *
6  * Additional copyrights may follow
7  *
8  * $HEADER$
9  */
10 
11 #ifndef __INCLUDE_VPROTOCOL_EXAMPLE_H__
12 #define __INCLUDE_VPROTOCOL_EXAMPLE_H__
13 
14 #include "ompi_config.h"
15 #include "../pml_v.h"
16 #include "../pml_v_protocol.h"
17 
18 #include "vprotocol_example_wait.h"
19 #include "ompi/communicator/communicator.h"
20 
22  mca_pml_v_protocol_base_module_t super;
23 /**
24  * Insert here your own protocol structures
25  */
27 
28 extern mca_vprotocol_example_module_t mca_vprotocol_example;
29 
30 OMPI_DECLSPEC int mca_vprotocol_example_add_procs(struct ompi_proc_t **procs, size_t nprocs);
31 OMPI_DECLSPEC int mca_vprotocol_example_del_procs(struct ompi_proc_t **procs, size_t nprocs);
32 OMPI_DECLSPEC int mca_vprotocol_example_enable(bool enable);
33 OMPI_DECLSPEC int mca_vprotocol_example_progress(void);
34 OMPI_DECLSPEC int mca_vprotocol_example_add_comm(struct ompi_communicator_t* comm);
35 OMPI_DECLSPEC int mca_vprotocol_example_del_comm(struct ompi_communicator_t* comm);
36 
37 OMPI_DECLSPEC int mca_vprotocol_example_irecv_init(void *buf,
38  size_t count,
39  struct ompi_datatype_t *datatype,
40  int src,
41  int tag,
42  struct ompi_communicator_t* comm,
43  struct ompi_request_t **request );
44 OMPI_DECLSPEC int mca_vprotocol_example_irecv(void *addr,
45  size_t count,
46  ompi_datatype_t * datatype,
47  int src,
48  int tag,
49  struct ompi_communicator_t *comm,
50  struct ompi_request_t **request );
51 OMPI_DECLSPEC int mca_vprotocol_example_recv(void *addr,
52  size_t count,
53  ompi_datatype_t * datatype,
54  int src,
55  int tag,
56  struct ompi_communicator_t *comm,
57  ompi_status_public_t * status );
58 
59 OMPI_DECLSPEC int mca_vprotocol_example_isend_init(void *buf,
60  size_t count,
61  struct ompi_datatype_t *datatype,
62  int dst,
63  int tag,
64  mca_pml_base_send_mode_t mode,
65  struct ompi_communicator_t* comm,
66  struct ompi_request_t **request );
67 OMPI_DECLSPEC int mca_vprotocol_example_isend(void *buf,
68  size_t count,
69  ompi_datatype_t* datatype,
70  int dst,
71  int tag,
72  mca_pml_base_send_mode_t sendmode,
73  ompi_communicator_t* comm,
75 OMPI_DECLSPEC int mca_vprotocol_example_send(void *buf,
76  size_t count,
77  ompi_datatype_t* datatype,
78  int dst,
79  int tag,
80  mca_pml_base_send_mode_t sendmode,
81  ompi_communicator_t* comm );
82 
83 OMPI_DECLSPEC int mca_vprotocol_example_iprobe(int src, int tag,
84  struct ompi_communicator_t *comm,
85  int *matched, ompi_status_public_t * status );
86 OMPI_DECLSPEC int mca_vprotocol_example_probe(int src, int tag,
87  struct ompi_communicator_t *comm,
88  ompi_status_public_t * status );
89 
90 OMPI_DECLSPEC int mca_vprotocol_example_start(size_t count,
91  struct ompi_request_t** requests );
92 
93 OMPI_DECLSPEC int mca_vprotocol_example_dump(struct ompi_communicator_t* comm,
94  int verbose );
95 
96 #endif /* __INCLUDE_VPROTOCOL_EXAMPLE_H__ */
Definition: ompi_datatype.h:68
Remote Open MPI process structure.
Definition: proc.h:56
Definition: mpi.h:337
Definition: evdns.c:158
Definition: communicator.h:118
Main top-level request struct definition.
Definition: request.h:100
Definition: vprotocol_example.h:21