📄 db.h
字号:
short n_size; /* name size */
char data; /* first char of the data */
/* name follows data */
};
typedef struct db_dict_obj *DOBJ;
struct db_dict_hdr
{ ushort magic; /* Magic Number */
DOBJ htbl[DICT_HASH_SIZE]; /* Hash Table */
};
typedef struct db_dict_hdr *DICT;
#define DB_FILE_NOT_FOUND 1
#define DB_READ_ERROR 2
#define DB_END_OF_FILE 3
#define DB_WRITE_ERROR 4
#define DB_FILE_NOT_CREATED 5
#define DB_FILE_NOT_OPEN 6
#define DB_INVALID_BLOCK 7
#define DB_BUFFER_ERROR 8
#define DB_NO_CURRENT_REC 9
#define DB_DELETED_REC 10
#define DB_INVALID_FREE 11
#define DB_INVALID_BLK_SIZE 12
#define DB_INVALID_INDEX 13
#define DB_REC_NOT_FOUND 14
#define DB_DUP_NOT_ALLOWED 15
#define DB_INVALID_REQUEST 16
#define DB_INVALID_RANDOM 17
#define DB_INVALID_FHDR 18
#define DB_VERSION_ERROR 19
#define DB_INVALID_LINK 20
#define DB_LINK_ERROR 21
#define DB_FTYPE_ERROR 22
#define DB_INVALID_OPTION 23
#define DB_ALLOC_ERROR 24
#define DB_VAR_SIZE_ERROR 25
#define DB_VAR_CSUM_ERROR 26
#define DB_UNSUPP_FEATURE 27
#define DB_INVALID_DICT 28
#define DB_INVALID_NAME 29
#define DB_INVALID_ERROR 30
#define DB_LAST_ERROR 30
extern int db_error;
extern ulong db_match_blk;
extern ushort db_match_rec;
extern ulong db_add_blk;
extern ushort db_add_rec;
#ifdef ANSI
/*
* db_main defs
*/
struct db_data_file *db_create(char *,char *, char *);
void db_fhdr_create(struct db_file_hdr *);
struct db_data_file *db_open(char *,char *);
void db_fhdr_open(struct db_file_hdr *);
struct db_data_file *db_close(struct db_data_file *);
void db_delete(struct db_data_file *);
unsigned long db_get_rec_no(struct db_data_file *);
void db_check_df(struct db_data_file *);
void db_extend(struct db_data_file *,struct db_data_buf *);
void db_get_next_avail(struct db_data_file *,struct db_data_buf *);
void db_free_rec(struct db_data_file *,struct db_data_buf *);
void db_get_blk(struct db_data_file *,long ,struct db_data_buf *);
void db_put_blk(struct db_data_file *,struct db_data_buf *);
struct db_data_buf *db_alloc_buf(int );
struct db_data_buf *db_free_buf(struct db_data_buf *);
void db_free_df(struct db_data_file *);
char *db_error_msg(int );
unsigned long db_add();
void db_read_first();
void db_read_next();
void db_read_last();
void db_read_prev();
void db_find();
void db_update();
void db_read_direct();
void db_read_atr();
void db_update_atr();
/*
* db_seq defs
*/
void db_add_seq(struct db_data_file *,char *);
void db_read_first_seq(struct db_data_file *,char *);
void db_read_next_seq(struct db_data_file *,char *);
void db_read_last_seq(struct db_data_file *,char *);
void db_read_prev_seq(struct db_data_file *,char *);
void db_update_seq(struct db_data_file *,char *);
/*
* db_ran defs
*/
void db_add_ran(struct db_data_file *,char *);
void db_find_ran(struct db_data_file *,char *,char *);
void db_read_first_ran(struct db_data_file *,char *);
void db_read_next_ran(struct db_data_file *,char *);
void db_read_last_ran(struct db_data_file *,char *);
void db_read_prev_ran(struct db_data_file *,char *);
void db_update_ran(struct db_data_file *,char *);
void db_delete_ran(struct db_data_file *);
void db_delete_blk_ran(struct db_data_file *,unsigned long );
short db_hash_ran(struct db_data_file *,char *);
short db_search_blk_ran(struct db_data_file *,char *,struct db_data_buf *);
/*
* db_idx defs
*/
void db_add_idx(struct db_data_file *,char *);
void db_find_insert_idx(struct db_data_file *,char *,int );
void db_split_blk_idx(struct db_data_file *);
void db_read_first_idx(struct db_data_file *,int ,char *);
void db_read_next_idx(struct db_data_file *,char *);
void db_read_last_idx(struct db_data_file *,int ,char *);
void db_read_prev_idx(struct db_data_file *,char *);
void db_get_parent_idx(struct db_data_file *);
void db_find_first_idx(struct db_data_file *,char *,char *,int );
void db_delete_idx(struct db_data_file *);
short db_move_to_leaf_idx(struct db_data_file *);
void db_balance_idx(struct db_data_file *);
void db_update_idx(struct db_data_file *,char *);
/*
* db_link defs
*/
void db_add_member_first(DB_LINK);
void db_add_member_last(DB_LINK);
void db_delete_member(DB_LINK);
long db_find_first_member(DB_LINK);
long db_find_last_member(DB_LINK);
long db_find_prev_member(DB_LINK);
long db_find_next_member(DB_LINK);
long db_find_owner(DB_LINK);
void db_check_link(DB_LINK);
int db_olink_offset(DATA_FILE, int);
int db_mlink_offset(DATA_FILE, int);
/*
* dict defs
*/
int db_dict_hash(char *);
DICT db_dict_init();
void *db_dict_add(DICT, char *, int, int, void *);
void db_dict_delete(DICT, char *, int);
void db_dict_delete_all(DICT, int);
void *db_dict_find(DICT, char *, int);
int db_dict_find_all(DICT, int, char ***, void ***);
void db_dict_load(DICT, char *, char *);
void db_dict_dump(DICT, char *, char *);
void db_dict_close(DICT);
#else
/*
* db_main defs
*/
DATA_FILE db_create();
void db_fhdr_create();
DATA_FILE db_open();
void db_fhdr_open();
DATA_FILE db_close();
unsigned long db_add();
void db_read_first();
void db_read_next();
void db_read_last();
void db_read_prev();
void db_find();
void db_update();
void db_delete();
unsigned long db_get_rec_no();
void db_read_direct();
void db_read_atr();
void db_update_atr();
void db_check_df();
void db_extend();
void db_get_next_avail();
void db_free_rec();
void db_get_blk();
void db_put_blk();
struct db_data_buf *db_alloc_buf();
struct db_data_buf *db_free_buf();
void db_free_df();
char *db_error_msg();
/*
* db_seq defs
*/
void db_add_seq();
void db_read_first_seq();
void db_read_next_seq();
void db_read_last_seq();
void db_read_prev_seq();
void db_update_seq();
/*
* db_ran defs
*/
void db_add_ran();
void db_find_ran();
void db_read_first_ran();
void db_read_next_ran();
void db_read_last_ran();
void db_read_prev_ran();
void db_update_ran();
void db_delete_ran();
void db_delete_blk_ran();
short db_hash_ran();
short db_search_blk_ran();
/*
* db_idx defs
*/
void db_add_idx();
void db_find_insert_idx();
void db_split_blk_idx();
void db_read_first_idx();
void db_read_next_idx();
void db_read_last_idx();
void db_read_prev_idx();
void db_get_parent_idx();
void db_find_first_idx();
void db_delete_idx();
short db_move_to_leaf_idx();
void db_balance_idx();
void db_update_idx();
/*
* db_link defs
*/
void db_add_member_first();
void db_add_member_last();
void db_delete_member();
long db_find_first_member();
long db_find_last_member();
long db_find_prev_member();
long db_find_next_member();
long db_find_owner();
void db_check_link();
int db_olink_offset();
int db_mlink_offset();
/*
* dict defs
*/
db_dict_hash();
DICT db_dict_init();
void *db_dict_add();
void db_dict_delete();
void db_dict_delete_all();
void *db_dict_find();
db_dict_find_all();
void db_dict_load();
void db_dict_dump();
void db_dict_close();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -