diff options
Diffstat (limited to 'perl/OpenSSL.xs')
-rw-r--r-- | perl/OpenSSL.xs | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/perl/OpenSSL.xs b/perl/OpenSSL.xs deleted file mode 100644 index 6ef66ccc1e..0000000000 --- a/perl/OpenSSL.xs +++ /dev/null @@ -1,109 +0,0 @@ -/* -** OpenSSL.xs -*/ - -#include "openssl.h" - -SV * -new_ref(type, obj, mort) - char *type; - char *obj; -{ - SV *ret; - - if (mort) - ret = sv_newmortal(); - else - ret = newSViv(0); -#ifdef DEBUG - printf(">new_ref %d\n",type); -#endif - sv_setref_pv(ret, type, (void *)obj); - return(ret); -} - -int -ex_new(obj, data, ad, idx, argl, argp) - char *obj; - SV *data; - CRYPTO_EX_DATA *ad; - int idx; - long argl; - char *argp; -{ - SV *sv; - -#ifdef DEBUG - printf("ex_new %08X %s\n",obj,argp); -#endif - sv = sv_newmortal(); - sv_setref_pv(sv, argp, (void *)obj); -#ifdef DEBUG - printf("%d>new_ref '%s'\n", sv, argp); -#endif - CRYPTO_set_ex_data(ad, idx, (char *)sv); - return(1); -} - -void -ex_cleanup(obj, data, ad, idx, argl, argp) - char *obj; - SV *data; - CRYPTO_EX_DATA *ad; - int idx; - long argl; - char *argp; -{ - pr_name("ex_cleanup"); -#ifdef DEBUG - printf("ex_cleanup %08X %s\n", obj, argp); -#endif - if (data != NULL) - SvREFCNT_dec((SV *)data); -} - -MODULE = OpenSSL PACKAGE = OpenSSL - -PROTOTYPES: ENABLE - -BOOT: - boot_bio(); - boot_cipher(); - boot_digest(); - boot_err(); - boot_ssl(); - - /* */ - /* The next macro is the completely correct way to call a C */ - /* function that uses perl calling conventions but is not */ - /* registered with perl. */ - /* */ - /* The second macro seems to work for this context. (We just */ - /* need a mark for the called function since we don't have */ - /* any local variables and what-not.) */ - /* */ - /* Unfortunately, we need to do this because these boot_* */ - /* functions are auto-generated by xsubpp and are normally */ - /* called from DyncLoader, but we're pulling them in here. */ - /* */ -#define FULL_callBootFunc(func) { \ - dSP; \ - ENTER; \ - SAVETMPS; \ - PUSHMARK(SP); \ - func(); \ - FREETMPS; \ - LEAVE; \ - } -#define callBootFunc(func) { \ - PUSHMARK(SP); \ - func(); \ - } - callBootFunc(boot_OpenSSL__BN); - callBootFunc(boot_OpenSSL__BIO); - callBootFunc(boot_OpenSSL__Cipher); - callBootFunc(boot_OpenSSL__MD); - callBootFunc(boot_OpenSSL__ERR); - callBootFunc(boot_OpenSSL__SSL); - callBootFunc(boot_OpenSSL__X509); - |