Add `gnutls/dtls.h' to the distribution.
[gnutls.git] / lib / system.h
blob207e6fa49d4ea8c509de4ea044ea393957dd5dc0
1 #ifndef SYSTEM_H
2 #define SYSTEM_H
4 #include <gnutls_int.h>
6 #ifndef _WIN32
7 #include <sys/uio.h> /* for writev */
8 #endif
10 int system_errno (gnutls_transport_ptr);
11 int system_recv_timeout(gnutls_transport_ptr ptr,void*data, size_t, unsigned int ms);
13 #ifdef _WIN32
14 ssize_t system_write (gnutls_transport_ptr ptr, const void *data,
15 size_t data_size);
16 #else
17 #define HAVE_WRITEV
18 ssize_t system_writev (gnutls_transport_ptr ptr, const giovec_t * iovec,
19 int iovec_cnt);
20 #endif
21 ssize_t system_read (gnutls_transport_ptr ptr, void *data, size_t data_size);
22 ssize_t system_read_peek (gnutls_transport_ptr ptr, void *data,
23 size_t data_size);
25 #ifdef _WIN32
26 #define HAVE_WIN32_LOCKS
27 #else
28 #ifdef HAVE_LIBPTHREAD
29 #define HAVE_PTHREAD_LOCKS
30 #else
31 #define HAVE_NO_LOCKS
32 #endif
33 #endif
35 int _gnutls_atfork (void (*prepare) (void), void (*parent) (void),
36 void (*child) (void));
38 #endif /* SYSTEM_H */