2 openisis - an open implementation of the CDS/ISIS database
3 Version 0.8.x (patchlevel see file Version)
4 Copyright (C) 2001-2003 by Erik Grziwotz, erik@openisis.org
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 see README for more information
26 $Id: ldsp.h,v 1.4 2003/06/15 15:57:43 mawag Exp $
27 openisis internal request dispatcher interface.
30 /** server side method for transformation of record fields to utf-8 encoding.
31 @param enc 0-terminated encoding of src; if 0, free src after usage
32 @param src source string
33 @param slen length of src
34 @param dstbuf optional output buffer
35 @param dlen length of dstbuf
36 @param invert if != 0, convert src from utf-8 to enc
37 @return utf-8 representation of src, 0 on error, returned pointer
38 must be freed if it not equals dstbuf or src
40 typedef const char* OpenIsisEnc2Utf8Func (const char *enc,
41 const char *src, int slen, char *dstbuf, int dlen, int invert);
43 /** pointer to transformation function provided by external environment.
44 transformation is disabled if environment defines no or null
45 transformation function.
47 extern OpenIsisEnc2Utf8Func *openIsisEnc2Utf8;
49 /** server side method for command evaluation.
50 @param cmd command record
51 @param res address of optional result record
54 typedef int OpenIsisEvalFunc (OpenIsisRec *cmd, OpenIsisRec **res);
56 /** pointer to evaluation function provided by external environment.
57 command evaluation is disabled if environment defines no or null
60 extern OpenIsisEvalFunc *openIsisEval;
62 /** callback for delivering response record.
64 typedef int LdspDlvCb (OpenIsisRec **rsp, void *cld);
66 /** server side request processing.
67 * @param rsp optional address where to store response
69 extern int ldspProcess (
70 OpenIsisRec *rqs, OpenIsisRec **rsp, LdspDlvCb *cb, void *cld);