Imported Upstream version 3.3.27
[platform/upstream/gnutls.git] / src / socket.h
1 #include <gnutls/gnutls.h>
2
3 typedef struct {
4         int fd;
5         gnutls_session_t session;
6         int secure;
7         char *hostname;
8         char *ip;
9         char *service;
10         struct addrinfo *ptr;
11         struct addrinfo *addr_info;
12         int verbose;
13 } socket_st;
14
15 ssize_t socket_recv(const socket_st * socket, void *buffer,
16                     int buffer_size);
17 ssize_t socket_recv_timeout(const socket_st * socket, void *buffer,
18                     int buffer_size, unsigned ms);
19 ssize_t socket_send(const socket_st * socket, const void *buffer,
20                     int buffer_size);
21 ssize_t socket_send_range(const socket_st * socket, const void *buffer,
22                           int buffer_size, gnutls_range_st * range);
23 void socket_open(socket_st * hd, const char *hostname, const char *service,
24                  int udp, const char *msg);
25
26 void socket_starttls(socket_st * hd, const char *app_proto);
27 void socket_bye(socket_st * socket);
28
29 void sockets_init(void);
30
31 int service_to_port(const char *service, const char *proto);
32 const char *port_to_service(const char *sport, const char *proto);
33
34 #define CONNECT_MSG "Connecting to"