1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef __orasel_h__
- #define __orasel_h__
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- #include <oci.h>
- typedef struct {
- unsigned len;
- char s[];
- }Str;
- typedef struct {
- const Str* username;
- const Str* password;
- const Str* uri;
- OCIError* errhp;
- OCISvcCtx* svchp;
- OCIEnv* envhp;
- OCISession* authp;
- OCIServer* srvhp;
- OCIStmt* stmthp;
- }con_t;
- typedef struct {
- Str** names;
- Str*** rows;
- unsigned char* types;
- unsigned col_n;
- unsigned row_n;
- }res_t;
- void __attribute__((noreturn)) donegood(const char *msg);
- void __attribute__((noreturn)) errxit(const char *msg);
- void __attribute__((noreturn)) oraxit(sword status, const con_t* con);
- void* safe_malloc(size_t sz);
- Str* str_alloc(const char *s, size_t len);
- void open_sess(con_t* con);
- void send_req(con_t* con, const Str* req);
- void get_res(const con_t* con, res_t* _r);
- void out_res(const res_t* _r);
- typedef struct {
- unsigned raw : 1,
- hdr : 1,
- emp : 1;
- }outmode_t;
- extern outmode_t outmode;
- #endif
|