26 #include <sys/types.h>    30 #include <netinet/in.h>    41 #include <freetds/utils/dlist.h>    46 #define MAX_POOL_USERS 1024    66     TDS_POOL_EXECUTE execute;
    79     DLIST_FIELDS(dlist_user_item);
    81     TDS_USER_STATE user_state;
    88     DLIST_FIELDS(dlist_member_item);
    94 #define DLIST_PREFIX dlist_member    95 #define DLIST_LIST_TYPE dlist_members    96 #define DLIST_ITEM_TYPE TDS_POOL_MEMBER    97 #include <freetds/utils/dlist.tmpl.h>    99 #define DLIST_PREFIX dlist_user   100 #define DLIST_LIST_TYPE dlist_users   101 #define DLIST_ITEM_TYPE TDS_POOL_USER   102 #include <freetds/utils/dlist.tmpl.h>   112     char *server_password;
   117     tds_mutex events_mtx;
   118     TDS_SYS_SOCKET listen_fd;
   119     TDS_SYS_SOCKET wakeup_fd;
   120     TDS_SYS_SOCKET event_fd;
   123     int num_active_members;
   124     dlist_members active_members;
   125     dlist_members idle_members;
   133     unsigned long user_logins;
   134     unsigned long member_logins;
   140 void pool_process_members(
TDS_POOL * pool, fd_set * rfds, fd_set * wfds);
   142 void pool_mbr_init(
TDS_POOL * pool);
   143 void pool_mbr_destroy(
TDS_POOL * pool);
   151 void pool_process_users(
TDS_POOL * pool, fd_set * rfds, fd_set * wfds);
   152 void pool_user_init(
TDS_POOL * pool);
   153 void pool_user_destroy(
TDS_POOL * pool);
   163 int pool_write(TDS_SYS_SOCKET sock, 
const void *buf, 
size_t len);
   167 bool pool_read_conf_files(
const char *path, 
const char *poolname, 
TDS_POOL * pool, 
char **err);
 Information for a server connection. 
Definition: tds.h:1141
dlist_users waiters
users in wait state 
Definition: pool.h:128
Main include file for libtds.