48 lines
1.5 KiB
Factor
Executable File
48 lines
1.5 KiB
Factor
Executable File
! Copyright (C) 2010 Dmitry Shubin.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: alien alien.c-types alien.libraries alien.libraries.finder
|
|
alien.syntax classes.struct combinators kernel system ;
|
|
IN: gdbm.ffi
|
|
|
|
<< "libgdbm"
|
|
{ "gdbm" "gdbm3" "libgdbm-3" } find-library-from-list
|
|
cdecl add-library >>
|
|
|
|
LIBRARY: libgdbm
|
|
|
|
C-GLOBAL: c-string gdbm_version
|
|
|
|
CONSTANT: GDBM_SYNC 0x20
|
|
CONSTANT: GDBM_NOLOCK 0x40
|
|
|
|
CONSTANT: GDBM_INSERT 0
|
|
CONSTANT: GDBM_REPLACE 1
|
|
|
|
CONSTANT: GDBM_CACHESIZE 1
|
|
CONSTANT: GDBM_SYNCMODE 3
|
|
CONSTANT: GDBM_CENTFREE 4
|
|
CONSTANT: GDBM_COALESCEBLKS 5
|
|
|
|
STRUCT: datum { dptr char* } { dsize int } ;
|
|
|
|
C-TYPE: _GDBM_FILE
|
|
TYPEDEF: _GDBM_FILE* GDBM_FILE
|
|
|
|
CALLBACK: void fatal_func_cb ( )
|
|
FUNCTION: GDBM_FILE gdbm_open ( c-string name, int block_size, int read_write, int mode, fatal_func_cb fatal_func )
|
|
FUNCTION-ALIAS: gdbm-close void gdbm_close ( GDBM_FILE dbf )
|
|
FUNCTION: int gdbm_store ( GDBM_FILE dbf, datum key, datum content, int flag )
|
|
FUNCTION: datum gdbm_fetch ( GDBM_FILE dbf, datum key )
|
|
FUNCTION: int gdbm_delete ( GDBM_FILE dbf, datum key )
|
|
FUNCTION: datum gdbm_firstkey ( GDBM_FILE dbf )
|
|
FUNCTION: datum gdbm_nextkey ( GDBM_FILE dbf, datum key )
|
|
FUNCTION: int gdbm_reorganize ( GDBM_FILE dbf )
|
|
FUNCTION: void gdbm_sync ( GDBM_FILE dbf )
|
|
FUNCTION: int gdbm_exists ( GDBM_FILE dbf, datum key )
|
|
FUNCTION: int gdbm_setopt ( GDBM_FILE dbf, int option, int* value, int size )
|
|
FUNCTION: int gdbm_fdesc ( GDBM_FILE dbf )
|
|
|
|
C-GLOBAL: int gdbm_errno
|
|
|
|
FUNCTION: c-string gdbm_strerror ( int errno )
|