Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dce_db_store_by_name(3dce) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

dce_db_store_by_name(3dce)  —  Subroutines

Name

dce_db_store_by_name - Stores data into a string-indexed backing store

Synopsis

#include <dce/dce.h>
#include <dce/dbif.h> void dce_db_store_by_name(
    dce_db_handle_t handle,
    char ∗key,
    void ∗data,
    error_status_t ∗status);

Parameters

Input

handleA handle, returned from dce_db_open(), that identifies the backing store being used. 

keyA null-terminated string that is the backing store key. 

dataA pointer to the data structure to be stored. 

Output

statusA pointer to the completion status.  On successful completion, the routine returns error_status_ok.  Otherwise, it returns an error. 

Description

The dce_db_store_by_name() routine stores the data structure pointed to by data into the backing store.  The conversion function that was specified in the call to dce_db_open() serializes the structure so that it can be written to disk. 

This routine is specialized for storage into backing stores that are indexed by string, as selected by the db_c_index_by_name bit in the flags parameter to dce_db_open() when the backing store was created. 

If the key value is the same as a key already stored, the new data replaces the previously stored data associated with that key. 

Notes

Because the dce_db_store_by_name() routine uses the encoding services, and they in turn use rpc_sm_allocate(), all programs that call dce_db_store_by_name() outside of a server operation (for instance, if a server does some backing store initialization, or in a standalone program) must call rpc_sm_enable_allocate() first.  Indeed, every thread that calls dce_db_store_by_name() must do rpc_sm_enable_allocate(), but in the server side of an RPC, this is already done. 

Errors

The following describes a partial list of errors that might be returned.  Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages. 

db_s_bad_index_type
The backing store is not indexed by name.

db_s_readonly
The backing store was opened with the db_c_readonly flag, and cannot be written to. 

db_s_store_failed
The data could not be stored into the backing store for some reason. The global variable errno may contain more information about the error. 

db_s_iter_not_allowed
The function was called while an iteration, begun by dce_db_iter_start(), was in progress.  Storing is not allowed during iteration. 

error_status_ok
The call was successful.

Related Information

Functions: dce_db_open(3dce), dce_db_store(3dce), dce_db_store_by_uuid(3dce). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026