IDZEBRA 2.2.8
isamb.h
Go to the documentation of this file.
1/* This file is part of the Zebra server.
2 Copyright (C) Index Data
3
4Zebra is free software; you can redistribute it and/or modify it under
5the terms of the GNU General Public License as published by the Free
6Software Foundation; either version 2, or (at your option) any later
7version.
8
9Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
10WARRANTY; without even the implied warranty of MERCHANTABILITY or
11FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18*/
19
20#ifndef ISAMB_H
21#define ISAMB_H
22
23#include <idzebra/bfile.h>
24#include <idzebra/isamc.h>
25
26YAZ_BEGIN_CDECL
27
28typedef struct ISAMB_s *ISAMB;
29typedef struct ISAMB_PP_s *ISAMB_PP;
30
32ISAMB isamb_open(BFiles bfs, const char *name, int writeflag, ISAMC_M *method,
33 int cache);
34
36ISAMB isamb_open2(BFiles bfs, const char *name, int writeflag, ISAMC_M *method,
37 int cache, int no_cat, int *sizes, int use_root_ptr);
38
41
43void isamb_merge(ISAMB b, ISAM_P *pos, ISAMC_I *data);
44
47
49int isamb_pp_read(ISAMB_PP pp, void *buf);
50
52int isamb_pp_forward(ISAMB_PP pp, void *buf, const void *untilbuf);
53
55void isamb_pp_pos(ISAMB_PP pp, double *current, double *total);
56
59
62
66void isamb_pp_close_x(ISAMB_PP pp, zint *size, zint *blocks);
67
69int isamb_block_info(ISAMB isamb, int cat);
70
72void isamb_dump(ISAMB b, ISAM_P pos, void (*pr)(const char *str));
73
76
79
81void isamb_set_int_count(ISAMB b, int v);
82
84void isamb_set_cache_size(ISAMB b, int sz);
85
88
90void isamb_set_root_ptr(ISAMB b, zint root_ptr);
91
92
94
95#endif
96/*
97 * Local variables:
98 * c-basic-offset: 4
99 * c-file-style: "Stroustrup"
100 * indent-tabs-mode: nil
101 * End:
102 * vim: shiftwidth=4 tabstop=8 expandtab
103 */
104
Zebra Block File Layer.
void isamb_pp_pos(ISAMB_PP pp, double *current, double *total)
Definition isamb.c:1509
ISAMB_PP isamb_pp_open(ISAMB isamb, ISAM_P pos, int scope)
Definition isamb.c:1387
void isamb_pp_close_x(ISAMB_PP pp, zint *size, zint *blocks)
Definition isamb.c:1392
struct ISAMB_PP_s * ISAMB_PP
Definition isamb.h:29
void isamb_set_int_count(ISAMB b, int v)
Definition isamb.c:195
zint isamb_get_leaf_splits(ISAMB b)
Definition isamb.c:1664
ISAMB isamb_open(BFiles bfs, const char *name, int writeflag, ISAMC_M *method, int cache)
Definition isamb.c:351
int isamb_block_info(ISAMB isamb, int cat)
Definition isamb.c:1422
zint isamb_get_int_splits(ISAMB b)
Definition isamb.c:1659
struct ISAMB_s * ISAMB
Definition isamb.h:28
ISAMB_PP isamb_pp_open_x(ISAMB isamb, ISAM_P pos, int *level, int scope)
Definition isamb.c:1345
zint isamb_get_root_ptr(ISAMB b)
Definition isamb.c:1669
void isamb_dump(ISAMB b, ISAM_P pos, void(*pr)(const char *str))
Definition isamb.c:1498
void isamb_close(ISAMB isamb)
Definition isamb.c:455
void isamb_set_root_ptr(ISAMB b, zint root_ptr)
Definition isamb.c:1674
int isamb_pp_forward(ISAMB_PP pp, void *buf, const void *untilbuf)
Definition isamb.c:1525
ISAMB isamb_open2(BFiles bfs, const char *name, int writeflag, ISAMC_M *method, int cache, int no_cat, int *sizes, int use_root_ptr)
Definition isamb.c:205
void isamb_pp_close(ISAMB_PP pp)
Definition isamb.c:1429
void isamb_set_cache_size(ISAMB b, int sz)
Definition isamb.c:200
void isamb_merge(ISAMB b, ISAM_P *pos, ISAMC_I *data)
Definition isamb.c:1266
int isamb_unlink(ISAMB b, ISAM_P pos)
Definition isamb.c:1225
int isamb_pp_read(ISAMB_PP pp, void *buf)
Definition isamb.c:1503
zint ISAM_P
Definition isamc.h:28
ISAM_P pos
Definition isamb.c:134
int level
Definition isamb.c:135
ISAMB isamb
Definition isamb.c:133
const char * scope
long zint
Zebra integer.
Definition util.h:66