Intro(3dba)
Intro --
EELS Database access API
Synopsis
#include <eelsdba.h>
Description
The Database Access API is used by
Enhanced Event Logging System (EELS) log analysis
applications to query the log database.
This API provides a database-independent
means of accessing the log database. If
the underlying database changes, the log analysis
applications do not have to be re-written.
If a database is substituted for the reference database that is
supplied, a dynamically loadable library must be provided to be used
instead of /usr/lib/libeelsdba.so. This library must
substitute all database access routines that are described in this
manual page section.
Data structures
The data structures used by the Database Access API
are dependent on the underlying database.
The database abstraction layer maps the underlying database's data structures
onto the structures used by the various Database Access API routines.
Because of this no assumptions should be made about the format
of the data structures used by the API.
DBRecordHeader_t
The structure DBRecordHeader_t
represents the record header format used by the
Database Access API routines.
struct EELSTimeInfo_t {
U64_t TimeOff;
U32_t TimeUncInt;
U32_t TimeUncInd;
EELSBuffer_t TimeSrc;
EELSBuffer_t TimeZone;
};
struct EELSOrigInfo_t {
EELSBuffer_t OrigHostName;
EELSBuffer_t OrigServName;
EELSBuffer_t OrigLocAddr;
EELSBuffer_t OrigServType;
EELSBuffer_t OrigPrinName;
EELSBufer_t OrigPrinID;
};
struct EELSInitInfo_t {
EELSBuffer_t InitAuthAuth;
EELSBuffer_t InitDomSpecName;
EELSBuffer_t InitDomSpecID;
};
struct EELSTargInfo_t {
EELSBuffer_t TargLocName;
EELSBuffer_t TargLocAddr;
EELSBuffer_t TargServType;
EELSBuffer_t TargAuthAuth;
EELSBuffer_t TargPrinname;
EELSBuffer_t TargPrinID;
};
struct DBRecordheader_t {
U64_t UniqEventID;
U32_t SeqNum;
pid_t ProcID;
EELSBuffer_t GroupID;
lwpid_t LWPID;
EELSBuffer_t LogSysSrc;
U32_t Len;
U32_t VerID;
U32_t EventNum;
EELSBuffer_t EventNumStr;
U32_t Outcome;
EELSBuffer_t PtrToSrcDom;
EELSBuffer_t EventSpecInfo;
EELSBuffer_t SrcSpecInfo;
EELSTimeInfo_t TimeInfo;
EELSOrigInfo_t OrigInfo;
EELSInitInfo_t InitInfo;
EELSTargInfo_t TargInfo;
};
DBResult
The structure DBResult
represents the result format used for queries made by
dbQuery(3dba),
dbListDatabases(3dba),
and
dbListTables(3dba).
typedef struct _DBResult {
DBConn * Conn;
char * TBName;
DBRow * TBSchema;
void * DBSpec;
} DBResult;
DBConn
The structure
DBConn is used to store the database connection ID which
dbConnect(3dba)
returns. The connection ID may then be passed to other database
access routines to identify the database connection.
typedef struct _DBConn {
EELSIHandle * EELSIHandle;
char * DBName;
char * TBName;
char * TBSchema;
int DBFlags;
void * DBSpec;
} DBConn;
DBRow
The structure DBRow is used with
dbGetNextRow(3dba)
to access the data value at a row and column located
within a database.
typedef struct _DBRow {
short DBNumColumns;
DBColumn * DBColumns;
} DBRow;
typedef struct _DBColumn {
int DBCType;
char * DBValue;
int DBLength;
char * DBName;
int DBIndex;
} DBColumn;
References
dbAddDbPriv(3dba),
dbAddUserPriv(3dba),
dbCheckDatabase(3dba),
dbCheckTable(3dba),
dbClose(3dba),
dbCloseConn(3dba),
dbConnect(3dba),
dbCreateDatabase(3dba),
dbCreateTable(3dba),
dbDeleteDatabase(3dba),
dbDeleteDbPriv(3dba),
dbDeleteTable(3dba),
dbDeleteUserPriv(3dba),
dbFreePriv(3dba),
dbFreeResult(3dba),
dbFreeRow(3dba),
dbGetColumnIndexByName(3dba),
dbGetColumnNameByIndex(3dba),
dbGetdbPriv(3dba),
dbGetMaxUniqEventID(3dba),
dbGetUserPriv(3dba),
dbGetError(3dba),
dbGetNextRow(3dba),
dbGetNextRecord(3dba),
dbInitialize(3dba),
dbListDatabases(3dba),
dbListTables(3dba),
dbNumberRows(3dba),
dbPrivStr(3dba),
dbQuery(3dba),
dbTrace(3dba),
dbUpdateMaxUniqEventID(3dba),
dbWriteRecord(3dba)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004