亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? db.h

?? 數(shù)據(jù)庫C語言開發(fā)工具包,可以方便地移植到嵌入式系統(tǒng)中
?? H
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************/
/*                                                                          */
/*                                                                          */
/*      db.h  v1.3  (c) 1987-1990  Ken Harris                               */
/*                                                                          */
/*                                                                          */
/****************************************************************************/
/*                                                                          */
/*      This software is made available on an AS-IS basis. Unrestricted     */
/*      use is granted provided that the copyright notice remains intact.   */
/*      The author makes no warranties expressed or implied.                */
/*                                                                          */
/****************************************************************************/

#ifdef ALL
#define SEQ 1
#define RAN 1
#define IDX 1
#define VAR 1
#endif

#define DB_VERSION    13	      /* Version 1.3			*/
#define FILE_NAME_MAX 50

#define YES -1
#define NO   0

#ifdef ULTRIX
#ifndef _TYPES_
 typedef unsigned short ushort;
 typedef unsigned int   uint;
#endif
 typedef unsigned char  uchar;
 typedef unsigned long  ulong;
#endif

#ifdef SYSV
#ifndef types_h
 typedef unsigned short ushort;
 typedef unsigned int   uint;
#endif
 typedef unsigned char  uchar;
 typedef unsigned long  ulong;
#endif

#ifdef MSC
 typedef unsigned short ushort;
 typedef unsigned int   uint;
 typedef unsigned char  uchar;
 typedef unsigned long  ulong;
#endif

#ifdef TURBO
 typedef unsigned short ushort;
 typedef unsigned int   uint;
 typedef unsigned char  uchar;
 typedef unsigned long  ulong;
#endif

/*
 *      db_file_hdr  -  File Header Record
 */

struct db_file_hdr
{       ushort fh_db_version;           /* Data Base Version #          */
        ushort fh_file_type;            /* File Type                    */
#define                                    DB_SEQ       1
#define                                    DB_RANDOM    2
#define                                    DB_INDEX     3
#define					   DB_VAR       4

        ushort fh_file_stat;            /* File Status                  */
#define                                    DB_CLOSED       0
#define                                    DB_OPEN         1
#define                                    DB_DUP_ALLOWED  2

        ulong  fh_last_block;           /* Last Allocated Block         */
        ushort fh_block_size;           /* Block Size in bytes          */
        ushort fh_rec_size;             /* Record Size in bytes         */
        ushort fh_ctl_size;             /* Control part of rec size     */
        ushort fh_data_size;            /* User data part of rec size   */
        ulong  fh_rec_cnt;              /* Live Record Cnt              */
        ushort fh_recs_per_blk;         /* Records Per Block            */
        ushort fh_root_ptr;             /* Index File Root Pointer      */
        ushort fh_base_size;            /* Random File Base Size        */
        ushort fh_key_size;             /* Size of record key           */
        ulong  fh_next_avail;           /* First Available Record       */
        ushort fh_atr_size;             /* Size of Attribute Block      */
	ulong  fh_vfile_size;		/* Size of VAR file data   V1.3 */
	ushort fh_olink_cnt;		/* Owner link count        V1.3 */
	ushort fh_mlink_cnt;		/* Member link count       V1.3 */
	ushort fh_klink_cnt;		/* Key link count	   V1.3 */
					/* Last part of the header rec  */
					/* is reserved for optional     */
					/* user attribute data.  The    */
					/* size is currently 256 bytes  */
};

#define DB_FILE_HDR_SIZE  512
#define DB_ATR_OFFSET     256

typedef  struct db_file_hdr *FILE_HDR;


/*
 *      db_data_buf  -  Data buffer
 */

struct db_data_buf
{       struct db_data_buf *buf_prev;   /* Previous Buffer in list      */
        struct db_data_buf *buf_next;   /* Next Buffer in list          */
        ushort buf_size;                /* Size of Buffer in Bytes      */
        ushort buf_cur_blk;             /* Current Logical Blk (0=none) */
        ushort buf_cur_size;            /* Current Block Size           */
        ushort buf_rec_inx;             /* Record index into block      */
        char  *buf_data;                /* Pointer to data              */
};

