banan-os/libc/include/ndbm.h

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