aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpgtcl/pgtclCmds.h
blob: 6def84d97ffc0dde6cf61fa59292feca1b972844 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*-------------------------------------------------------------------------
 *
 * pgtclCmds.h--
 *	  declarations for the C functions which implement pg_* tcl commands
 *
 * Copyright (c) 1994, Regents of the University of California
 *
 * $Id: pgtclCmds.h,v 1.8 1997/09/08 02:40:16 momjian Exp $
 *
 *-------------------------------------------------------------------------
 */

#ifndef PGTCLCMDS_H
#define PGTCLCMDS_H

#include "tcl.h"
#include "libpq/pqcomm.h"
#include "libpq-fe.h"
#include "libpq/libpq-fs.h"

typedef struct Pg_clientData_s
{
	Tcl_HashTable dbh_hash;
	Tcl_HashTable res_hash;
	Tcl_HashTable notify_hash;
	long		dbh_count;
	long		res_count;
}			Pg_clientData;


typedef struct Pg_ConnectionId_s
{
	char		id[32];
	PGconn	   *conn;
	Tcl_HashTable res_hash;
}			Pg_ConnectionId;


typedef struct Pg_ResultId_s
{
	char		id[32];
	PGresult   *result;
	Pg_ConnectionId *connection;
}			Pg_ResultId;


/* **************************/
/* registered Tcl functions */
/* **************************/
extern int
Pg_conndefaults(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_connect(
		   ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_disconnect(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_exec(
		ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_select(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_result(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_open(
		   ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_close(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_read(
		   ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_write(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_lseek(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_creat(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_tell(
		   ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_unlink(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_import(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_lo_export(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_listen(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);
extern int
Pg_notifies(
		  ClientData cData, Tcl_Interp * interp, int argc, char *argv[]);


#endif							/* PGTCLCMDS_H */