typedef  struct db_data_buf *BUFFER;


/*
 *      db_data_file  -  Data File Descriptor Block
 */

struct db_data_file
{       ushort df_stat;                 /* Data File Status             */
        BUFFER df_fhdr;                 /* File Header Buffer           */
        short  df_fd;                   /* File descriptor              */
        char   df_fname[FILE_NAME_MAX]; /* File name                    */
        ulong  df_prev_blk;             /* Prev Block Read              */
        ushort df_prev_rec;             /* Prev Record Read             */
	ushort df_prev_vsize;		/* Prev var rec size		*/
        struct db_data_buf *df_buf;     /* Data Buffer                  */
        struct db_data_buf *df_tmp;     /* Tmp Data Buffer              */
        struct db_data_buf *df_aux;     /* Another Tmp Data Buffer      */
};

typedef  struct db_data_file *DATA_FILE;
typedef  struct db_data_file *DATA_SET;

#define DB_FH(df) ((FILE_HDR)(df->df_fhdr->duf_data))
                           
#define FH_DB_VERSION(df)   DB_FH(df)->fh_db_version
#define FH_FILE_TYPE(df)    DB_FH(df)->fh_file_type
#define FH_FILE_STAT(df)    DB_FH(df)->fh_file_stat
#define FH_LAST_BLOCK(df)   DB_FH(df)->fh_last_block
#define FH_BLOCK_SIZE(df)   DB_FH(df)->fh_block_size
#define FH_REC_SIZE(df)     DB_FH(df)->fh_rec_size
#define FH_CTL_SIZE(df)     DB_FH(df)->fh_ctl_size
#define FH_DATA_SIZE(df)    DB_FH(df)->fh_data_size
#define FH_REC_CNT(df)      DB_FH(df)->fh_rec_cnt
#define FH_RECS_PER_BLK(df) DB_FH(df)->fh_recs_per_blk
#define FH_ROOT_PTR(df)     DB_FH(df)->fh_root_ptr

/*
 *      Record types
 */

struct db_free_rec
{       char  fre_stat;                 /* Status                       */
#define                                    DB_FREE   '0'
#define                                    DB_INUSE  '1'
        ulong fre_next;                 /* Next Available               */
};

struct db_seq_rec
{       char  seq_stat;                 /* Status                       */
};

struct db_index_hdr
{       char   idx_stat;                /* Status                       */
        ushort idx_parent;              /* Pointer to Parent            */
        ushort idx_rec_cnt;             /* Keys in this block           */
};

struct db_index_rec
{       ushort idx_idx_ptr;             /* Pointer to index block       */
};

struct db_random_hdr
{       char   ran_stat;                /* Status                       */
        ushort ran_next;                /* Overflow pointer             */
        ushort ran_rec_cnt;             /* Live Recs in this block      */
};

/*
 *	This is a dummy structure that is used in sizeof operations
 *	to make sure that db_random_hdr is atleast as big as db_free_rec.
 */
struct db_random_uhdr			
{	union
	{	struct db_free_rec ran_free;
		struct db_random_hdr ran_hdr;
	} uhdr;
};

struct db_random_rec
{       char   ran_stat;                /* Status                       */
};
          
struct db_var_rec
{	char   var_stat;		/* Status			*/
	ushort var_dsize;		/* size of data	in bytes	*/
	char   var_data[3];		/* beginning of data area &	*/
					/* dummy for 2nd size field &	*/
					/* 1 byte checksum at end	*/
};

typedef struct db_free_rec   *FREE_REC;
typedef struct db_seq_rec    *SEQ_REC;
typedef struct db_index_hdr  *INDEX_HDR;
typedef struct db_index_rec  *INDEX_REC;
typedef struct db_random_hdr *RANDOM_HDR;
typedef struct db_random_rec *RANDOM_REC;
typedef struct db_var_rec    *VAR_REC;

/*
 *	Link Structures
 */

