⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssl-des-stubs.c

📁 keyring是一种用于保护PALM中关键信息的系统
💻 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 + -