public
Description: Erlang -> Berkeley DB Sample
Homepage:
Clone URL: git://github.com/dawsdesign/erl_bdb_sample.git
Matt Williamson (author)
Tue May 26 07:48:34 -0700 2009
erl_bdb_sample / priv / bdb_drv.h
100644 29 lines (21 sloc) 0.627 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <erl_driver.h>
#include <ei.h>
#include <stdio.h>
#include <string.h>
#include <db.h>
 
#define DB_PATH "./store.db"
 
#define CMD_PUT 1
#define CMD_GET 2
#define CMD_DEL 3
 
#define KEY_SIZE 20
 
typedef struct _bdb_drv_t {
  ErlDrvPort port;
 
  DB *db;
} bdb_drv_t;
 
 
static ErlDrvData start(ErlDrvPort port, char* cmd);
static void stop(ErlDrvData handle);
static void outputv(ErlDrvData handle, ErlIOVec *ev);
static void put(bdb_drv_t *bdb_drv, ErlIOVec *ev);
static void get(bdb_drv_t *bdb_drv, ErlIOVec *ev);
static void del(bdb_drv_t *bdb_drv, ErlIOVec *ev);
static void unkown(bdb_drv_t *bdb_drv, ErlIOVec *ev);