struct db_link
{	DATA_FILE owner_file;		/* Pointer to owner File desc	*/
	short     owner_index;		/* Index of owner link rec      */
	short     owner_offset;		/* Offset of owner link rec     */
	DATA_FILE member_file;		/* Pointer to member File desc  */
	short     member_index;		/* Index of member link rec	*/
	short     member_offset;	/* Offset of member link rec    */
};

typedef struct db_link *DB_LINK;


struct db_owner_link
{	long	olnk_first;		/* rec # of first member	*/
	long    olnk_last;		/* rec # of last member		*/
};

typedef struct db_owner_link *OLINK;


struct db_member_link
{	long	mlnk_prev;		/* rec # of prev member		*/
	long	mlnk_next;		/* rec # of next member		*/
	long	mlnk_owner;		/* rec # of owner		*/
};

typedef struct db_member_link *MLINK;


struct db_key_link
{	long  klnk_owner;		/* rec # of the master		*/
};

typedef struct db_key_link *KLINK;

/*
 *	dictionary (symbol table manager) header defs
 */

#define DICT_HASH_SIZE 127
#define DICT_MAGIC     0xF012

/*
 *	db_dict_obj - dictionary object header
 */

struct db_dict_obj
{	short               o_type;	/* object type   	     */
	struct db_dict_obj *next;	/* next object in hash chain */
	short               d_size;	/* data size		     */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日噜噜夜夜狠狠视频欧美人| 亚洲激情自拍偷拍| 国产日产欧美一区二区三区| 亚洲国产成人在线| 午夜不卡在线视频| 懂色av噜噜一区二区三区av| 欧美性受极品xxxx喷水| 精品国产精品网麻豆系列| 中文字幕在线一区免费| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人免费视频一区| 日韩一区二区免费高清| 亚洲欧美偷拍另类a∨色屁股| 久久99国产精品麻豆| 色婷婷久久久综合中文字幕| 亚洲精品在线免费播放| 国产精品538一区二区在线| 欧美日韩国产免费| 亚洲卡通动漫在线| 欧美丰满嫩嫩电影| 一区二区三区.www| 91首页免费视频| 日本一区二区在线不卡| 一本大道av伊人久久综合| 日韩福利视频导航| 在线看一区二区| 亚洲男人天堂av网| 欧美一区二区三区喷汁尤物| 亚洲国产精品人人做人人爽| 91同城在线观看| 蜜臀av性久久久久蜜臀av麻豆 | 欧美一区二区三区在线观看视频| 亚洲va国产va欧美va观看| 日本韩国视频一区二区| 国产精品国产三级国产普通话三级 | 久久这里只有精品6| 日韩vs国产vs欧美| 日本一区二区三级电影在线观看| 色婷婷av一区二区| 韩国三级电影一区二区| 精品国产露脸精彩对白| 色先锋资源久久综合| 麻豆国产91在线播放| 亚洲精品中文在线观看| 2020日本不卡一区二区视频| 色欧美88888久久久久久影院| 精品亚洲国产成人av制服丝袜| 亚洲欧洲无码一区二区三区| 91麻豆福利精品推荐| 久久国产欧美日韩精品| 国产日产亚洲精品系列| 欧美一级二级三级乱码| 欧美亚洲一区二区在线观看| 成人午夜激情片| 麻豆精品一区二区av白丝在线| 亚洲精品成人悠悠色影视| 国产日韩精品一区| 精品国产麻豆免费人成网站| 欧美主播一区二区三区美女| 国产91在线|亚洲| 毛片av一区二区| 日本亚洲天堂网| 一区二区三区丝袜| 亚洲日本欧美天堂| 日韩一区二区免费视频| 欧美日韩国产美| 欧美日韩精品综合在线| 日本福利一区二区| 91免费版在线看| 91免费在线视频观看| 成人免费观看av| 丁香婷婷深情五月亚洲| 国产激情视频一区二区在线观看| 综合久久一区二区三区| 国产蜜臀97一区二区三区 | 欧美亚洲自拍偷拍| 欧美专区日韩专区| 欧美亚洲图片小说| 欧美日韩在线不卡| 国产福利一区在线| 高清国产一区二区三区| 成人午夜激情视频| 不卡一卡二卡三乱码免费网站| 亚洲mv在线观看| 天天av天天翘天天综合网色鬼国产| 亚洲一区二区三区四区的| 久久久不卡影院| 欧美日产国产精品| 欧美肥妇free| 欧美成人综合网站| 欧美日韩成人一区| 日韩欧美中文字幕公布| 欧美成人三级电影在线| 久久精品视频在线看| 91精品国产综合久久久久久漫画| 成人黄色777网| 99麻豆久久久国产精品免费优播| 久久精品国产99久久6| 黄色精品一二区| 国产成人av一区二区三区在线| 成人黄色一级视频| 欧美性色综合网| 日韩免费高清av| 制服丝袜中文字幕一区| 精品国精品国产尤物美女| 国产精品美女久久久久aⅴ | 日本乱人伦一区| 欧美三级中文字幕| 精品久久久久久久久久久久久久久 | 激情五月激情综合网| 国产成人免费视频一区| 欧洲中文字幕精品| 欧美成人a在线| 国产精品蜜臀在线观看| 婷婷中文字幕一区三区| 国产一区91精品张津瑜| 麻豆91免费看| 91在线观看视频| 日韩欧美国产三级电影视频| 日本一区二区综合亚洲| 婷婷一区二区三区| 不卡的av在线| 欧美大白屁股肥臀xxxxxx| 国产精品白丝在线| 日本成人中文字幕| caoporm超碰国产精品| 91麻豆精品国产91久久久久| 久久精品亚洲一区二区三区浴池| 亚洲黄色免费网站| 国产精品99久久不卡二区| 欧美亚洲国产bt| 亚洲国产精品99久久久久久久久| 亚洲国产视频网站| 成人免费福利片| 欧美一区二区三区在线观看| 中文字幕在线观看不卡| 久久99精品一区二区三区三区| 色拍拍在线精品视频8848| 久久久久久久久久美女| 日本人妖一区二区| 91久久人澡人人添人人爽欧美| 久久先锋资源网| 美女视频网站久久| 欧美系列亚洲系列| 中文字幕在线不卡| 国产jizzjizz一区二区| 日韩精品一区二区在线观看| 亚洲宅男天堂在线观看无病毒| 成人免费黄色在线| 久久精品人人做人人综合| 麻豆精品新av中文字幕| 欧美日韩国产综合一区二区 | 韩国精品主播一区二区在线观看| 欧美视频中文一区二区三区在线观看 | 亚洲国产日韩精品| 色综合婷婷久久| 欧美人xxxx| 亚洲一区在线观看免费观看电影高清| 粉嫩aⅴ一区二区三区四区五区| 欧美大片一区二区| 老司机免费视频一区二区三区| 欧美视频一区二区三区四区| 亚洲欧美日韩人成在线播放| 高清视频一区二区| 中文字幕乱码日本亚洲一区二区 | 一区二区在线观看视频 | 91免费视频观看| 国产精品对白交换视频| 成人av影视在线观看| 亚洲国产精品二十页| 国产成人精品一区二区三区四区| www精品美女久久久tv| 久久激情五月婷婷| www欧美成人18+| 成人午夜在线视频| 国产精品伦一区| 91污在线观看| 一区二区三区在线观看欧美| 日本韩国一区二区三区视频| 亚洲一区二区精品3399| 欧美老女人在线| 日本女人一区二区三区| 欧美tickling挠脚心丨vk| 国精产品一区一区三区mba视频| 久久精品人人做人人爽97 | 91成人网在线| 亚洲444eee在线观看| 8x8x8国产精品| 狠狠色丁香久久婷婷综| 精品99999| 成人精品小蝌蚪| 一区二区在线观看av| 欧美日韩的一区二区| 久久精工是国产品牌吗| 国产精品―色哟哟| 欧美揉bbbbb揉bbbbb| 久久国产乱子精品免费女| 欧美激情综合五月色丁香小说| 99热这里都是精品| 日韩国产欧美一区二区三区|