32#ifndef ADBC_DRIVER_MANAGER_H
33#define ADBC_DRIVER_MANAGER_H
35typedef uint32_t AdbcLoadFlags;
37#define ADBC_LOAD_FLAG_SEARCH_ENV 1
38#define ADBC_LOAD_FLAG_SEARCH_USER 2
39#define ADBC_LOAD_FLAG_SEARCH_SYSTEM 4
40#define ADBC_LOAD_FLAG_ALLOW_RELATIVE_PATHS 8
42#define ADBC_LOAD_FLAG_DEFAULT \
43 (ADBC_LOAD_FLAG_SEARCH_ENV | ADBC_LOAD_FLAG_SEARCH_USER | \
44 ADBC_LOAD_FLAG_SEARCH_SYSTEM | ADBC_LOAD_FLAG_ALLOW_RELATIVE_PATHS)
64 int version,
void* driver,
struct AdbcError* error);
109 const int version,
const AdbcLoadFlags load_options,
AdbcStatusCode AdbcDriverManagerDatabaseSetLoadFlags(struct AdbcDatabase *database, AdbcLoadFlags flags, struct AdbcError *error)
Set the load flags for the driver manager.
const char * AdbcStatusCodeMessage(AdbcStatusCode code)
Get a human-friendly description of a status code.
AdbcStatusCode AdbcFindLoadDriver(const char *driver_name, const char *entrypoint, const int version, const AdbcLoadFlags load_options, void *driver, struct AdbcError *error)
Common entry point to search for and load a driver or manifest.
AdbcStatusCode AdbcLoadDriverFromInitFunc(AdbcDriverInitFunc init_func, int version, void *driver, struct AdbcError *error)
Common entry point for drivers via the driver manager.
AdbcStatusCode AdbcLoadDriver(const char *driver_name, const char *entrypoint, int version, void *driver, struct AdbcError *error)
Common entry point for drivers via the driver manager.
AdbcStatusCode AdbcDriverManagerDatabaseSetInitFunc(struct AdbcDatabase *database, AdbcDriverInitFunc init_func, struct AdbcError *error)
Set the AdbcDriverInitFunc to use.
An instance of a database.
Definition adbc.h:860
AdbcStatusCode(* AdbcDriverInitFunc)(int version, void *driver, struct AdbcError *error)
Common entry point for drivers via the driver manager (which uses dlopen(3)/LoadLibrary)....
Definition adbc.h:2399
uint8_t AdbcStatusCode
Error codes for operations that may fail.
Definition adbc.h:176
A detailed error message for an operation.
Definition adbc.h:283