24 #include <sys/types.h>
28 #include <netinet/in.h>
39 #include <freetds/dlist.h>
44 #define MAX_POOL_USERS 1024
64 TDS_POOL_EXECUTE execute;
77 DLIST_FIELDS(dlist_user_item);
79 TDS_USER_STATE user_state;
86 DLIST_FIELDS(dlist_member_item);
92 #define DLIST_NAME(suffix) dlist_member_ ## suffix
93 #define DLIST_LIST_TYPE dlist_members
94 #define DLIST_TYPE TDS_POOL_MEMBER
95 #include <freetds/dlist.tmpl.h>
97 #define DLIST_NAME(suffix) dlist_user_ ## suffix
98 #define DLIST_LIST_TYPE dlist_users
99 #define DLIST_TYPE TDS_POOL_USER
100 #include <freetds/dlist.tmpl.h>
113 tds_mutex events_mtx;
114 TDS_SYS_SOCKET listen_fd;
115 TDS_SYS_SOCKET wakeup_fd;
116 TDS_SYS_SOCKET event_fd;
119 int num_active_members;
120 dlist_members active_members;
128 unsigned long user_logins;
129 unsigned long member_logins;
135 void pool_process_members(
TDS_POOL * pool, fd_set * rfds, fd_set * wfds);
137 void pool_mbr_init(
TDS_POOL * pool);
138 void pool_mbr_destroy(
TDS_POOL * pool);
146 void pool_process_users(
TDS_POOL * pool, fd_set * rfds, fd_set * wfds);
147 void pool_user_init(
TDS_POOL * pool);
148 void pool_user_destroy(
TDS_POOL * pool);
158 int pool_write(TDS_SYS_SOCKET sock,
const void *buf,
size_t len);
162 int pool_read_conf_file(
const char *poolname,
TDS_POOL * pool,
char **err);
Main include file for libtds.
dlist_users waiters
users in wait state
Definition: pool.h:123
Information for a server connection.
Definition: tds.h:1161