1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef OPAL_CONVERTOR_INTERNAL_HAS_BEEN_INCLUDED
17 #define OPAL_CONVERTOR_INTERNAL_HAS_BEEN_INCLUDED
18
19 #include "opal_config.h"
20
21 #include "opal/datatype/opal_convertor.h"
22
23 BEGIN_C_DECLS
24
25 typedef int32_t (*conversion_fct_t)( opal_convertor_t* pConvertor, uint32_t count,
26 const void* from, size_t from_len, ptrdiff_t from_extent,
27 void* to, size_t to_length, ptrdiff_t to_extent,
28 ptrdiff_t *advance );
29
30 typedef struct opal_convertor_master_t {
31 struct opal_convertor_master_t* next;
32 uint32_t remote_arch;
33 uint32_t flags;
34 uint32_t hetero_mask;
35 const size_t remote_sizes[OPAL_DATATYPE_MAX_PREDEFINED];
36 conversion_fct_t* pFunctions;
37 } opal_convertor_master_t;
38
39
40
41
42
43
44 opal_convertor_master_t* opal_convertor_find_or_create_master( uint32_t remote_arch );
45
46
47
48
49
50 void opal_convertor_destroy_masters( void );
51
52
53 #if OPAL_ENABLE_DEBUG
54 extern bool opal_pack_debug;
55 extern bool opal_unpack_debug;
56 #endif
57
58 END_C_DECLS
59
60 #endif