mirror of https://github.com/sipwise/kamailio.git
54 lines
1.1 KiB
54 lines
1.1 KiB
#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
|