⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db.h

📁 基于sip协议得系统分析
💻 H
字号:
#ifndef DB_H
#define DB_H

#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h>


#define FREE_OFF_FLAG 0		/*db header's free block number offset flag*/
#define CUR_OFF_FLAG 1		/*db header's current record number offset flag*/
#define MAX_OFF_FLAG 2		/*db header's max record number offset falg*/
#define REC_OFF_FLAG 13     /*the first record start offset*/


#define MAX_RECORD_NUM 100  /*allow the max record number*/
#define MAX_MSG   20       /*max messge length*/
#define TIME_LEN 30

typedef struct              /*record to store*/
{
    /*long offset			the record 's offset*/
	time_t time;           /*use to dichotomy sort*/
	char data[MAX_MSG];		
}DB_Rec,*pDB_Rec;

#define DB_REC_SIZE sizeof(DB_Rec) 

typedef struct  /* db header's information */
{
 int free_block_num;
 int cur_rec_num;
 int max_rec_num;
}DB_Header;

#define DB_HEADER_SIZE sizeof(DB_Header)

typedef struct _DB
{
	FILE *fpdb;            /*point to the opended db*/        
	int free_block_num;	   /*free block number*/ 
	int cur_rec_num;		/*the current record number*/
	int max_rec_num;       /*the max record number*/
	DB_Rec *pDB_Rec;       /* porint to the record */
}DB;
#define DB_SIZE sizeof(DB)


bool db_Init(char *filename,bool *flag);
DB *db_Open(char *filename,char *mode,bool flag) ;
bool db_AddRecord(DB *db,char *strrec);
bool db_SetHeader(DB *db);
void db_DisplayRecord(DB *db,int position);
void db_DisplayAllRecord(DB *db);
bool db_CompareRecord(DB *db,char *str);
bool db_ReadRecord(DB *db);
void db_ModifyRecord(DB *db,int position);
void db_DeleteRecord(DB *db,int position);
void db_DeleteAllRecord(DB *db);
bool db_Close(DB *db);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -