IDZEBRA 2.2.8
api.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
28#ifndef IDZEBRA_API_H
29#define IDZEBRA_API_H
30
31#include <yaz/odr.h>
32#include <yaz/proto.h>
33#include <idzebra/res.h>
34#include <idzebra/version.h>
35#include <idzebra/recctrl.h>
36
37YAZ_BEGIN_CDECL
38
47
49typedef struct {
50 int errCode; /* non-zero if error when fetching this */
51 char *errString; /* error string */
52 int position; /* position of record in result set (1,2,..) */
53 char *buf; /* record buffer (void pointer really) */
54 int len; /* length */
55 const Odr_oid *format; /* record syntax */
56 char *base;
58 int score;
60
62typedef struct {
63 zint occurrences; /* scan term occurrences */
64 char *term; /* scan term string */
65 char *display_term; /* display scan term entry */
67
71typedef struct zebra_session *ZebraHandle;
72
77
83YAZ_EXPORT
84ZebraService zebra_start(const char *configName
85 ) ZEBRA_GCC_ATTR((warn_unused_result));
86
95YAZ_EXPORT
96ZebraService zebra_start_res(const char *configName,
97 Res def_res, Res over_res
98 ) ZEBRA_GCC_ATTR((warn_unused_result));
99
105YAZ_EXPORT
107
113YAZ_EXPORT
114void zebra_filter_info(ZebraService zs, void *cd,
115 void (*cb)(void *cd, const char *name));
116
117
126YAZ_EXPORT
128 ) ZEBRA_GCC_ATTR((warn_unused_result));
129
133YAZ_EXPORT
135
139YAZ_EXPORT
141
145YAZ_EXPORT
146const char *zebra_errString(ZebraHandle zh);
147
151YAZ_EXPORT
152char *zebra_errAdd(ZebraHandle zh);
153
159YAZ_EXPORT
160void zebra_result(ZebraHandle zh, int *code, char **addinfo);
161
162
167YAZ_EXPORT
168const char *zebra_get_encoding(ZebraHandle zh);
169
178
185YAZ_EXPORT
186ZEBRA_RES zebra_search_PQF(ZebraHandle zh, const char *pqf_query,
187 const char *setname, zint *hits);
188
198YAZ_EXPORT
199ZEBRA_RES zebra_search_RPN_x(ZebraHandle zh, ODR o, Z_RPNQuery *query,
200 const char *setname, zint *hits,
201 int *estimated_hit_count,
202 int *partial_resultset);
203
204
212YAZ_EXPORT
213ZEBRA_RES zebra_search_RPN(ZebraHandle zh, ODR o, Z_RPNQuery *query,
214 const char *setname, zint *hits);
215
225YAZ_EXPORT
227 const char *setname,
228 Z_RecordComposition *comp,
229 const Odr_oid *input_format,
230 int num_recs,
239YAZ_EXPORT
240int zebra_deleteResultSet(ZebraHandle zh, int function,
241 int num_setnames, char **setnames,
242 int *statuses);
243
244
254YAZ_EXPORT
255ZEBRA_RES zebra_result_set_term_no(ZebraHandle zh, const char *setname,
256 int *num_terms);
257
276YAZ_EXPORT
277ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname,
278 int no, zint *count, int *approx,
279 char *termbuf, size_t *termlen,
280 const char **term_ref_id);
281
282
294YAZ_EXPORT ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream,
295 Z_AttributesPlusTerm *zapt,
296 const Odr_oid *attributeset,
297 int *position, int *num_entries,
298 ZebraScanEntry **entries,
299 int *is_partial,
300 const char *setname);
301
312YAZ_EXPORT
313ZEBRA_RES zebra_scan_PQF(ZebraHandle zh, ODR stream, const char *query,
314 int *position, int *num_entries,
315 ZebraScanEntry **entries,
316 int *is_partial, const char *setname);
317
323YAZ_EXPORT
324ZEBRA_RES zebra_auth(ZebraHandle zh, const char *user, const char *pass);
325
334YAZ_EXPORT
335int zebra_string_norm(ZebraHandle zh, const char *index_type,
336 const char *input_str,
337 int input_len, char *output_str, int output_len);
338
343YAZ_EXPORT
345
350YAZ_EXPORT
351ZEBRA_RES zebra_drop_database(ZebraHandle zh, const char *db);
352
353YAZ_EXPORT
355
356YAZ_EXPORT
358
359YAZ_EXPORT
361
362YAZ_EXPORT
363ZEBRA_RES zebra_admin_import_begin(ZebraHandle zh, const char *database,
364 const char *record_type);
365
366YAZ_EXPORT
368 Z_Segment *segment);
369
370YAZ_EXPORT
372
373YAZ_EXPORT
375 ) ZEBRA_GCC_ATTR((warn_unused_result));
376
377YAZ_EXPORT
379 ) ZEBRA_GCC_ATTR((warn_unused_result));
380
381YAZ_EXPORT
384
385YAZ_EXPORT
387
388YAZ_EXPORT
390
391YAZ_EXPORT
393
394YAZ_EXPORT
396
397YAZ_EXPORT
398ZEBRA_RES zebra_repository_index(ZebraHandle zh, const char *path,
399 enum zebra_recctrl_action_t action);
400
401YAZ_EXPORT
402ZEBRA_RES zebra_repository_update(ZebraHandle zh, const char *path);
403
404YAZ_EXPORT
405ZEBRA_RES zebra_repository_delete(ZebraHandle zh, const char *path);
406
407YAZ_EXPORT
408ZEBRA_RES zebra_repository_show(ZebraHandle zh, const char *path);
409
418YAZ_EXPORT
419ZEBRA_RES zebra_add_record(ZebraHandle zh, const char *buf, int buf_size);
420
431YAZ_EXPORT
433 enum zebra_recctrl_action_t action,
434 const char *recordType,
435 zint *sysno, const char *match,
436 const char *fname,
437 const char *buf, int buf_size);
438
439YAZ_EXPORT
440ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream,
441 int num_input_setnames,
442 const char **input_setnames,
443 const char *output_setname,
444 Z_SortKeySpecList *sort_sequence,
445 int *sort_status
446 ) ZEBRA_GCC_ATTR((warn_unused_result));
447
448YAZ_EXPORT
450 const char **basenames
451 ) ZEBRA_GCC_ATTR((warn_unused_result));
452
453YAZ_EXPORT
454ZEBRA_RES zebra_select_database(ZebraHandle zh, const char *basename
455 ) ZEBRA_GCC_ATTR((warn_unused_result));
456
457YAZ_EXPORT
458void zebra_shadow_enable(ZebraHandle zh, int value);
459
460YAZ_EXPORT
461int zebra_register_statistics(ZebraHandle zh, int dumpdict);
462
463YAZ_EXPORT
464ZEBRA_RES zebra_record_encoding(ZebraHandle zh, const char *encoding);
465
466YAZ_EXPORT
467ZEBRA_RES zebra_octet_term_encoding(ZebraHandle zh, const char *encoding);
468
469/* Resources */
470YAZ_EXPORT
471void zebra_set_resource(ZebraHandle zh, const char *name, const char *value);
472YAZ_EXPORT
473const char *zebra_get_resource(ZebraHandle zh,
474 const char *name, const char *defaultvalue);
475
476
477YAZ_EXPORT
478void zebra_pidfname(ZebraService zs, char *path);
479
480typedef struct {
481 char *term;
482 char *db;
484 int score;
486
487YAZ_EXPORT
489 const char *name,
490 int num, zint *positions);
491
492
493YAZ_EXPORT
495 const char *name,
496 zint start, int num);
497
498YAZ_EXPORT
500 int num);
501
502YAZ_EXPORT
504
505YAZ_EXPORT
506ZEBRA_RES zebra_set_limit(ZebraHandle zh, int complement_flag, zint *ids);
507
508YAZ_EXPORT
510 int (*f)(void *client_data),
511 void *client_data);
512
513YAZ_EXPORT
514ZEBRA_RES zebra_register_check(ZebraHandle zh, const char *spec);
515
516YAZ_END_CDECL
517
599#endif
600/*
601 * Local variables:
602 * c-basic-offset: 4
603 * c-file-style: "Stroustrup"
604 * indent-tabs-mode: nil
605 * End:
606 * vim: shiftwidth=4 tabstop=8 expandtab
607 */
608
ZEBRA_RES zebra_compact(ZebraHandle zh)
Definition zebraapi.c:2187
ZEBRA_RES zebra_init(ZebraHandle zh)
Definition zebraapi.c:2154
ZEBRA_RES zebra_end_trans(ZebraHandle zh) ZEBRA_GCC_ATTR((warn_unused_result))
Definition zebraapi.c:1910
ZEBRA_RES zebra_scan_PQF(ZebraHandle zh, ODR stream, const char *query, int *position, int *num_entries, ZebraScanEntry **entries, int *is_partial, const char *setname)
performs Scan (taking PQF string)
Definition zebraapi.c:1232
ZEBRA_RES zebra_admin_shutdown(ZebraHandle zh)
Definition zebraapi.c:570
ZEBRA_RES zebra_search_PQF(ZebraHandle zh, const char *pqf_query, const char *setname, zint *hits)
Search using PQF Query String.
Definition zebraapi.c:2651
ZEBRA_RES zebra_close(ZebraHandle zh)
Destroys Zebra session handle.
Definition zebraapi.c:657
ZebraService zebra_start(const char *configName) ZEBRA_GCC_ATTR((warn_unused_result))
Creates a Zebra Service.
Definition zebraapi.c:192
struct zebra_session * ZebraHandle
a Zebra Handle - (session)
Definition api.h:71
ZEBRA_RES zebra_repository_delete(ZebraHandle zh, const char *path)
Definition zebraapi.c:2012
ZEBRA_RES zebra_admin_start(ZebraHandle zh)
Definition zebraapi.c:581
ZebraService zebra_start_res(const char *configName, Res def_res, Res over_res) ZEBRA_GCC_ATTR((warn_unused_result))
Creates a Zebra service with resources.
Definition zebraapi.c:197
ZEBRA_RES zebra_admin_import_segment(ZebraHandle zh, Z_Segment *segment)
Definition zebraapi.c:1421
ZEBRA_RES zebra_register_check(ZebraHandle zh, const char *spec)
Definition zebraapi.c:2413
ZEBRA_RES zebra_drop_database(ZebraHandle zh, const char *db)
Deletes a database (drop)
Definition zebraapi.c:1518
ZEBRA_RES zebra_record_encoding(ZebraHandle zh, const char *encoding)
Definition zebraapi.c:2545
ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream, const char *setname, Z_RecordComposition *comp, const Odr_oid *input_format, int num_recs, ZebraRetrievalRecord *recs)
Retrieve records from result set (after search)
Definition zebraapi.c:1118
ZEBRA_RES zebra_end_transaction(ZebraHandle zh, ZebraTransactionStatus *stat)
Definition zebraapi.c:1919
int zebra_register_statistics(ZebraHandle zh, int dumpdict)
Definition invstat.c:174
void zebra_set_resource(ZebraHandle zh, const char *name, const char *value)
Definition zebraapi.c:2556
struct zebra_service * ZebraService
a Zebra Service handle
Definition api.h:76
void zebra_meta_records_destroy(ZebraHandle zh, ZebraMetaRecord *records, int num)
Definition zsets.c:547
ZEBRA_RES zebra_add_record(ZebraHandle zh, const char *buf, int buf_size)
Simple update record.
Definition zebraapi.c:2600
ZEBRA_RES zebra_clean(ZebraHandle zh)
Definition zebraapi.c:2139
const char * zebra_get_encoding(ZebraHandle zh)
Returns character set encoding for session.
Definition zebraapi.c:107
ZEBRA_RES zebra_update_record(ZebraHandle zh, enum zebra_recctrl_action_t action, const char *recordType, zint *sysno, const char *match, const char *fname, const char *buf, int buf_size)
Updates record.
Definition zebraapi.c:2611
ZEBRA_RES zebra_select_databases(ZebraHandle zh, int num_bases, const char **basenames) ZEBRA_GCC_ATTR((warn_unused_result))
Definition zebraapi.c:948
char * zebra_errAdd(ZebraHandle zh)
Returns additional info for last error.
Definition zebraapi.c:1363
ZEBRA_RES zebra_commit(ZebraHandle zh)
Definition zebraapi.c:2146
ZebraMetaRecord * zebra_meta_records_create(ZebraHandle zh, const char *name, int num, zint *positions)
Definition zsets.c:418
ZEBRA_RES zebra_create_database(ZebraHandle zh, const char *db)
Creates a database.
Definition zebraapi.c:1562
ZEBRA_RES zebra_repository_update(ZebraHandle zh, const char *path)
Definition zebraapi.c:2007
int zebra_string_norm(ZebraHandle zh, const char *index_type, const char *input_str, int input_len, char *output_str, int output_len)
Normalize zebra term for register (subject to change!)
Definition zebraapi.c:1587
ZEBRA_RES zebra_shutdown(ZebraService zs)
ZEBRA_RES zebra_octet_term_encoding(ZebraHandle zh, const char *encoding)
Definition zebraapi.c:2522
ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw) ZEBRA_GCC_ATTR((warn_unused_result))
Definition zebraapi.c:1710
ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream, int num_input_setnames, const char **input_setnames, const char *output_setname, Z_SortKeySpecList *sort_sequence, int *sort_status) ZEBRA_GCC_ATTR((warn_unused_result))
Definition zebraapi.c:1291
int zebra_errCode(ZebraHandle zh)
Returns error code for last error.
Definition zebraapi.c:1343
ZebraMetaRecord * zebra_meta_records_create_range(ZebraHandle zh, const char *name, zint start, int num)
Definition zsets.c:393
void zebra_result(ZebraHandle zh, int *code, char **addinfo)
Returns error code and additional info for last error.
Definition zebraapi.c:2500
int zebra_deleteResultSet(ZebraHandle zh, int function, int num_setnames, char **setnames, int *statuses)
Deletes one or more resultsets.
Definition zebraapi.c:1314
ZEBRA_RES zebra_select_database(ZebraHandle zh, const char *basename) ZEBRA_GCC_ATTR((warn_unused_result))
Definition zebraapi.c:939
ZEBRA_RES zebra_auth(ZebraHandle zh, const char *user, const char *pass)
authenticate user. Returns 0 if OK, != 0 on failure
Definition zebraapi.c:1372
ZEBRA_RES zebra_set_break_handler(ZebraHandle zh, int(*f)(void *client_data), void *client_data)
Definition zebraapi.c:1070
ZEBRA_RES zebra_set_approx_limit(ZebraHandle zh, zint approx_limit)
Set limit before Zebra does approx hit count.
Definition zebraapi.c:1056
ZEBRA_RES zebra_repository_index(ZebraHandle zh, const char *path, enum zebra_recctrl_action_t action)
Definition zebraapi.c:2017
const char * zebra_errString(ZebraHandle zh)
Returns error string for last error.
Definition zebraapi.c:1354
ZEBRA_RES zebra_search_RPN(ZebraHandle zh, ODR o, Z_RPNQuery *query, const char *setname, zint *hits)
Search using RPN Query structure (from ASN.1)
Definition zebraapi.c:1108
ZEBRA_RES zebra_stop(ZebraService zs)
stops a Zebra service.
Definition zebraapi.c:627
struct BFiles_struct * zebra_get_bfs(ZebraHandle zh)
Definition zebraapi.c:2733
ZEBRA_RES zebra_admin_import_end(ZebraHandle zh)
Definition zebraapi.c:1414
ZEBRA_RES zebra_admin_import_begin(ZebraHandle zh, const char *database, const char *record_type)
Definition zebraapi.c:1404
ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname, int no, zint *count, int *approx, char *termbuf, size_t *termlen, const char **term_ref_id)
returns information about a term assocated with a result set
Definition zsets.c:1275
ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, const Odr_oid *attributeset, int *position, int *num_entries, ZebraScanEntry **entries, int *is_partial, const char *setname)
performs Scan (Z39.50 style)
Definition zebraapi.c:1258
ZEBRA_RES zebra_set_limit(ZebraHandle zh, int complement_flag, zint *ids)
Definition zebraapi.c:2744
ZEBRA_RES zebra_result_set_term_no(ZebraHandle zh, const char *setname, int *num_terms)
returns number of term info terms assocaited with result set
Definition zsets.c:1262
void zebra_filter_info(ZebraService zs, void *cd, void(*cb)(void *cd, const char *name))
Lists enabled Zebra filters.
Definition zebraapi.c:306
ZEBRA_RES zebra_search_RPN_x(ZebraHandle zh, ODR o, Z_RPNQuery *query, const char *setname, zint *hits, int *estimated_hit_count, int *partial_resultset)
Search using RPN Query structure (from ASN.1)
Definition zebraapi.c:1079
const char * zebra_get_resource(ZebraHandle zh, const char *name, const char *defaultvalue)
Definition zebraapi.c:2565
ZebraHandle zebra_open(ZebraService zs, Res res) ZEBRA_GCC_ATTR((warn_unused_result))
Creates a Zebra session handle within service.
Definition zebraapi.c:113
void zebra_shadow_enable(ZebraHandle zh, int value)
Definition zebraapi.c:2515
ZEBRA_RES zebra_repository_show(ZebraHandle zh, const char *path)
Definition zebraapi.c:2038
void zebra_pidfname(ZebraService zs, char *path)
Definition zebraapi.c:314
zebra_recctrl_action_t
Definition recctrl.h:87
char * term
Definition api.h:481
zint sysno
Definition api.h:483
char * db
Definition api.h:482
const Odr_oid * format
Definition api.h:55
char * errString
Definition api.h:51
zint occurrences
Definition api.h:63
char * term
Definition api.h:64
char * display_term
Definition api.h:65
long zint
Zebra integer.
Definition util.h:66
#define ZEBRA_GCC_ATTR(x)
Definition util.h:41
short ZEBRA_RES
Common return type for Zebra API.
Definition util.h:80