DB-SPEEDYB
view release on metacpan or search on metacpan
c/speedyb.c view on Meta::CPAN
speedyb_rc_t speedyb_open(dbh_t *dbh, char *fn) {
void *db;
struct stat statbuf;
speedyb_header_t *header;
bzero(dbh, sizeof(dbh_t));
if((dbh->fd = open(fn, O_RDONLY)) < 0) {
ERETURN(SPEEDYB_EOPEN);
}
if(stat(fn, &statbuf)) {
ERETURN(SPEEDYB_EOPEN);
}
if(MAP_FAILED == (db = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, dbh->fd, 0))) {
ERETURN(SPEEDYB_EOPEN);
}
header = (speedyb_header_t*) db;
if(header->magic != MAGIC) {
ERETURN(SPEEDYB_EMAGIC);
}
if(header->proto_ver != 1) {
( run in 1.528 second using v1.01-cache-2.11-cpan-49f99fa48dc )