int flock(int fd, int operation) { switch (operation) { /* LOCK_SH - get a shared lock */ case LOCK_SH: rb_notimplement(); return -1; /* LOCK_EX - get an exclusive lock */ case LOCK_EX: return lockf (fd, F_LOCK, 0); /* LOCK_SH|LOCK_NB - get a non-blocking shared lock */ case LOCK_SH|LOCK_NB: rb_notimplement(); return -1; /* LOCK_EX|LOCK_NB - get a non-blocking exclusive lock */ case LOCK_EX|LOCK_NB: return lockf (fd, F_TLOCK, 0); /* LOCK_UN - unlock */ case LOCK_UN: return lockf (fd, F_ULOCK, 0); /* Default - can't decipher operation */ default: errno = EINVAL; return -1; } }
VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj) { rb_notimplement(); UNREACHABLE; }
static VALUE rb_gimp_hsl_to_rgb (VALUE self, VALUE hsl) { /*TODO*/ rb_notimplement(); return Qnil; }
static VALUE rb_gimp_rgb_to_hsl (VALUE self, VALUE rgb) { /*TODO*/ rb_notimplement(); return Qnil; }
static VALUE ossl_ec_key_to_string(VALUE self, int format) { EC_KEY *ec; BIO *out; int i = -1; int private = 0; #if 0 /* unused now */ EVP_CIPHER *cipher = NULL; char *password = NULL; #endif VALUE str; Require_EC_KEY(self, ec); if (EC_KEY_get0_public_key(ec) == NULL) rb_raise(eECError, "can't export - no public key set"); if (EC_KEY_check_key(ec) != 1) ossl_raise(eECError, "can't export - EC_KEY_check_key failed"); if (EC_KEY_get0_private_key(ec)) private = 1; if (!(out = BIO_new(BIO_s_mem()))) ossl_raise(eECError, "BIO_new(BIO_s_mem())"); switch(format) { case EXPORT_PEM: if (private) { #if 0 /* unused now */ if (cipher || password) /* BUG: finish cipher/password key export */ rb_notimplement(); i = PEM_write_bio_ECPrivateKey(out, ec, cipher, NULL, 0, NULL, password); #endif i = PEM_write_bio_ECPrivateKey(out, ec, NULL, NULL, 0, NULL, NULL); } else { #if 0 /* unused now */ if (cipher || password) rb_raise(rb_eArgError, "encryption is not supported when exporting this key type"); #endif i = PEM_write_bio_EC_PUBKEY(out, ec); } break; case EXPORT_DER: if (private) { #if 0 /* unused now */ if (cipher || password) rb_raise(rb_eArgError, "encryption is not supported when exporting this key type"); #endif i = i2d_ECPrivateKey_bio(out, ec); } else { #if 0 /* unused now */ if (cipher || password)
static VALUE oci8_lob_get_chunk_size(VALUE self) { if (have_OCILobGetChunkSize_nb) { oci8_lob_t *lob = DATA_PTR(self); oci8_svcctx_t *svcctx = oci8_get_svcctx(lob->svc); ub4 len; oci_lc(OCILobGetChunkSize_nb(svcctx, svcctx->base.hp.svc, oci8_errhp, lob->base.hp.lob, &len)); return UINT2NUM(len); } else { rb_notimplement(); } }
/* * call-seq: * dir.pos => integer * dir.tell => integer * * Returns the current position in <em>dir</em>. See also * <code>Dir#seek</code>. * * d = Dir.new("testdir") * d.tell #=> 0 * d.read #=> "." * d.tell #=> 12 */ static VALUE dir_tell(VALUE dir) { #ifdef HAVE_TELLDIR struct dir_data *dirp; long pos; GetDIR(dir, dirp); pos = telldir(dirp->dir); return rb_int2inum(pos); #else rb_notimplement(); #endif }
/* * call-seq: * dir.seek( integer ) => dir * * Seeks to a particular location in <em>dir</em>. <i>integer</i> * must be a value returned by <code>Dir#tell</code>. * * d = Dir.new("testdir") #=> #<Dir:0x401b3c40> * d.read #=> "." * i = d.tell #=> 12 * d.read #=> ".." * d.seek(i) #=> #<Dir:0x401b3c40> * d.read #=> ".." */ static VALUE dir_seek(VALUE dir, VALUE pos) { struct dir_data *dirp; off_t p = NUM2OFFT(pos); GetDIR(dir, dirp); #ifdef HAVE_SEEKDIR seekdir(dirp->dir, p); return dir; #else rb_notimplement(); #endif }
/* * call-seq: * Dir.chroot( string ) => 0 * * Changes this process's idea of the file system root. Only a * privileged process may make this call. Not available on all * platforms. On Unix systems, see <code>chroot(2)</code> for more * information. */ static VALUE dir_s_chroot(VALUE dir, VALUE path) { #if defined(HAVE_CHROOT) && !defined(__CHECKER__) check_dirname(&path); if (chroot(RSTRING_PTR(path)) == -1) rb_sys_fail(RSTRING_PTR(path)); return INT2FIX(0); #else rb_notimplement(); return Qnil; /* not reached */ #endif }
static VALUE ossl_cipher_set_padding(VALUE self, VALUE padding) { #if defined(HAVE_EVP_CIPHER_CTX_SET_PADDING) EVP_CIPHER_CTX *ctx; int pad = NUM2INT(padding); GetCipher(self, ctx); if (EVP_CIPHER_CTX_set_padding(ctx, pad) != 1) ossl_raise(eCipherError, NULL); #else rb_notimplement(); #endif return padding; }
static VALUE ossl_s_ciphers(VALUE self) { #ifdef HAVE_OBJ_NAME_DO_ALL_SORTED VALUE ary; ary = rb_ary_new(); OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_CIPHER_METH, (void(*)(const OBJ_NAME*,void*))add_cipher_name_to_ary, (void*)ary); return ary; #else rb_notimplement(); #endif }
/* * call-seq: * PKCS7.encrypt(certs, data, [, cipher [, flags]]) => pkcs7 */ static VALUE ossl_pkcs7_s_encrypt(int argc, VALUE *argv, VALUE klass) { VALUE certs, data, cipher, flags; STACK_OF(X509) *x509s; BIO *in; const EVP_CIPHER *ciph; int flg, status = 0; VALUE ret; PKCS7 *p7; rb_scan_args(argc, argv, "22", &certs, &data, &cipher, &flags); if(NIL_P(cipher)){ #if !defined(OPENSSL_NO_RC2) ciph = EVP_rc2_40_cbc(); #elif !defined(OPENSSL_NO_DES) ciph = EVP_des_ede3_cbc(); #elif !defined(OPENSSL_NO_RC2) ciph = EVP_rc2_40_cbc(); #elif !defined(OPENSSL_NO_AES) ciph = EVP_EVP_aes_128_cbc(); #else ossl_raise(ePKCS7Error, "Must specify cipher"); #endif } else ciph = GetCipherPtr(cipher); /* NO NEED TO DUP */ flg = NIL_P(flags) ? 0 : NUM2INT(flags); in = ossl_obj2bio(data); x509s = ossl_protect_x509_ary2sk(certs, &status); if(status){ BIO_free(in); /* rb_jump_tag(status); */ rb_notimplement(); } if(!(p7 = PKCS7_encrypt(x509s, in, (EVP_CIPHER*)ciph, flg))){ BIO_free(in); sk_X509_pop_free(x509s, X509_free); ossl_raise(ePKCS7Error, NULL); } BIO_free(in); WrapPKCS7(cPKCS7, ret, p7); ossl_pkcs7_set_data(ret, data); sk_X509_pop_free(x509s, X509_free); return ret; }
static VALUE rcl_kernel_set_arg(VALUE self, VALUE index, VALUE type, VALUE value) { EXTRACT_SIZE(index, idx); Check_Type(type, T_SYMBOL); size_t arg_size = 0; int8_t *arg_ptr = NULL; if (type == rcl_kernel_arg_type_memory) { if (!NIL_P(value)) { EXPECT_RCL_TYPE(value, Memory); arg_size = sizeof(cl_mem); rcl_mem_t *mem; Data_Get_Struct(value, rcl_mem_t, mem); arg_ptr = (void *)(&(mem->mem)); } } else if (type == rcl_kernel_arg_type_local) { EXTRACT_SIZE(value, sz); arg_size = sz; arg_ptr = NULL; } else if (type == rcl_kernel_arg_type_struct) { // TODO: rb_call pointer // rb_call address, size rb_notimplement(); } else if (type == rcl_kernel_arg_type_sampler) { EXPECT_RCL_TYPE(value, Sampler); rcl_sampler_t *ps; Data_Get_Struct(value, rcl_sampler_t, ps); arg_ptr = (void *)(&(ps->s)); arg_size = sizeof(cl_sampler); } else { arg_size = rcl_type_size(type); arg_ptr = ALLOCA_N(int8_t, arg_size); rcl_ruby2native(type, (void *)arg_ptr, value); } cl_int res = clSetKernelArg(KernelPtr(self), (cl_uint)idx, arg_size, arg_ptr); CHECK_AND_RAISE(res); return self; }
/* * TermInfo.tiocgwinsz(io) => [row, col] * * TermInfo.tiocgwinsz returns the screen size of the terminal refered by io, * using TIOCGWINSZ ioctl. */ static VALUE rt_tiocgwinsz(VALUE self, VALUE io) { #ifdef TIOCGWINSZ rb_io_t *fptr; struct winsize sz; int ret; GetOpenFile(io, fptr); ret = ioctl(FILENO(fptr), TIOCGWINSZ, &sz); if (ret == -1) rb_raise(rb_eIOError, "TIOCGWINSZ failed"); return rb_ary_new3(2, INT2NUM(sz.ws_row), INT2NUM(sz.ws_col)); #else rb_notimplement(); #endif }
static VALUE ossl_pkcs7_verify(int argc, VALUE *argv, VALUE self) { VALUE certs, store, indata, flags; STACK_OF(X509) *x509s; X509_STORE *x509st; int flg, ok, status = 0; BIO *in, *out; PKCS7 *p7; VALUE data; const char *msg; rb_scan_args(argc, argv, "22", &certs, &store, &indata, &flags); flg = NIL_P(flags) ? 0 : NUM2INT(flags); if(NIL_P(indata)) indata = ossl_pkcs7_get_data(self); in = NIL_P(indata) ? NULL : ossl_obj2bio(indata); if(NIL_P(certs)) x509s = NULL; else{ x509s = ossl_protect_x509_ary2sk(certs, &status); if(status){ BIO_free(in); /* rb_jump_tag(status); */ rb_notimplement(); } } x509st = GetX509StorePtr(store); GetPKCS7(self, p7); if(!(out = BIO_new(BIO_s_mem()))){ BIO_free(in); sk_X509_pop_free(x509s, X509_free); ossl_raise(ePKCS7Error, NULL); } ok = PKCS7_verify(p7, x509s, x509st, in, out, flg); BIO_free(in); if (ok < 0) ossl_raise(ePKCS7Error, NULL); msg = ERR_reason_error_string(ERR_get_error()); ossl_pkcs7_set_err_string(self, msg ? rb_str_new2(msg) : Qnil); ERR_clear_error(); data = ossl_membio2str(out); ossl_pkcs7_set_data(self, data); sk_X509_pop_free(x509s, X509_free); return (ok == 1) ? Qtrue : Qfalse; }
/** @method peek( eventmask ) Not implemented. */ static VALUE eventqueue_peek(int argc, VALUE* argv, VALUE self) { SDL_Event event; int mask = 0; if(argc==0){ mask = SDL_ALLEVENTS; }else{ rb_notimplement(); } SDL_PumpEvents(); if(SDL_PeepEvents(&event, 1, SDL_PEEKEVENT, mask)==1){ return sDLEvent2RubyEvent(&event); }else{ return Qfalse; } }
/** @method get( eventmask ) -> [ Event, ... ] Not implemented. */ static VALUE eventqueue_get(int argc, VALUE* argv, VALUE self) { SDL_Event event; int mask = 0; VALUE retval; if(argc==0){ mask = SDL_ALLEVENTS; }else{ rb_notimplement(); } retval=rb_ary_new(); SDL_PumpEvents(); while(SDL_PeepEvents(&event, 1, SDL_GETEVENT, mask)==1){ rb_ary_push(retval, sDLEvent2RubyEvent(&event)); } return retval; }
/* * TermInfo.tiocswinsz(io, row, col) * * TermInfo.tiocgwinsz update the screen size information of the terminal refered by io, * using TIOCSWINSZ ioctl. * * It returns nil. */ static VALUE rt_tiocswinsz(VALUE self, VALUE io, VALUE row, VALUE col) { #ifdef TIOCSWINSZ rb_io_t *fptr; struct winsize sz; int ret; GetOpenFile(io, fptr); sz.ws_row = NUM2INT(row); sz.ws_col = NUM2INT(col); ret = ioctl(FILENO(fptr), TIOCSWINSZ, &sz); if (ret == -1) rb_raise(rb_eIOError, "TIOCSWINSZ failed"); return Qnil; #else rb_notimplement(); #endif }
static VALUE ossl_engine_get_cipher(VALUE self, VALUE name) { #if defined(HAVE_ENGINE_GET_CIPHER) ENGINE *e; const EVP_CIPHER *ciph, *tmp; char *s; int nid; s = StringValuePtr(name); tmp = EVP_get_cipherbyname(s); if(!tmp) ossl_raise(eEngineError, "no such cipher `%s'", s); nid = EVP_CIPHER_nid(tmp); GetEngine(self, e); ciph = ENGINE_get_cipher(e, nid); if(!ciph) ossl_raise(eEngineError, NULL); return ossl_cipher_new(ciph); #else rb_notimplement(); #endif }
/* * call-seq: * PKCS7.sign(cert, key, data, [, certs [, flags]]) => pkcs7 */ static VALUE ossl_pkcs7_s_sign(int argc, VALUE *argv, VALUE klass) { VALUE cert, key, data, certs, flags; X509 *x509; EVP_PKEY *pkey; BIO *in; STACK_OF(X509) *x509s; int flg, status = 0; PKCS7 *pkcs7; VALUE ret; rb_scan_args(argc, argv, "32", &cert, &key, &data, &certs, &flags); x509 = GetX509CertPtr(cert); /* NO NEED TO DUP */ pkey = GetPrivPKeyPtr(key); /* NO NEED TO DUP */ flg = NIL_P(flags) ? 0 : NUM2INT(flags); in = ossl_obj2bio(data); if(NIL_P(certs)) x509s = NULL; else{ x509s = ossl_protect_x509_ary2sk(certs, &status); if(status){ BIO_free(in); /* rb_jump_tag(status); */ rb_notimplement(); } } if(!(pkcs7 = PKCS7_sign(x509, pkey, x509s, in, flg))){ BIO_free(in); sk_X509_pop_free(x509s, X509_free); ossl_raise(ePKCS7Error, NULL); } WrapPKCS7(cPKCS7, ret, pkcs7); ossl_pkcs7_set_data(ret, data); ossl_pkcs7_set_err_string(ret, Qnil); BIO_free(in); sk_X509_pop_free(x509s, X509_free); return ret; }
static VALUE ossl_engine_get_digest(VALUE self, VALUE name) { #if defined(HAVE_ENGINE_GET_DIGEST) ENGINE *e; const EVP_MD *md, *tmp; char *s; int nid; s = StringValuePtr(name); tmp = EVP_get_digestbyname(s); if(!tmp) ossl_raise(eEngineError, "no such digest `%s'", s); nid = EVP_MD_nid(tmp); GetEngine(self, e); md = ENGINE_get_digest(e, nid); if(!md) ossl_raise(eEngineError, NULL); return ossl_digest_new(md); #else rb_notimplement(); #endif }
VALUE rb_ldap_conn_sasl_bind (int argc, VALUE argv[], VALUE self) { rb_notimplement (); }
static VALUE rcl_mem_gl_texture_info(VALUE self) { rb_notimplement(); return Qnil; }
static VALUE rcl_mem_create_from_gl_render_buffer(VALUE self) { rb_notimplement(); return Qnil; }
VALUE rb_f_notimplement(int argc, VALUE *argv, VALUE obj) { rb_notimplement(); }
static VALUE rcl_mem_create_from_gl_texture_3d(VALUE self) { rb_notimplement(); return Qnil; }
static VALUE gc_stress_get(VALUE self, SEL sel) { rb_notimplement(); return Qnil; }
static VALUE gc_stress_set(VALUE self, SEL sel, VALUE flag) { rb_notimplement(); return Qnil; }
/** @method blocked=( eventtype ) -> nil Not implemented. */ static VALUE eventqueue_set_blocked(VALUE self, VALUE eventType) { rb_notimplement(); return Qnil; }
/** @method post( event ) -> nil Not implemented. */ static VALUE eventqueue_post(VALUE self, VALUE event) { rb_notimplement(); return Qnil; }