blob: 64fd0ebdb9f72791726b87e5543c20344374b4a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <libguile.h>
#define MAX_IFACES 32
struct sql_connect {
int iface;
char *hostname;
struct in_addr hostaddr;
int port;
char *username;
char *database;
void *data;
};
struct sql_result {
SCM owner;
void *data;
};
struct sql_iface {
char *name;
SCM (*mark) (struct sql_connect *);
scm_sizet (*free) (struct sql_connect *);
SCM (*connect) (char *hostname, int port,
char *dbname, char *user, char *pass, char *why);
void (*close) (struct sql_connect *);
SCM (*query) (struct sql_connect *, char *query);
};
extern struct sql_iface sql_iftab[];
|