Module: TinyDTLS::Wrapper

Extended by:
FFI::Library
Defined in:
lib/tinydtls/wrapper.rb

Overview

This module provides a low level FFI wrapper for the relevant tinydtls functions. It might be subject to change thus it is highly recommended to use the high level abstraction layer instead.

Defined Under Namespace

Classes: DTLSContextStruct, DTLSHandlerStruct, SocklenPtr

Constant Summary collapse

12
DTLS_MAX_BUF =
1400
Alert =
enum(
  :DTLS_ALERT_CLOSE_NOTIFY, 0,
  :DTLS_ALERT_UNEXPECTED_MESSAGE, 10,
  :DTLS_ALERT_BAD_RECORD_MAC, 20,
  :DTLS_ALERT_RECORD_OVERFLOW, 22,
  :DTLS_ALERT_DECOMPRESSION_FAILURE, 30,
  :DTLS_ALERT_HANDSHAKE_FAILURE, 40,
  :DTLS_ALERT_BAD_CERTIFICATE, 42,
  :DTLS_ALERT_UNSUPPORTED_CERTIFICATE, 43,
  :DTLS_ALERT_CERTIFICATE_REVOKED, 44,
  :DTLS_ALERT_CERTIFICATE_EXPIRED, 45,
  :DTLS_ALERT_CERTIFICATE_UNKNOWN, 46,
  :DTLS_ALERT_ILLEGAL_PARAMETER, 47,
  :DTLS_ALERT_UNKNOWN_CA, 48,
  :DTLS_ALERT_ACCESS_DENIED, 49,
  :DTLS_ALERT_DECODE_ERROR, 50,
  :DTLS_ALERT_DECRYPT_ERROR, 51,
  :DTLS_ALERT_PROTOCOL_VERSION, 70,
  :DTLS_ALERT_INSUFFICIENT_SECURITY, 71,
  :DTLS_ALERT_INTERNAL_ERROR, 80,
  :DTLS_ALERT_USER_CANCELED, 90,
  :DTLS_ALERT_NO_RENEGOTIATION, 100,
  :DTLS_ALERT_UNSUPPORTED_EXTENSION, 110
)
LogLevel =
enum(
  :DTLS_LOG_EMERG, 0,
  :DTLS_LOG_ALERT,
  :DTLS_LOG_CRIT,
  :DTLS_LOG_WARN,
  :DTLS_LOG_NOTICE,
  :DTLS_LOG_INFO,
  :DTLS_LOG_DEBUG
)

Class Method Summary collapse

Class Method Details

.dtls_alert_fatal_create(desc) ⇒ Object



99
100
101
# File 'lib/tinydtls/wrapper.rb', line 99

def self.dtls_alert_fatal_create(desc)
  return -((2 << 8) | desc)
end

.dtls_get_app_data(ctx) ⇒ Object



118
119
120
# File 'lib/tinydtls/wrapper.rb', line 118

def self.dtls_get_app_data(ctx)
  return ctx[:app]
end

.dtls_set_handler(ctx, handler) ⇒ Object



122
123
124
# File 'lib/tinydtls/wrapper.rb', line 122

def self.dtls_set_handler(ctx, handler)
  ctx[:h] = handler
end