OpenMPI  0.1.1
opal_convertor_internal.h
1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /*
3  * Copyright (c) 2004-2006 The University of Tennessee and The University
4  * of Tennessee Research Foundation. All rights
5  * reserved.
6  * Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
7  * $COPYRIGHT$
8  *
9  * Additional copyrights may follow
10  *
11  * $HEADER$
12  */
13 #ifndef OPAL_CONVERTOR_INTERNAL_HAS_BEEN_INCLUDED
14 #define OPAL_CONVERTOR_INTERNAL_HAS_BEEN_INCLUDED
15 
16 #include "opal_config.h"
17 
18 #include <stddef.h>
19 
20 #include "opal/constants.h"
21 #include "opal/datatype/opal_datatype.h"
22 #include "opal/datatype/opal_convertor.h"
23 
24 BEGIN_C_DECLS
25 
26 typedef int32_t (*conversion_fct_t)( opal_convertor_t* pConvertor, uint32_t count,
27  const void* from, size_t from_len, OPAL_PTRDIFF_TYPE from_extent,
28  void* to, size_t to_length, OPAL_PTRDIFF_TYPE to_extent,
29  OPAL_PTRDIFF_TYPE *advance );
30 
31 typedef struct opal_convertor_master_t {
32  struct opal_convertor_master_t* next;
33  uint32_t remote_arch;
34  uint32_t flags;
35  uint32_t hetero_mask;
36  const size_t remote_sizes[OPAL_DATATYPE_MAX_PREDEFINED];
37  conversion_fct_t* pFunctions; /**< the convertor functions pointer */
39 
40 /*
41  * Find or create a new master convertor based on a specific architecture. The master
42  * convertor hold all informations related to a defined architecture, such as the sizes
43  * of the predefined data-types, the conversion functions, ...
44  */
45 opal_convertor_master_t* opal_convertor_find_or_create_master( uint32_t remote_arch );
46 
47 /*
48  * Destroy all pending master convertors. This function is usually called when we
49  * shutdown the data-type engine, once all convertors have been destroyed.
50  */
51 void opal_convertor_destroy_masters( void );
52 
53 END_C_DECLS
54 
55 #endif /* OPAL_CONVERTOR_INTERNAL_HAS_BEEN_INCLUDED */
conversion_fct_t * pFunctions
the convertor functions pointer
Definition: opal_convertor_internal.h:37
Definition: opal_convertor_internal.h:31
Definition: opal_convertor.h:90