diff options
author | Jonathan Bastien-Filiatrault <joe@x2a.org> | 2009-07-25 19:58:22 -0400 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-17 22:23:29 +0100 |
commit | 9f63e9aec1cd3f4720a02062bfb27bcfc4b097eb (patch) | |
tree | b9c5e6122f4c8122ca4a70d4f66e39c82843afba /lib/gnutls_state.c | |
parent | a439f2cdce782187e3e762ce8e02837602fdb431 (diff) | |
download | gnutls-9f63e9aec1cd3f4720a02062bfb27bcfc4b097eb.tar.gz |
Add gnutls_init_dtls function.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Diffstat (limited to 'lib/gnutls_state.c')
-rw-r--r-- | lib/gnutls_state.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c index 3e08f9b7a7..88824eaf59 100644 --- a/lib/gnutls_state.c +++ b/lib/gnutls_state.c @@ -363,6 +363,36 @@ gnutls_init (gnutls_session_t * session, gnutls_connection_end_t con_end) return 0; } +/** + * gnutls_init_dtls - initialize the session like gnutls_init, but + * with a DTLS compatible transport. + * @con_end: indicate if this session is to be used for server or client. + * @session: is a pointer to a #gnutls_session_t structure. + * @flags: dtls flags for optional behavior. + * + * Returns: %GNUTLS_E_SUCCESS on success, or an error code. + **/ +int +gnutls_init_dtls (gnutls_session_t * session, + gnutls_connection_end_t con_end, + gnutls_dtls_flags_t flags) +{ + int ret; + + /* FIXME, we should inhibit the allocation of many buffers that are + useless with datagram transport. */ + ret = gnutls_init(session, con_end); + + if(ret != 0) + return ret; + + /* Flags do nothing, so just copy them into the struct for now. */ + (*session)->internals.dtls.flags = flags; + (*session)->internals.transport = GNUTLS_DGRAM; + + return 0; +} + /* returns RESUME_FALSE or RESUME_TRUE. */ int |