D Eloquence Library
/* sample.c compile: cc sample.c -o sample -l eloq usage : sample database password */ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <eloqdb.h> #define ABS(a) ((a)<0?-(a):(a)) int dbid; int status[10]; main(argc, argv) int argc; char *argv[]; { int i; struct { int count; int setno[MAX_SET_CNT]; } set_list; if(argc < 3) { fprintf(stderr, "usage: %s data_base password\\n", argv[0]); exit(2); } dbid = idb_open(argv[1], argv[2], 9, status); errorhandler("opening database"); idb_info(dbid, 0, 203, status, &set_list); errorhandler("info 203"); for (i = 0 ; i < set_list.count; i++) set_info(set_list[i]); wrapup(0); } set_info(setno) int setno; { union info info; setno = ABS(setno); idb_info(dbid, &setno, 202, status, &info); errorhandler("info 202"); printf("%16.16s %02d %c %6d %8d %8d\\n", info.set.name, setno, info.set.type, info.set.rec_len, info.set.capacity, info.set.entries); } wrapup(cond) int cond; { idb_exit(); exit(cond); } errorhandler(action) char *action; { char tmp[80]; if(status[0] != S_OK) { fprintf(stderr, "Status error #%d while %s\\n", status[0], action); if(idb_error(status, tmp, NULL) == S_OK) fprintf(stderr, "%s\\n", tmp); wrapup(1); } }