/usr/include/gwenhywfar4/gwenhywfar/dbio.h is in libgwenhywfar60-dev 4.15.2beta-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | /***************************************************************************
$RCSfile$
-------------------
cvs : $Id$
begin : Wed Mar 31 2004
copyright : (C) 2004 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
/** @file dbio.h
* @short This file provides the GWEN DB import/export framework.
*/
#ifndef GWENHYWFAR_DBIO_H
#define GWENHYWFAR_DBIO_H
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/plugin.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct GWEN_DBIO GWEN_DBIO;
#ifdef __cplusplus
}
#endif
#define GWEN_DBIO_PLUGIN_NAME "dbio"
/**
* name of the folder below Gwen's PLUGIN folder which holds DBIO plugins
*/
#define GWEN_DBIO_FOLDER "dbio"
#include <gwenhywfar/path.h>
#include <gwenhywfar/syncio.h>
#include <gwenhywfar/types.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/libloader.h>
#include <gwenhywfar/error.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_DBIO, GWEN_DBIO, GWENHYWFAR_API)
GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_DBIO, GWENHYWFAR_API)
/* No trailing semicolon here because this is a macro call */
typedef enum {
GWEN_DBIO_CheckFileResultOk=0,
GWEN_DBIO_CheckFileResultNotOk,
GWEN_DBIO_CheckFileResultUnknown
}
GWEN_DBIO_CHECKFILE_RESULT;
/** @name GWEN_DBIO plugins
*
*/
/*@{*/
typedef GWEN_DBIO* (*GWEN_DBIO_PLUGIN_FACTORYFN)(GWEN_PLUGIN *pl);
GWENHYWFAR_API
GWEN_DBIO *GWEN_DBIO_Plugin_Factory(GWEN_PLUGIN *pl);
/*@}*/
/** @name Functions To Be Used By Applications
*
*/
/*@{*/
/**
* Reads data from the given io layer and stores the data read
* into the given DB. The stream represented by the buffered io is expected
* to have the format for this particular GWEN_DBIO.
*/
GWENHYWFAR_API
int GWEN_DBIO_Import(GWEN_DBIO *dbio,
GWEN_SYNCIO *sio,
GWEN_DB_NODE *db,
GWEN_DB_NODE *params,
uint32_t flags);
GWENHYWFAR_API
int GWEN_DBIO_ImportFromFile(GWEN_DBIO *dbio,
const char *fname,
GWEN_DB_NODE *db,
GWEN_DB_NODE *params,
uint32_t flags);
/**
* Writes data to the given GWEN_BUFFEREDIO in the format of this particular
* GWEN_DBIO.
*/
GWENHYWFAR_API
int GWEN_DBIO_Export(GWEN_DBIO *dbio,
GWEN_SYNCIO *sio,
GWEN_DB_NODE *db,
GWEN_DB_NODE *params,
uint32_t flags);
GWENHYWFAR_API
int GWEN_DBIO_ExportToFile(GWEN_DBIO *dbio,
const char *fname,
GWEN_DB_NODE *db,
GWEN_DB_NODE *params,
uint32_t flags);
GWENHYWFAR_API
int GWEN_DBIO_ExportToBuffer(GWEN_DBIO *dbio,
GWEN_BUFFER *buf,
GWEN_DB_NODE *db,
GWEN_DB_NODE *params,
uint32_t flags);
/**
* Checks whether the given file is supported by the given DBIO.
*/
GWENHYWFAR_API
GWEN_DBIO_CHECKFILE_RESULT GWEN_DBIO_CheckFile(GWEN_DBIO *dbio, const char *fname);
/**
* Releases the ressources associated with the given GWEN_DBIO if the usage
* counter reaches zero.
*/
GWENHYWFAR_API
void GWEN_DBIO_free(GWEN_DBIO *dbio);
/**
* Increments the internal usage counter. This counter is decremented
* upon @ref GWEN_DBIO_free.
*/
GWENHYWFAR_API
void GWEN_DBIO_Attach(GWEN_DBIO *dbio);
/**
* Returns the name of a GWEN_DBIO.
*/
GWENHYWFAR_API
const char *GWEN_DBIO_GetName(const GWEN_DBIO *dbio);
/**
* Returns a descriptive text about this particular GWEN_DBIO.
*/
GWENHYWFAR_API
const char *GWEN_DBIO_GetDescription(const GWEN_DBIO *dbio);
/*@}*/
/** @name Functions To Be Used By Administration Functions
*
* Functions in this group are to be used for administration purposes
* only.
*/
/*@{*/
/**
* This function creates a GWEN_DBIO of the given name. It therefore loads
* the appropriate plugin if necessary.
* The caller becomes the owner of the object returned, so he/she is
* responsible for freeing it (Note: Previous version kept the ownership
* so that the caller was not allowed to free the object. This has changed).
*/
GWENHYWFAR_API
GWEN_DBIO *GWEN_DBIO_GetPlugin(const char *modname);
/*@}*/
#ifdef __cplusplus
}
#endif
#endif /* GWENHYWFAR_DBIO_H */
|