DataWorks
Database Library/Client
Loading...
Searching...
No Matches
dw_database.h File Reference

DataWorks database. More...

#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
Include dependency graph for dw_database.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dataworks_db
 Database struct. More...
 
struct  dataworks_db_result
 Database result struct. More...
 
struct  dataworks_db_v1_indexentry
 indexentry for v1 database. More...
 
struct  dataworks_db_infoentry
 infoentry for database. More...
 

Macros

#define DATAWORKS_V1_INDEXENTRY_USED   (1 << 7)
 "Used" bitmask for indexentry for v1 database.
 

Enumerations

enum  DW_ERRORS {
  DW_ERR_SUCCESS = 0 , DW_ERR_USED , DW_ERR_FAIL_FOPEN , DW_ERR_INVALID_SIGNATURE ,
  DW_ERR_INVALID_VERSION , DW_ERR_PARSER_NULL , DW_ERR_EXEC_NON_METHOD , DW_ERR_EXEC_UNKNOWN_METHOD ,
  DW_ERR_EXEC_INSUFFICIENT_ARGUMENTS
}
 Error enum. More...
 

Functions

int dataworks_database_create (const char *fname)
 Creates the database.
 
struct dataworks_dbdataworks_database_open (const char *fname)
 Opens the database.
 
void dataworks_database_close (struct dataworks_db *db)
 Closes the database.
 
int dataworks_database_get_version (struct dataworks_db *db)
 Get the version of the database.
 
bool dataworks_database_get_error (struct dataworks_db *db)
 Get the error flag of the database.
 
int dataworks_database_get_error_number (struct dataworks_db *db)
 Get the error number of the database.
 
uint64_t dataworks_database_get_mtime (struct dataworks_db *db)
 Get the last modified time of the database.
 
char ** dataworks_database_get_table_list (struct dataworks_db *db)
 Get the table list of the database.
 
int dataworks_database_create_table (struct dataworks_db *db, const char *name, char **fields, const char *fieldtypes)
 Creates a table.
 
const char * dataworks_database_strerror (int n)
 Converts error number to a string.
 
void dataworks_database_update_mtime (struct dataworks_db *db)
 Update mtime.
 
struct dataworks_db_resultdataworks_database_execute_code (struct dataworks_db *db, const char *code)
 Executes the code.
 
void dataworks_database_free_result (struct dataworks_db_result *result)
 Frees the result.
 

Detailed Description

DataWorks database.

Definition in file dw_database.h.

Macro Definition Documentation

◆ DATAWORKS_V1_INDEXENTRY_USED

#define DATAWORKS_V1_INDEXENTRY_USED   (1 << 7)

"Used" bitmask for indexentry for v1 database.

Note
See DWF - DataWorks Database Format 1.0 for more info.

Definition at line 216 of file dw_database.h.

Enumeration Type Documentation

◆ DW_ERRORS

enum DW_ERRORS

Error enum.

Enumerator
DW_ERR_SUCCESS 

Success.

DW_ERR_USED 

Used already.

DW_ERR_FAIL_FOPEN 

File open fail.

DW_ERR_INVALID_SIGNATURE 

Invalid signature.

DW_ERR_INVALID_VERSION 

Invalid version.

DW_ERR_PARSER_NULL 

Parser returned NULL.

DW_ERR_EXEC_NON_METHOD 

Cannot call non-method.

DW_ERR_EXEC_UNKNOWN_METHOD 

Unknown method.

DW_ERR_EXEC_INSUFFICIENT_ARGUMENTS 

Insufficient arguments.

Definition at line 61 of file dw_database.h.

Function Documentation

◆ dataworks_database_close()

void dataworks_database_close ( struct dataworks_db db)

Closes the database.

Parameters
dbDatabase

Definition at line 84 of file database.c.

◆ dataworks_database_create()

int dataworks_database_create ( const char *  fname)

Creates the database.

Parameters
fnameFilename
Returns
0 if successful

Definition at line 45 of file database.c.

◆ dataworks_database_create_table()

int dataworks_database_create_table ( struct dataworks_db db,
const char *  name,
char **  fields,
const char *  fieldtypes 
)

Creates a table.

Parameters
dbDatabase
nameTable name
fieldsFields
fieldtypesTypes
Returns
  • 0 if success
  • DW_ERR_USED if the name is already used

Definition at line 37 of file database_table.c.

◆ dataworks_database_execute_code()

struct dataworks_db_result * dataworks_database_execute_code ( struct dataworks_db db,
const char *  code 
)

Executes the code.

Parameters
dbDatabase
codeCode
Returns
Result

Definition at line 180 of file database_exec.c.

◆ dataworks_database_free_result()

void dataworks_database_free_result ( struct dataworks_db_result result)

Frees the result.

Parameters
resultResult

Definition at line 201 of file database_exec.c.

◆ dataworks_database_get_error()

bool dataworks_database_get_error ( struct dataworks_db db)

Get the error flag of the database.

Parameters
dbDatabase
Returns
Error flag of the database

◆ dataworks_database_get_error_number()

int dataworks_database_get_error_number ( struct dataworks_db db)

Get the error number of the database.

Parameters
dbDatabase
Returns
Error number of the database

Definition at line 135 of file database.c.

◆ dataworks_database_get_mtime()

uint64_t dataworks_database_get_mtime ( struct dataworks_db db)

Get the last modified time of the database.

Parameters
dbDatabase
Returns
Last modified time of the database

Definition at line 133 of file database.c.

◆ dataworks_database_get_table_list()

char ** dataworks_database_get_table_list ( struct dataworks_db db)

Get the table list of the database.

Parameters
dbDatabase
Returns
Table list of the database

Definition at line 85 of file database_table.c.

◆ dataworks_database_get_version()

int dataworks_database_get_version ( struct dataworks_db db)

Get the version of the database.

Parameters
dbDatabase
Returns
Version of the database

Definition at line 131 of file database.c.

◆ dataworks_database_open()

struct dataworks_db * dataworks_database_open ( const char *  fname)

Opens the database.

Parameters
fnameFilename
Returns
  • NULL if it failed to open the database.
  • non-NULL if it could open the database.

Definition at line 89 of file database.c.

◆ dataworks_database_strerror()

const char * dataworks_database_strerror ( int  n)

Converts error number to a string.

Parameters
nError number
Returns
Error string

Definition at line 139 of file database.c.

◆ dataworks_database_update_mtime()

void dataworks_database_update_mtime ( struct dataworks_db db)

Update mtime.

Parameters
dbDatabase

Definition at line 141 of file database.c.