Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Functions | Variables
ossl_digest.c File Reference
#include "ossl.h"
Include dependency graph for ossl_digest.c:

Go to the source code of this file.

Macros

#define GetDigest(obj, ctx)
 
#define SafeGetDigest(obj, ctx)
 

Functions

static VALUE ossl_digest_alloc (VALUE klass)
 
static void ossl_digest_free (void *ctx)
 
const EVP_MD * GetDigestPtr (VALUE obj)
 
VALUE ossl_digest_new (const EVP_MD *md)
 
VALUE ossl_digest_update (VALUE, VALUE)
 
static VALUE ossl_digest_initialize (int argc, VALUE *argv, VALUE self)
 
static VALUE ossl_digest_copy (VALUE self, VALUE other)
 
static VALUE ossl_digest_reset (VALUE self)
 
static VALUE ossl_digest_finish (int argc, VALUE *argv, VALUE self)
 
static VALUE ossl_digest_name (VALUE self)
 
static VALUE ossl_digest_size (VALUE self)
 
static VALUE ossl_digest_block_length (VALUE self)
 
void Init_ossl_digest (void)
 

Variables

VALUE cDigest
 
VALUE eDigestError
 
static const rb_data_type_t ossl_digest_type
 

Macro Definition Documentation

◆ GetDigest

#define GetDigest (   obj,
  ctx 
)
Value:
do { \
TypedData_Get_Struct((obj), EVP_MD_CTX, &ossl_digest_type, (ctx)); \
if (!(ctx)) { \
ossl_raise(rb_eRuntimeError, "Digest CTX wasn't initialized!"); \
} \
} while (0)
VALUE rb_eRuntimeError
Definition: error.c:761
static const rb_data_type_t ossl_digest_type
Definition: ossl_digest.c:37

Definition at line 12 of file ossl_digest.c.

Referenced by ossl_digest_block_length(), ossl_digest_finish(), ossl_digest_name(), ossl_digest_reset(), ossl_digest_size(), and ossl_digest_update().

◆ SafeGetDigest

#define SafeGetDigest (   obj,
  ctx 
)
Value:
do { \
OSSL_Check_Kind((obj), cDigest); \
GetDigest((obj), (ctx)); \
} while (0)
VALUE cDigest
Definition: ossl_digest.c:26

Definition at line 18 of file ossl_digest.c.

Referenced by GetDigestPtr(), and ossl_digest_copy().

Function Documentation

◆ GetDigestPtr()

const EVP_MD* GetDigestPtr ( VALUE  obj)

◆ Init_ossl_digest()

void Init_ossl_digest ( void  )

◆ ossl_digest_alloc()

static VALUE ossl_digest_alloc ( VALUE  klass)
static

Definition at line 98 of file ossl_digest.c.

References ossl_digest_update(), and TypedData_Wrap_Struct.

Referenced by Init_ossl_digest(), and ossl_digest_new().

◆ ossl_digest_block_length()

static VALUE ossl_digest_block_length ( VALUE  self)
static

Definition at line 305 of file ossl_digest.c.

References GetDigest, and INT2NUM.

Referenced by Init_ossl_digest().

◆ ossl_digest_copy()

static VALUE ossl_digest_copy ( VALUE  self,
VALUE  other 
)
static

◆ ossl_digest_finish()

static VALUE ossl_digest_finish ( int  argc,
VALUE argv,
VALUE  self 
)
static

◆ ossl_digest_free()

static void ossl_digest_free ( void *  ctx)
static

Definition at line 32 of file ossl_digest.c.

◆ ossl_digest_initialize()

static VALUE ossl_digest_initialize ( int  argc,
VALUE argv,
VALUE  self 
)
static

◆ ossl_digest_name()

static VALUE ossl_digest_name ( VALUE  self)
static

Definition at line 260 of file ossl_digest.c.

References GetDigest, and rb_str_new2.

Referenced by Init_ossl_digest().

◆ ossl_digest_new()

VALUE ossl_digest_new ( const EVP_MD *  md)

◆ ossl_digest_reset()

static VALUE ossl_digest_reset ( VALUE  self)
static

Definition at line 178 of file ossl_digest.c.

References eDigestError, GetDigest, NULL, and ossl_raise().

Referenced by Init_ossl_digest().

◆ ossl_digest_size()

static VALUE ossl_digest_size ( VALUE  self)
static

Definition at line 282 of file ossl_digest.c.

References GetDigest, and INT2NUM.

Referenced by Init_ossl_digest().

◆ ossl_digest_update()

VALUE ossl_digest_update ( VALUE  self,
VALUE  data 
)

Variable Documentation

◆ cDigest

VALUE cDigest

Definition at line 26 of file ossl_digest.c.

Referenced by Init_ossl_digest(), and ossl_digest_new().

◆ eDigestError

VALUE eDigestError

◆ ossl_digest_type

const rb_data_type_t ossl_digest_type
static
Initial value:
= {
"OpenSSL/Digest",
{
},
}
#define RUBY_TYPED_FREE_IMMEDIATELY
Definition: ruby.h:1145
static void ossl_digest_free(void *ctx)
Definition: ossl_digest.c:32

Definition at line 37 of file ossl_digest.c.