📄 lldbs.h
字号:
/*****************************************************************************
* FileName : lldbs.h *
* Programmer : duyun *
* Writen at : 2001.4.25 *
* Version : lldbs0.1 *
* Description: *
* Last modify: *
*****************************************************************************/
#define DB_RNONLY 1
#define DB_WRITABLE 2
enum {
KEY_INT=1,
KEY_STRING,
KEY_FLOAT,
KEY_DATE,
KEY_BOOLEAN,
KEY_RAW_DATA
};
struct date{
short year;
char mounth;
char day;
char hour;
char minute;
char second;
};
//define the struct of key field
struct key_field
{
//key field infomation
unsigned short offset;
unsigned short size;
unsigned char key_type;
};
#define get_field_offset_and_length(struct_name,field_name,\
offset,length)\
{\
struct struct_name temp; \
offset = (char *)&(temp.field_name) - (char *)&(temp);\
length = sizeof(temp.field_name);\
}
/****************************************************************************/
/* *
* THE DATA BASE FUNCTION *
*******************************************/
/*
* register the the date base info in data_info tatble,and copy
* info in db_info_cache ,return the the data base identify !!!
*/
unsigned long db_register(char * database_name,
struct key_field * new_key,
int bufer_size,
int record_size);
/*
* UNREGIST THE DATA BASE RIGHT!!
*/
int db_unregister(unsigned long database_id);
/*
* creat a database
*/
int db_create(char * database_name);
/*
* delete a database
*/
int db_delete(unsigned long database_id);
/*
* get the personal info1
*/
int db_set_app_info1(unsigned long database_id,char * info1);
/*
* app used this function to set 2 personal infomation!!
*/
int db_set_app_info2(unsigned long database_id,char * info2);
/*
* app used this function to get 1 personal infomation!!
*
*/
int db_get_app_info1(unsigned long database_id,char * info1);
/*
* app used this function to get 2 personal infomation!!
*
*/
int db_get_app_info2(unsigned long database_id,char * info1);
/*
* modified record number!!
*/
int db_get_modified_rec_no(unsigned long database_id);
/*
* modified record number!!
*/
int db_reset_modified_rec_no(unsigned long database_id) ;
/*
* creat a new AVL tree
*/
int db_new_sort(unsigned long database_id,struct key_field new_key);
/*
* creat the sort in acordding to key_field and category!!!
*/
int db_new_sort_with_category(unsigned long database_id,struct key_field new_key);
/*
* LOCK THE DATABASE
*/
int db_lock(unsigned long database_id);
/*
* CHANGE THE ATRIBUTE OF DATABASE
*/
int db_change_access_right(unsigned long database_id,unsigned char new_access_right);
/*
* GET THE NUMBER OF DATABASE
*/
int db_get_record_number(unsigned long database_id);
/*
* SEARCH THE RECORD BY KEY_FIELD;;;
*/
int db_search_key(unsigned long database_id,void * key_buffer,void * buffer,int length);
/*
* search the record by raw data patern;;;;
*/
int db_search_raw_data(unsigned long database_id,void *raw_buffer,void * buffer,int length);
/*****************************************************************************/
// record
/*
* ADD A RECORD
*/
int db_add_record(int database_id,void * record_buffer,int length);
/*
* CHANGE A RECORD POSITION
*/
int db_change_current_pos(unsigned long database_id,int pos);
/*
* GET CURRENT RECORDER
*/
int db_get_current_pos(unsigned long database_id,void * buffer);
/*
* delete current record
*/
int db_delete_current_record(unsigned long database_id);
/*
* MODIFIED CURRENT RECORD
*/
int db_modify_current(unsigned long database_id,void * new_record,int length);
/*
* get prev record
*/
int db_get_prev(unsigned long database_id,void * buffer);
/*
* GET NEXT RECORD
*/
int db_get_next(unsigned long database_id,void * buffer);
/*
* LOCK A RECORD
*/
int db_lock_current(unsigned long database_id);
/*
* UNLOCK A RECORD
*/
int db_unlock_current(unsigned long database_id);
/*
* SET THE VLF OF CURRENT RECORD
*/
int db_set_current_vlf(unsigned long database_id,void * field_buffer,int length);
/*
* GET THE CURRENT RECORD
*/
int db_get_current_vlf(unsigned long database_id,void * field_buffer);
/******************************************************************************/
/*
* THE CATEGORY API
*/
/*
* ADD A NEW CATEGIRY
*/
unsigned char db_add_new_category(unsigned long database_id,
unsigned char * category_name);
/*
* DELETTE A CATEGORY
*/
int db_delete_category(unsigned long database_id,
unsigned char category_id);
/*
* CHANGE CURRENT ATEGORY
*/
int db_change_category(unsigned long database_id,
unsigned char category_id);
/*
* GET THE NUMBER OF CURRENT CATEGORY
*/
int db_get_rec_no_in_category(unsigned long database_id,
unsigned char category_id);
/*
* MOVE CURRENT RECORD BY CATEGORY
*/
int db_change_current_by_category(unsigned long database_id,void * buffer,
unsigned char category_id,int position);
/*
* GET THE CURRENT RECORD POSITION INT CATEGORY
*/
int db_get_current_pos_by_category(unsigned long database_id,
unsigned short * category_id);
/*
* EXCHANGE THE CATEGOTY
*/
int db_exchange_category(unsigned long database_id,
unsigned char src_category,
unsigned char dest_category);
/*
* get the category name
*/
int db_get_category(unsigned long database_id ,void * buffer);
/*
* search the record by raw data patern;;;;
*/
int db_search_raw_data_next(unsigned long database_id,void * raw_buffer,void * buffer,int length);
/*
* SEARCH THE RECORD BY KEY_FIELD;;;
*/
int db_search_key_next(unsigned long database_id,void * key_buffer,void * buffer,int length);
/*
* change the category in current record
*/
int db_change_current_category(unsigned long database_id,
unsigned char category_id );
int db_change_category_name(unsigned long database_id,
unsigned char category_id,
char *name);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -