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

📄 isamg.h

📁 harvest是一个下载html网页得机器人
💻 H
字号:
/* $Id: isamg.h,v 1.2 2002/08/02 19:26:55 adam Exp $   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002   Index Data ApsThis file is part of the Zebra server.Zebra is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 2, or (at your option) any laterversion.Zebra is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public Licensefor more details.You should have received a copy of the GNU General Public Licensealong with Zebra; see the file LICENSE.zebra.  If not, write to theFree Software Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA.*/#ifndef ISAMG_H#define ISAMG_H/* #include <bfile.h> */YAZ_BEGIN_CDECLtypedef struct ISAMG_s *ISAMG;typedef int ISAMG_P;typedef struct ISAMG_PP_s *ISAMG_PP;#ifdef SKIPTHIS/* File categories etc are no business of users of ISAM-G (or what?) */typedef struct ISAMG_filecat_s {  /* filecategories, mostly block sizes */    int bsize;         /* block size */    int mblocks;       /* maximum keys before switching to larger sizes */} *ISAMG_filecat;#endif #ifdef SKIPTHIS/* The (delta?)encoding will be encapsulated so deep in the isams that *//* nobody needs to see it here... If different encodings needed, make *//* new isam types! */typedef struct ISAMG_M_s {    ISAMG_filecat filecat;    int (*compare_item)(const void *a, const void *b);#define ISAMG_DECODE 0#define ISAMG_ENCODE 1    void *(*code_start)(int mode);    void (*code_stop)(int mode, void *p);    void (*code_item)(int mode, void *p, char **dst, char **src);    void (*code_reset)(void *p);    int max_blocks_mem;    int debug;} *ISAMG_M;#endif#ifdef SKIPTHIS/* Is this needed? Shouldn't they all be using the same encapsulation */typedef struct ISAMG_I_s {  /* encapsulation of input data */    int (*read_item)(void *clientData, char **dst, int *insertMode);    void *clientData;} *ISAMG_I;#endif#ifdef SKIPTHIS ISAMG_M isamg_getmethod (ISAMG_M me);/* Does anyone really need this method thing ?? */#endifISAMG isamg_open (BFiles bfs, int writeflag, char *isam_type_name, Res res);int isamg_close (ISAMG is);ISAMG_P isamg_append (ISAMG is, ISAMG_P pos, ISAMG_I data);/* This may be difficult to generalize! */    ISAMG_PP isamg_pp_open (ISAMG is, ISAMG_P pos);void isamg_pp_close (ISAMG_PP pp);/* int isamg_read_item (ISAMG_PP pp, char **dst);      *//* int isamg_read_main_item (ISAMG_PP pp, char **dst); */int isamg_pp_read (ISAMG_PP pp, void *buf);int isamg_pp_num (ISAMG_PP pp);#ifdef SKIPTHIS/* all internal stuff */int isamg_block_used (ISAMG is, int type);int isamg_block_size (ISAMG is, int type);#define isamg_type(x) ((x) & 7)#define isamg_block(x) ((x) >> 3)#define isamg_addr(blk,typ) (((blk)<<3)+(typ))void isamg_buildfirstblock(ISAMG_PP pp);void isamg_buildlaterblock(ISAMG_PP pp);#endifYAZ_END_CDECL#endif  /* ISAMG_H *//* * $Log: isamg.h,v $ * Revision 1.2  2002/08/02 19:26:55  adam * Towards GPL * * Revision 1.1  2001/01/16 19:05:11  heikki * Started to add isamg * * * */

⌨️ 快捷键说明

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