1 /*
2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2006 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * $COPYRIGHT$
13 *
14 * Additional copyrights may follow
15 *
16 * $HEADER$
17 */
18 /**
19 * @file
20 */
21 #ifndef MCA_ALLOCATOR_BASE_H
22 #define MCA_ALLOCATOR_BASE_H
23
24 #include "opal_config.h"
25
26 #include "opal/class/opal_list.h"
27 #include "opal/mca/mca.h"
28 #include "opal/mca/allocator/allocator.h"
29
30 BEGIN_C_DECLS
31 /**
32 * Structure which describes a selected module.
33 */
34 struct mca_allocator_base_selected_module_t {
35 opal_list_item_t super;
36 /**< Makes this an object of type opal_list_item */
37 mca_allocator_base_component_t *allocator_component;
38 /**< Info about the module */
39 mca_allocator_base_module_t *allocator_module;
40 /**< The function pointers for all the module's functions. */
41 };
42 /**
43 * Convenience typedef.
44 */
45 typedef struct mca_allocator_base_selected_module_t mca_allocator_base_selected_module_t;
46
47 /**
48 * Declaces mca_allocator_base_selected_module_t as a class.
49 */
50 OPAL_DECLSPEC OBJ_CLASS_DECLARATION(mca_allocator_base_selected_module_t);
51
52
53 OPAL_DECLSPEC mca_allocator_base_component_t* mca_allocator_component_lookup(const char* name);
54
55
56 /*
57 * Globals
58 */
59 /**
60 * The allocator framework
61 */
62 OPAL_DECLSPEC extern mca_base_framework_t opal_allocator_base_framework;
63
64 END_C_DECLS
65
66 #endif /* MCA_ALLOCATOR_BASE_H */