|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
|
|
Packit Service |
54dbc3 |
* Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
|
|
Packit Service |
54dbc3 |
* Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* This software is available to you under a choice of one of two
|
|
Packit Service |
54dbc3 |
* licenses. You may choose to be licensed under the terms of the GNU
|
|
Packit Service |
54dbc3 |
* General Public License (GPL) Version 2, available from the file
|
|
Packit Service |
54dbc3 |
* COPYING in the main directory of this source tree, or the
|
|
Packit Service |
54dbc3 |
* OpenIB.org BSD license below:
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* Redistribution and use in source and binary forms, with or
|
|
Packit Service |
54dbc3 |
* without modification, are permitted provided that the following
|
|
Packit Service |
54dbc3 |
* conditions are met:
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* - Redistributions of source code must retain the above
|
|
Packit Service |
54dbc3 |
* copyright notice, this list of conditions and the following
|
|
Packit Service |
54dbc3 |
* disclaimer.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* - Redistributions in binary form must reproduce the above
|
|
Packit Service |
54dbc3 |
* copyright notice, this list of conditions and the following
|
|
Packit Service |
54dbc3 |
* disclaimer in the documentation and/or other materials
|
|
Packit Service |
54dbc3 |
* provided with the distribution.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
Packit Service |
54dbc3 |
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
Packit Service |
54dbc3 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
Packit Service |
54dbc3 |
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
Packit Service |
54dbc3 |
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
Packit Service |
54dbc3 |
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
Packit Service |
54dbc3 |
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
Packit Service |
54dbc3 |
* SOFTWARE.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
#ifndef _OSM_DB_H_
|
|
Packit Service |
54dbc3 |
#define _OSM_DB_H_
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* Abstract:
|
|
Packit Service |
54dbc3 |
* Declaration of the DB interface.
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
#include <complib/cl_list.h>
|
|
Packit Service |
54dbc3 |
#include <complib/cl_spinlock.h>
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
struct osm_log;
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
#ifdef __cplusplus
|
|
Packit Service |
54dbc3 |
# define BEGIN_C_DECLS extern "C" {
|
|
Packit Service |
54dbc3 |
# define END_C_DECLS }
|
|
Packit Service |
54dbc3 |
#else /* !__cplusplus */
|
|
Packit Service |
54dbc3 |
# define BEGIN_C_DECLS
|
|
Packit Service |
54dbc3 |
# define END_C_DECLS
|
|
Packit Service |
54dbc3 |
#endif /* __cplusplus */
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
BEGIN_C_DECLS
|
|
Packit Service |
54dbc3 |
/****h* OpenSM/Database
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* Database
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* The OpenSM database interface provide the means to restore persistent
|
|
Packit Service |
54dbc3 |
* data, query, modify, delete and eventually commit it back to the
|
|
Packit Service |
54dbc3 |
* persistent media.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* The interface is defined such that it can is not "data dependent":
|
|
Packit Service |
54dbc3 |
* All keys and data items are texts.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* The DB implementation should be thread safe, thus callers do not need to
|
|
Packit Service |
54dbc3 |
* provide serialization.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* This object should be treated as opaque and should be
|
|
Packit Service |
54dbc3 |
* manipulated only through the provided functions.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* AUTHOR
|
|
Packit Service |
54dbc3 |
* Eitan Zahavi, Mellanox Technologies LTD
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
/****s* OpenSM: Database/osm_db_domain_t
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_domain_t
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* A domain of the database. Can be viewed as a database table.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* The osm_db_domain_t object should be treated as opaque and should
|
|
Packit Service |
54dbc3 |
* be manipulated only through the provided functions.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
typedef struct osm_db_domain {
|
|
Packit Service |
54dbc3 |
struct osm_db *p_db;
|
|
Packit Service |
54dbc3 |
void *p_domain_imp;
|
|
Packit Service |
54dbc3 |
} osm_db_domain_t;
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* FIELDS
|
|
Packit Service |
54dbc3 |
* p_db
|
|
Packit Service |
54dbc3 |
* Pointer to the parent database object.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain_imp
|
|
Packit Service |
54dbc3 |
* Pointer to the db implementation object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* osm_db_t
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****s* OpenSM: Database/osm_db_t
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_t
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* The main database object.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* The osm_db_t object should be treated as opaque and should
|
|
Packit Service |
54dbc3 |
* be manipulated only through the provided functions.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
typedef struct osm_db {
|
|
Packit Service |
54dbc3 |
void *p_db_imp;
|
|
Packit Service |
54dbc3 |
struct osm_log *p_log;
|
|
Packit Service |
54dbc3 |
cl_list_t domains;
|
|
Packit Service |
54dbc3 |
} osm_db_t;
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* FIELDS
|
|
Packit Service |
54dbc3 |
* p_db_imp
|
|
Packit Service |
54dbc3 |
* Pointer to the database implementation object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_log
|
|
Packit Service |
54dbc3 |
* Pointer to the OSM logging facility
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* domains
|
|
Packit Service |
54dbc3 |
* List of initialize domains
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_construct
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_construct
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Construct a database.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
void osm_db_construct(IN osm_db_t * p_db);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
* p_db
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database object to construct
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* NONE
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_init, osm_db_destroy
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_destroy
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_destroy
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Destroys the osm_db_t structure.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
void osm_db_destroy(IN osm_db_t * p_db);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
* p_db
|
|
Packit Service |
54dbc3 |
* [in] Pointer to osm_db_t structure to destroy
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_construct, osm_db_init
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_init
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_init
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Initializes the osm_db_t structure.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_init(IN osm_db_t * p_db, IN struct osm_log * p_log);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_db
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database object to initialize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_log
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the OSM logging facility
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 on success 1 otherwise
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_construct, osm_db_destroy
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_domain_init
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_domain_init
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Initializes the osm_db_domain_t structure.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
osm_db_domain_t *osm_db_domain_init(IN osm_db_t * p_db, IN const char *domain_name);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_db
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database object to initialize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* domain_name
|
|
Packit Service |
54dbc3 |
* [in] a char array with the domain name.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* pointer to the new domain object or NULL if failed.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_construct, osm_db_destroy
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_restore
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_restore
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Reads the entire domain from persistent storage - overrides all
|
|
Packit Service |
54dbc3 |
* existing cached data (if any).
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_restore(IN osm_db_domain_t * p_domain);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object to restore
|
|
Packit Service |
54dbc3 |
* from persistent db
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 if successful 1 otherwize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_clear, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_lookup, osm_db_update, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_clear
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_clear
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Clears the entire domain values from/in the cache
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_clear(IN osm_db_domain_t * p_domain);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object to clear
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 if successful 1 otherwize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_lookup, osm_db_update, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_store
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_store
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Store the domain cache back to the database (commit)
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_store(IN osm_db_domain_t * p_domain,
|
|
Packit Service |
54dbc3 |
IN boolean_t fsync_high_avail_files);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object to restore from
|
|
Packit Service |
54dbc3 |
* persistent db
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* fsync_high_avail_files
|
|
Packit Service |
54dbc3 |
* [in] Boolean that indicates whether or not to synchronize
|
|
Packit Service |
54dbc3 |
* in-memory high availability files with storage
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 if successful 1 otherwize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_clear,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_lookup, osm_db_update, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_keys
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_keys
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Retrive all keys of the domain
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_keys(IN osm_db_domain_t * p_domain, OUT cl_list_t * p_key_list);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_key_list
|
|
Packit Service |
54dbc3 |
* [out] List of key values. It should be PRE constructed and initialized.
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 if successful 1 otherwize
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* NOTE: the caller needs to free and destruct the list,
|
|
Packit Service |
54dbc3 |
* the keys returned are intrnal to the hash and should NOT be free'ed
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_clear, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_lookup, osm_db_update, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_lookup
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_lookup
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Lookup an entry in the domain by the given key
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
/* lookup value by key */
|
|
Packit Service |
54dbc3 |
char *osm_db_lookup(IN osm_db_domain_t * p_domain, IN char *p_key);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* key
|
|
Packit Service |
54dbc3 |
* [in] The key to look for
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* the value as char * or NULL if not found
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_clear, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_update, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_update
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_update
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Set the value of the given key
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_update(IN osm_db_domain_t * p_domain, IN char *p_key, IN char *p_val);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_key
|
|
Packit Service |
54dbc3 |
* [in] The key to update
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_val
|
|
Packit Service |
54dbc3 |
* [in] The value to update
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 on success
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* NOTE: the value will be duplicated so can be free'ed
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_clear, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_lookup, osm_db_delete
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
/****f* OpenSM: Database/osm_db_delete
|
|
Packit Service |
54dbc3 |
* NAME
|
|
Packit Service |
54dbc3 |
* osm_db_delete
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* DESCRIPTION
|
|
Packit Service |
54dbc3 |
* Delete an entry by the given key
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SYNOPSIS
|
|
Packit Service |
54dbc3 |
*/
|
|
Packit Service |
54dbc3 |
int osm_db_delete(IN osm_db_domain_t * p_domain, IN char *p_key);
|
|
Packit Service |
54dbc3 |
/*
|
|
Packit Service |
54dbc3 |
* PARAMETERS
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_domain
|
|
Packit Service |
54dbc3 |
* [in] Pointer to the database domain object
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* p_key
|
|
Packit Service |
54dbc3 |
* [in] The key to look for
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* RETURN VALUES
|
|
Packit Service |
54dbc3 |
* 0 on success
|
|
Packit Service |
54dbc3 |
*
|
|
Packit Service |
54dbc3 |
* SEE ALSO
|
|
Packit Service |
54dbc3 |
* Database, osm_db_domain_init, osm_db_restore, osm_db_clear, osm_db_store,
|
|
Packit Service |
54dbc3 |
* osm_db_keys, osm_db_lookup, osm_db_update
|
|
Packit Service |
54dbc3 |
*********/
|
|
Packit Service |
54dbc3 |
|
|
Packit Service |
54dbc3 |
END_C_DECLS
|
|
Packit Service |
54dbc3 |
#endif /* _OSM_DB_H_ */
|