20 #ifndef _tdsguard_clBmMDiJ1W6vO4Q4ftyzgV_ 21 #define _tdsguard_clBmMDiJ1W6vO4Q4ftyzgV_ 26 #include <sys/types.h> 30 #include <netinet/in.h> 41 #include <freetds/utils/dlist.h> 42 #include <freetds/replacements.h> 47 #define MAX_POOL_USERS 1024 67 TDS_POOL_EXECUTE execute;
81 DLIST_FIELDS(dlist_user_item);
83 TDS_USER_STATE user_state;
90 DLIST_FIELDS(dlist_member_item);
96 #define DLIST_PREFIX dlist_member 97 #define DLIST_LIST_TYPE dlist_members 98 #define DLIST_ITEM_TYPE TDS_POOL_MEMBER 99 #include <freetds/utils/dlist.tmpl.h> 101 #define DLIST_PREFIX dlist_user 102 #define DLIST_LIST_TYPE dlist_users 103 #define DLIST_ITEM_TYPE TDS_POOL_USER 104 #include <freetds/utils/dlist.tmpl.h> 114 char *server_password;
119 tds_mutex events_mtx;
120 TDS_SYS_SOCKET listen_fd;
121 TDS_SYS_SOCKET wakeup_fd;
122 TDS_SYS_SOCKET event_fd;
125 int num_active_members;
126 dlist_members active_members;
127 dlist_members idle_members;
135 unsigned long user_logins;
136 unsigned long member_logins;
142 int pool_process_members(
TDS_POOL * pool,
struct pollfd *fds,
unsigned num_fds);
144 void pool_mbr_init(
TDS_POOL * pool);
145 void pool_mbr_destroy(
TDS_POOL * pool);
151 #if ENABLE_EXTRA_CHECKS 152 void pool_mbr_check(
TDS_POOL *pool);
154 static inline void pool_mbr_check(
TDS_POOL *pool TDS_UNUSED)
161 void pool_process_users(
TDS_POOL * pool,
struct pollfd *fds,
unsigned num_fds);
162 void pool_user_init(
TDS_POOL * pool);
163 void pool_user_destroy(
TDS_POOL * pool);
173 int pool_write(TDS_SYS_SOCKET sock,
const void *buf,
size_t len);
177 bool pool_read_conf_files(
const tds_dir_char *path,
const char *poolname,
TDS_POOL * pool,
char **err);
Information for a server connection.
Definition: tds.h:1170
dlist_users waiters
users in wait state
Definition: pool.h:130
Main include file for libtds.