/* Copyright (C) 2015-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk4dbia.ctr */ /** @file dk4dbia.h Header file for the dk4dbia module. */ #ifndef DK4DBIA_H_INCLUDED /** Avoid multiple inclusions. */ #define DK4DBIA_H_INCLUDED 1 #line 10 "dk4dbia.ctr" #ifndef DK4CONF_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4conf.h" #else #include #endif #endif #ifndef DK4DBI_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4dbi.h" #else #include #endif #endif #ifndef DK4APP_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4app.h" #else #include #endif #endif #ifdef __cplusplus extern "C" { #endif /** Open database. @param fn Database type and file name. The database type is one from "mem", "bdb" or "ndbm". Database type and file name are separated by two colons "::". @param wa Flag: Write access required. @param tr Flag: Truncate existing database (only in conjunction with wa). @param erp Error report, may be NULL. @param app Application structure for diagnostics, may be NULL. @return Pointer to new database structure on success, NULL on error. Error codes: - DK4_E_INVALID_ARGUMENTS
if fn is NULL or tp contains an invalid type number, - DK4_E_NOT_SUPPORTED
if the database type is not supported, - DK4_E_MATH_OVERFLOW
on numeric overflow when calculating size, - DK4_E_MEMORY_ALLOCATION_FAILED
with mem.elsize and mem.nelem set if there is not enough memory available, - DK4_E_SYNTAX
if - the specification contains an invalid backend type - the database file name does not refer to a regular file - or the file contents is not an in-memory database - or key/value sizes in the file are in conflict with size restrictions - or an invalid database type was specified, - DK4_E_SEC_CHECK
with failed check id in iDetails1 if access is denied by additional security checks, - DK4_E_MEMORY_ALLOCATION_FAILED
with mem.elsize and mem.nelem set if there is not enough memory available, - DK4_E_OPEN_READ_FAILED
if fopen() or fread() failed, - DK4_E_OPEN_WRITE_FAILED
if fopen() or fwrite() failed, - DK4_E_CLOSE_FAILED
with errno value in iDetails1 if fclose() failed. */ dk4_dbi_t * dk4dbi_open_app( const dkChar *fn, int wa, int tr, dk4_er_t *erp, dk4_app_t *app ); /** Open database. @param fn Database type and file name. The database type is one from "mem", "bdb" or "ndbm". Database type and file name are separated by two colons "::". @param wa Flag: Write access required. @param tr Flag: Truncate existing database (only in conjunction with wa). @param km Maximum key size. @param vm Maximum value size. @param erp Error report, may be NULL. @param app Application structure for diagnostics, may be NULL. @return Pointer to new database structure on success, NULL on error. Error codes: - DK4_E_INVALID_ARGUMENTS
if fn is NULL or tp contains an invalid type number, - DK4_E_NOT_SUPPORTED
if the database type is not supported, - DK4_E_MATH_OVERFLOW
on numeric overflow when calculating size, - DK4_E_MEMORY_ALLOCATION_FAILED
with mem.elsize and mem.nelem set if there is not enough memory available, - DK4_E_SYNTAX
if - the specification contains an invalid backend type - the database file name does not refer to a regular file - or the file contents is not an in-memory database - or key/value sizes in the file are in conflict with size restrictions - or an invalid database type was specified, - DK4_E_SEC_CHECK
with failed check id in iDetails1 if access is denied by additional security checks, - DK4_E_MEMORY_ALLOCATION_FAILED
with mem.elsize and mem.nelem set if there is not enough memory available, - DK4_E_OPEN_READ_FAILED
if fopen() or fread() failed, - DK4_E_OPEN_WRITE_FAILED
if fopen() or fwrite() failed, - DK4_E_CLOSE_FAILED
with errno value in iDetails1 if fclose() failed. */ dk4_dbi_t * dk4dbi_open_sizes_app( const dkChar *fn, int wa, int tr, size_t km, size_t vm, dk4_er_t *erp, dk4_app_t *app ); #ifdef __cplusplus } #endif #endif