81 строка
2.3 KiB
C
81 строка
2.3 KiB
C
/*
|
|
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
|
* Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
/** @file:
|
|
*/
|
|
|
|
#ifndef MCA_DB_BASE_H
|
|
#define MCA_DB_BASE_H
|
|
|
|
#include "orte_config.h"
|
|
#include "orte/types.h"
|
|
|
|
#include "opal/mca/mca.h"
|
|
#include "opal/class/opal_list.h"
|
|
#include "opal/dss/dss.h"
|
|
|
|
#include "orte/mca/db/db.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* Open the db framework
|
|
*/
|
|
ORTE_DECLSPEC int orte_db_base_open(void);
|
|
|
|
/**
|
|
* Select a db module
|
|
*/
|
|
ORTE_DECLSPEC int orte_db_base_select(void);
|
|
|
|
/**
|
|
* Close the db framework
|
|
*/
|
|
ORTE_DECLSPEC int orte_db_base_close(void);
|
|
|
|
typedef struct {
|
|
opal_list_item_t super;
|
|
int pri;
|
|
orte_db_base_module_t *module;
|
|
mca_base_component_t *component;
|
|
} orte_db_active_module_t;
|
|
OBJ_CLASS_DECLARATION(orte_db_active_module_t);
|
|
|
|
typedef struct {
|
|
int output;
|
|
opal_list_t available_components;
|
|
opal_list_t active_modules;
|
|
} orte_db_base_t;
|
|
ORTE_DECLSPEC extern orte_db_base_t orte_db_base;
|
|
|
|
ORTE_DECLSPEC int orte_db_base_store(const orte_process_name_t *proc,
|
|
const char *key, const void *object,
|
|
opal_data_type_t type);
|
|
ORTE_DECLSPEC int orte_db_base_store_pointer(const orte_process_name_t *proc,
|
|
opal_value_t *kv);
|
|
ORTE_DECLSPEC int orte_db_base_fetch(const orte_process_name_t *proc,
|
|
const char *key, void **data,
|
|
opal_data_type_t type);
|
|
ORTE_DECLSPEC int orte_db_base_fetch_pointer(const orte_process_name_t *proc,
|
|
const char *key,
|
|
void **data, opal_data_type_t type);
|
|
ORTE_DECLSPEC int orte_db_base_fetch_multiple(const orte_process_name_t *proc,
|
|
const char *key,
|
|
opal_list_t *kvs);
|
|
ORTE_DECLSPEC int orte_db_base_remove_data(const orte_process_name_t *proc,
|
|
const char *key);
|
|
|
|
ORTE_DECLSPEC int orte_db_base_add_log(const char *table,
|
|
const opal_value_t *kvs, int nkvs);
|
|
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|