nds2-client - ClientAdministrator  0.16.8
 All Functions Typedefs Enumerations Enumerator Groups Pages
daqc_private.h
1 /* -*- tab-width:8 c-basic-offset:4 indent-tabs-mode:nil -*- */
2 /* set vi: ts=8:softtabstop=4,shiftwidth=4,expandtab */
3 
4 #ifndef DAQC_PRIVATE_H
5 #define DAQC_PRIVATE_H
6 
7 #include "daqc_net.h"
8 
9 #if defined( WIN32 ) || defined( WIN64 )
10 typedef SOCKET nds_socket_type;
11 #else /* WIN32 || WIN64 */
12 typedef int nds_socket_type;
13 #endif /* WIN32 || WIN64 */
14 
15 #if __cplusplus
16 extern "C" {
17 #endif /* __cplusplus */
18 
19 typedef struct sockaddr_in socket_addr_t;
20 
21 enum socket_states
22 {
23  NDS_SOCKET_OK,
24  NDS_SOCKET_FAILURE,
25  NDS_SOCKET_TRANSIENT_FAILURE
26 };
27 
30 struct daq_private_
31 {
36  nds_socket_type sockfd;
37 
40  socket_addr_t* srvr_addr;
41 
44  nds_socket_type datafd;
45 
46  size_t max_command_count;
47  size_t cur_command_count;
48 
49  int last_command_timeout;
50 };
51 
52 typedef struct daq_private_ daq_private_t;
53 
58 void daq_private_create( daq_private_t** Private );
59 
63 int daq_private_data_close( daq_private_t* Private );
64 
72 void daq_private_delete( daq_private_t** Private );
73 
79 void daq_private_init( daq_private_t* Private );
80 
85 int daq_private_srvr_is_open( daq_private_t* Private );
86 
96 int daq_private_srvr_nonblocking( daq_private_t* Private, int NonBlocking );
97 
104 void daq_private_srvr_close( daq_private_t* Private );
105 
114 int daq_private_srvr_connect( daq_private_t* Private );
115 
121 void daq_private_srvr_disconnect( daq_private_t* Private );
122 
126 int daq_private_srvr_open( daq_private_t* Private );
127 
132 void daq_private_timeout_session( daq_private_t* Private );
133 
136 int daq_private_is_session_in_timeout( daq_private_t* Private );
137 
138 #if __cplusplus
139 }
140 #endif /* __cplusplus */
141 
142 #endif /* DAQC_PRIVATE_H */