forked from Bananymous/banan-os
40 lines
810 B
C
40 lines
810 B
C
|
#ifndef _NDBM_H
|
||
|
#define _NDBM_H 1
|
||
|
|
||
|
// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ndbm.h.html
|
||
|
|
||
|
#include <sys/cdefs.h>
|
||
|
|
||
|
__BEGIN_DECLS
|
||
|
|
||
|
#define DBM_REPLACE 1
|
||
|
#define DBM_INSERT 0
|
||
|
|
||
|
#define __need_size_t
|
||
|
#include <stddef.h>
|
||
|
|
||
|
#define __need_mode_t
|
||
|
#include <sys/types.h>
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
void* dptr; /* A pointer to the application's data. */
|
||
|
size_t dsize; /* The size of the object pointed to by dptr */
|
||
|
} datum;
|
||
|
|
||
|
typedef int DBM;
|
||
|
|
||
|
int dbm_clearerr(DBM* db);
|
||
|
void dbm_close(DBM* db);
|
||
|
int dbm_delete(DBM* db, datum key);
|
||
|
int dbm_error(DBM* db);
|
||
|
datum dbm_fetch(DBM* db, datum key);
|
||
|
datum dbm_firstkey(DBM* db);
|
||
|
datum dbm_nextkey(DBM* db);
|
||
|
DBM* dbm_open(const char* file, int open_flags, mode_t file_mode);
|
||
|
int dbm_store(DBM* db, datum key, datum content, int store_mode);
|
||
|
|
||
|
__END_DECLS
|
||
|
|
||
|
#endif
|