Ruby
2.0.0p247(2013-06-27revision41674)
|
#include "ossl.h"
Go to the source code of this file.
/* \ * call-seq: \ * bn.##func -> aBN \ * \ */ \ static VALUE \ ossl_bn_##func(VALUE self) \ { \ BIGNUM *bn, *result; \ VALUE obj; \ GetBN(self, bn); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, bn, ossl_bn_ctx)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(CLASS_OF(self), obj, result); \ return obj; \ }
/* \ * call-seq: \ * bn.##func(bn2) -> aBN \ * \ */ \ static VALUE \ ossl_bn_##func(VALUE self, VALUE other) \ { \ BIGNUM *bn1, *bn2 = GetBNPtr(other), *result; \ VALUE obj; \ GetBN(self, bn1); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, bn1, bn2)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(CLASS_OF(self), obj, result); \ return obj; \ }
Referenced by BIGNUM_1c().
/* \ * call-seq: \ * bn.##func(bn2) -> aBN \ * \ */ \ static VALUE \ ossl_bn_##func(VALUE self, VALUE other) \ { \ BIGNUM *bn1, *bn2 = GetBNPtr(other), *result; \ VALUE obj; \ GetBN(self, bn1); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, bn1, bn2, ossl_bn_ctx)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(CLASS_OF(self), obj, result); \ return obj; \ }
Referenced by BIGNUM_1c().
/* \ * call-seq: \ * bn.##func(bn1, bn2) -> aBN \ * \ */ \ static VALUE \ ossl_bn_##func(VALUE self, VALUE other1, VALUE other2) \ { \ BIGNUM *bn1, *bn2 = GetBNPtr(other1); \ BIGNUM *bn3 = GetBNPtr(other2), *result; \ VALUE obj; \ GetBN(self, bn1); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, bn1, bn2, bn3, ossl_bn_ctx)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(CLASS_OF(self), obj, result); \ return obj; \ }
#define BIGNUM_BIT | ( | func | ) |
#define BIGNUM_BOOL1 | ( | func | ) |
#define BIGNUM_CMP | ( | func | ) |
#define BIGNUM_NUM | ( | func | ) |
#define BIGNUM_RAND | ( | func | ) |
/* \ * call-seq: \ * BN.##func(bits [, fill [, odd]]) -> aBN \ * \ */ \ static VALUE \ ossl_bn_s_##func(int argc, VALUE *argv, VALUE klass) \ { \ BIGNUM *result; \ int bottom = 0, top = 0, b; \ VALUE bits, fill, odd, obj; \ \ switch (rb_scan_args(argc, argv, "12", &bits, &fill, &odd)) { \ case 3: \ bottom = (odd == Qtrue) ? 1 : 0; \ /* FALLTHROUGH */ \ case 2: \ top = NUM2INT(fill); \ } \ b = NUM2INT(bits); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, b, top, bottom)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(klass, obj, result); \ return obj; \ }
#define BIGNUM_RAND_RANGE | ( | func | ) |
/* \ * call-seq: \ * BN.##func(range) -> aBN \ * \ */ \ static VALUE \ ossl_bn_s_##func##_range(VALUE klass, VALUE range) \ { \ BIGNUM *bn = GetBNPtr(range), *result; \ VALUE obj; \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func##_range(result, bn)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(klass, obj, result); \ return obj; \ }
#define BIGNUM_SELF_SHIFT | ( | func | ) |
#define BIGNUM_SHIFT | ( | func | ) |
/* \ * call-seq: \ * bn.##func(bits) -> aBN \ * \ */ \ static VALUE \ ossl_bn_##func(VALUE self, VALUE bits) \ { \ BIGNUM *bn, *result; \ int b; \ VALUE obj; \ b = NUM2INT(bits); \ GetBN(self, bn); \ if (!(result = BN_new())) { \ ossl_raise(eBNError, NULL); \ } \ if (!BN_##func(result, bn, b)) { \ BN_free(result); \ ossl_raise(eBNError, NULL); \ } \ WrapBN(CLASS_OF(self), obj, result); \ return obj; \ }
#define GetBN | ( | obj, | |
bn | |||
) |
do { \ Data_Get_Struct((obj), BIGNUM, (bn)); \ if (!(bn)) { \ ossl_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ } \ } while (0)
Definition at line 21 of file ossl_bn.c.
Referenced by BIGNUM_1c(), GetBNPtr(), ossl_bn_initialize(), ossl_bn_to_i(), and ossl_bn_to_s().
#define SafeGetBN | ( | obj, | |
bn | |||
) |
#define WrapBN | ( | klass, | |
obj, | |||
bn | |||
) |
do { \ if (!(bn)) { \ ossl_raise(rb_eRuntimeError, "BN wasn't initialized!"); \ } \ (obj) = Data_Wrap_Struct((klass), 0, BN_clear_free, (bn)); \ } while (0)
Definition at line 14 of file ossl_bn.c.
Referenced by GetBNPtr(), ossl_bn_alloc(), and ossl_bn_new().
BIGNUM_1c | ( | sqr | ) |
Definition at line 297 of file ossl_bn.c.
References BIGNUM_2, BIGNUM_2c, eBNError, GetBN, GetBNPtr(), NULL, and ossl_raise().
Definition at line 58 of file ossl_bn.c.
References cBN, eBNError, GetBN, NULL, ossl_raise(), rb_eTypeError, rb_obj_is_kind_of(), rb_String(), RTEST, StringValuePtr, T_BIGNUM, T_FIXNUM, T_NIL, TYPE, and WrapBN.
Referenced by BIGNUM_1c(), num_to_asn1integer(), and ossl_dh_compute_key().
void Init_ossl_bn | ( | void | ) |
Definition at line 688 of file ossl_bn.c.
Referenced by Init_openssl().
static VALUE ossl_bn_alloc | ( | VALUE | klass | ) | [static] |
static VALUE ossl_bn_coerce | ( | VALUE | self, |
VALUE | other | ||
) | [static] |
Definition at line 245 of file ossl_bn.c.
References cBN, NULL, ossl_bn_to_i(), ossl_bn_to_s(), ossl_raise(), rb_assoc_new(), rb_eTypeError, rb_obj_is_kind_of(), RTEST, T_BIGNUM, T_FIXNUM, T_STRING, and TYPE.
static VALUE ossl_bn_copy | ( | VALUE | self, |
VALUE | other | ||
) | [static] |
static VALUE ossl_bn_eql | ( | VALUE | self, |
VALUE | other | ||
) | [static] |
static VALUE ossl_bn_initialize | ( | int | argc, |
VALUE * | argv, | ||
VALUE | self | ||
) | [static] |
Definition at line 113 of file ossl_bn.c.
References cBN, eBNError, GetBN, NULL, NUM2INT, ossl_raise(), rb_eArgError, rb_obj_is_kind_of(), rb_scan_args(), RSTRING_LENINT, RSTRING_PTR, RTEST, and StringValue.
static VALUE ossl_bn_is_prime | ( | int | argc, |
VALUE * | argv, | ||
VALUE | self | ||
) | [static] |
Definition at line 622 of file ossl_bn.c.
References rb_check_frozen.
static VALUE ossl_bn_is_prime_fasttest | ( | int | argc, |
VALUE * | argv, | ||
VALUE | self | ||
) | [static] |
VALUE ossl_bn_new | ( | const BIGNUM * | bn | ) |
Definition at line 43 of file ossl_bn.c.
References cBN, eBNError, NULL, ossl_raise(), and WrapBN.
Referenced by asn1integer_to_num(), ossl_dh_get_params(), ossl_dsa_get_params(), and ossl_rsa_get_params().
static VALUE ossl_bn_s_generate_prime | ( | int | argc, |
VALUE * | argv, | ||
VALUE | klass | ||
) | [static] |
static VALUE ossl_bn_to_bn | ( | VALUE | self | ) | [static] |
static VALUE ossl_bn_to_i | ( | VALUE | self | ) | [static] |
Definition at line 221 of file ossl_bn.c.
References eBNError, GetBN, NULL, ossl_raise(), Qtrue, and rb_cstr_to_inum().
Referenced by ossl_bn_coerce().
static VALUE ossl_bn_to_s | ( | int | argc, |
VALUE * | argv, | ||
VALUE | self | ||
) | [static] |
Definition at line 177 of file ossl_bn.c.
References buf, eBNError, GetBN, NULL, NUM2INT, ossl_buf2str(), ossl_raise(), rb_eArgError, rb_long2int, rb_scan_args(), rb_str_new(), RSTRING_PTR, and strlen().
Referenced by ossl_bn_coerce().
Definition at line 36 of file ossl_bn.c.
Referenced by GetBNPtr(), ossl_bn_coerce(), ossl_bn_initialize(), and ossl_bn_new().
Definition at line 37 of file ossl_bn.c.
Referenced by BIGNUM_1c(), GetBNPtr(), ossl_bn_alloc(), ossl_bn_initialize(), ossl_bn_new(), ossl_bn_to_i(), and ossl_bn_to_s().
BN_CTX* ossl_bn_ctx |