summaryrefslogtreecommitdiff
path: root/tls.h
diff options
context:
space:
mode:
Diffstat (limited to 'tls.h')
-rw-r--r--tls.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/tls.h b/tls.h
index c21e85f..116512d 100644
--- a/tls.h
+++ b/tls.h
@@ -33,3 +33,14 @@
extern gnutls_session_t session;
extern int connect_tls(void);
+
+inline size_t RECV(char *buf, size_t buflen) {
+ int len;
+ do {
+ len = gnutls_record_recv(session, buf, buflen);
+ } while (len == GNUTLS_E_AGAIN || len == GNUTLS_E_INTERRUPTED);
+ if (len < 0)
+ return 0;
+ else
+ return (size_t)len;
+}