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 */