📄 ssl-des-stubs.c
字号:
/* DO NOT EDIT! This file was automatically generated by m68k-palmos-stubgen v2.2 from ssl-des.def */struct LibRef;static struct LibRef *libref = 0;extern void GLibClose(struct LibRef *);#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)/* Recent versions of prc-tools's GCC use %a4 or %a5 depending on -mown-gp. */ #ifdef __OWNGP__ #define A4_GLOBALS #else #undef A4_GLOBALS #endif#else/* The prc-tools 0.5.0 version always uses %a4. */#define A4_GLOBALS#endifvoid GLib_CrDS(void){#ifdef A4_GLOBALS asm volatile (".equ A4_GLOBALS,1");#endif asm volatile (" .global _des_check_key_ptr_des_check_key_ptr: move.l #1,%%d0 braw dispatch .global _des_crypt_des_crypt: move.l #2,%%d0 braw dispatch .global cryptcrypt: move.l #3,%%d0 braw dispatch .global des_3cbc_encryptdes_3cbc_encrypt: move.l #4,%%d0 braw dispatch .global des_cbc_cksumdes_cbc_cksum: move.l #5,%%d0 braw dispatch .global des_cbc_encryptdes_cbc_encrypt: move.l #6,%%d0 braw dispatch .global des_cfb64_encryptdes_cfb64_encrypt: move.l #7,%%d0 braw dispatch .global des_cfb_encryptdes_cfb_encrypt: move.l #8,%%d0 braw dispatch .global des_decrypt3des_decrypt3: move.l #9,%%d0 braw dispatch .global des_ecb3_encryptdes_ecb3_encrypt: move.l #10,%%d0 braw dispatch .global des_ecb_encryptdes_ecb_encrypt: move.l #11,%%d0 braw dispatch .global des_ede3_cbc_encryptdes_ede3_cbc_encrypt: move.l #12,%%d0 braw dispatch .global des_ede3_cfb64_encryptdes_ede3_cfb64_encrypt: move.l #13,%%d0 braw dispatch .global des_ede3_ofb64_encryptdes_ede3_ofb64_encrypt: move.l #14,%%d0 braw dispatch .global des_encryptdes_encrypt: move.l #15,%%d0 braw dispatch .global des_encrypt2des_encrypt2: move.l #16,%%d0 braw dispatch .global des_encrypt3des_encrypt3: move.l #17,%%d0 braw dispatch .global des_fcryptdes_fcrypt: move.l #18,%%d0 braw dispatch .global des_is_weak_keydes_is_weak_key: move.l #19,%%d0 braw dispatch .global des_key_scheddes_key_sched: move.l #20,%%d0 braw dispatch .global des_ncbc_encryptdes_ncbc_encrypt: move.l #21,%%d0 braw dispatch .global des_ofb64_encryptdes_ofb64_encrypt: move.l #22,%%d0 braw dispatch .global des_ofb_encryptdes_ofb_encrypt: move.l #23,%%d0 braw dispatch .global des_optionsdes_options: move.l #24,%%d0 braw dispatch .global des_pcbc_encryptdes_pcbc_encrypt: move.l #25,%%d0 braw dispatch .global des_quad_cksumdes_quad_cksum: move.l #26,%%d0 braw dispatch .global des_random_keydes_random_key: move.l #27,%%d0 braw dispatch .global des_random_seeddes_random_seed: move.l #28,%%d0 braw dispatch .global des_set_keydes_set_key: move.l #29,%%d0 braw dispatch .global des_set_odd_paritydes_set_odd_parity: move.l #30,%%d0 braw dispatch .global des_string_to_2keysdes_string_to_2keys: move.l #31,%%d0 braw dispatch .global des_string_to_keydes_string_to_key: move.l #32,%%d0 braw dispatch .global des_xcbc_encryptdes_xcbc_encrypt: move.l #33,%%d0 braw dispatch .global des_xwhite_in2outdes_xwhite_in2out: move.l #34,%%d0 braw dispatch .global fcrypt_bodyfcrypt_body: move.l #35,%%d0 braw dispatchlibname: .asciz \"DES Library\" .evendispatch: lea libname(%%pc),%%a1 move.l %%a1,%%d2 .ifdef A4_GLOBALS move.l %%a4,%%d1 move.l %%d1,%%d1 jbeq noglobals .endif lea %0,%%a1noglobals: move.l %1,%%d1 braw GLibDispatch " : : "g" (libref), "i" ('CrDS') );}#ifdef A4_GLOBALS/* The 0.5.0 distribution didn't use a .dtors section. In order to be usable with that compiler, we use a .ehook function and check for globals ourselves. */register void *reg_a4 asm("%a4");static voidGLib_CrDS_clean(unsigned short cmd, void *PBP, unsigned short flags){ if (reg_a4 && libref) { GLibClose(libref); libref = 0; }}static void *hook __attribute__ ((section ("ehook"), unused)) = GLib_CrDS_clean;#elsestatic void __attribute__ ((destructor, unused))GLib_CrDS_clean(){ if (libref) { GLibClose(libref); libref = 0; }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -