CERT/CC
background
background
CERT NetSA Security Suite 
Open Source Tools for Network Monitoring 
News | Downloads | Documentation | Tooltips
SiLK 1.1.2 | YAF 1.0.0 | IPA 0.3.0 | fixbuf 0.8.0 | Portal 0.8.0 | RAVE 1.9.11
AirDBC Database Abstraction Layer
libairdbc 0.2.2 API documentation

Main Page | Data Structures | File List | Data Fields | Globals

airdbc.h

Go to the documentation of this file.
00001 /*
00002  ** airdbc.h
00003  ** AirDBC Database Abstraction Layer
00004  **
00005  ** ------------------------------------------------------------------------
00006  ** Copyright (C) 2000-2005 Carnegie Mellon University. All Rights Reserved.
00007  ** ------------------------------------------------------------------------
00008  ** Authors: Brian Trammell <bht@cert.org>
00009  ** ------------------------------------------------------------------------
00010  ** From libair::db, by Brian Trammell, Roman Danyliw, and Sean Levy.
00011  ** ------------------------------------------------------------------------
00012  ** GNU Lesser GPL Rights pursuant to Version 2.1, February 1999 
00013  ** Government Purpose License Rights (GPLR) pursuant to DFARS 252.225-7013
00014  ** ------------------------------------------------------------------------
00015  */
00016  
00084 #ifndef _ADB_AIRDBC_H_
00085 #define _ADB_AIRDBC_H_
00086 
00087 #include <airdbc/drv_pg.h>
00088 #include <airdbc/drv_oci.h>
00089 
00091 #define ADB_ERROR_DOMAIN        g_quark_from_string("AirDBCError")
00092 
00094 #define ADB_ERROR_RDBMS         1
00095 
00097 #define ADB_ERROR_CONNECT       2
00098 
00100 #define ADB_ERROR_ARGUMENT      3
00101 
00103 #define ADB_ERROR_RANGE         4
00104 
00105 struct _AdbConnection;
00114 typedef struct _AdbConnection AdbConnection;
00115 
00116 struct _AdbStatement;
00124 typedef struct _AdbStatement AdbStatement;    
00125  
00126 struct _AdbResultSet;
00133 typedef struct _AdbResultSet AdbResultSet;
00134 
00154 AdbConnection       *adb_conn_create(
00155     const char          *uri,
00156     GError              **err);
00157     
00167 gboolean            adb_conn_open(
00168     AdbConnection       *conn,
00169     GError              **err);
00170 
00180 gboolean            adb_conn_close(
00181     AdbConnection      *conn,
00182     GError              **err);
00183 
00191 gboolean            adb_conn_is_open(
00192     AdbConnection       *conn);
00193 
00203 void                adb_conn_free(
00204     AdbConnection       *conn);
00205     
00217 gboolean            adb_transaction_begin(
00218     AdbConnection       *conn,
00219     GError              **err);
00220 
00230 gboolean            adb_transaction_commit(
00231     AdbConnection       *conn,
00232     GError              **err);
00233 
00243 gboolean            adb_transaction_rollback(
00244     AdbConnection       *conn,
00245     GError              **err);
00246     
00263 AdbStatement        *adb_stmt_prepare(
00264     AdbConnection       *conn,
00265     char                *sql,
00266     uint32_t            param_maxlen,
00267     GError              **err);
00268 
00275 void                adb_stmt_free(
00276     AdbStatement        *stmt);
00277     
00290 gboolean            adb_stmt_bind(
00291     AdbStatement        *stmt,
00292     uint32_t            pos,
00293     const char          *val,
00294     GError              **err);
00295 
00310 gboolean            adb_stmt_bind_named(
00311     AdbStatement        *stmt,
00312     const char          *name,
00313     const char          *val,
00314     GError              **err);
00315 
00327 gboolean            adb_stmt_execute(
00328     AdbStatement        *stmt,
00329     GError              **err);
00330 
00345 AdbResultSet        *adb_stmt_query(
00346     AdbStatement        *stmt,
00347     GError              **err);
00348 
00355 void                adb_rs_free(
00356     AdbResultSet        *rs);
00357 
00382 gboolean            adb_rs_next(
00383     AdbResultSet        *rs,
00384     GError              **err);
00385 
00394 uint32_t            adb_rs_column_count(
00395     AdbResultSet        *rs,
00396     GError              **err);
00397     
00409 char                *adb_rs_column_name(
00410     AdbResultSet        *rs,
00411     uint32_t            col,
00412     GError              **err);
00413 
00428 gboolean            adb_rs_fetch(
00429     AdbResultSet        *rs,
00430     uint32_t            col,
00431     const char          **val,
00432     GError              **err);
00433 
00449 gboolean            adb_rs_fetch_named(
00450     AdbResultSet        *rs,
00451     const char          *name,
00452     const char          **val,
00453     GError              **err);
00454 
00455 #endif