typedef struct{char *name; long sig; void (*fn)(void*); int size; int np; uchar map[16];} Runtab; Runtab Keyringmodtab[]={ "IPint.add",0xa47c1b24,IPint_add,40,2,{0x0,0xc0,}, "aescbc",0xac616ba,Keyring_aescbc,48,2,{0x0,0xc0,}, "aessetup",0x44452583,Keyring_aessetup,40,2,{0x0,0xc0,}, "IPint.and",0xa47c1b24,IPint_and,40,2,{0x0,0xc0,}, "auth",0x9c576bb,Keyring_auth,48,2,{0x0,0xc0,}, "IPint.b64toip",0xa803ee03,IPint_b64toip,40,2,{0x0,0x80,}, "IPint.bebytestoip",0x6fa90725,IPint_bebytestoip,40,2,{0x0,0x80,}, "IPint.bits",0xeb4c9bad,IPint_bits,40,2,{0x0,0x80,}, "blowfishcbc",0xac616ba,Keyring_blowfishcbc,48,2,{0x0,0xc0,}, "blowfishsetup",0x44452583,Keyring_blowfishsetup,40,2,{0x0,0xc0,}, "IPint.bytestoip",0x6fa90725,IPint_bytestoip,40,2,{0x0,0x80,}, "certtoattr",0xbc65254a,Keyring_certtoattr,40,2,{0x0,0x80,}, "certtostr",0xbc65254a,Keyring_certtostr,40,2,{0x0,0x80,}, "IPint.cmp",0x79774f9e,IPint_cmp,40,2,{0x0,0xc0,}, "IPint.copy",0x491fbd11,IPint_copy,40,2,{0x0,0x80,}, "DigestState.copy",0x491fbd11,DigestState_copy,40,2,{0x0,0x80,}, "RSAsk.decrypt",0xf3b51b95,RSAsk_decrypt,40,2,{0x0,0xc0,}, "descbc",0xac616ba,Keyring_descbc,48,2,{0x0,0xc0,}, "desecb",0xac616ba,Keyring_desecb,48,2,{0x0,0xc0,}, "dessetup",0x44452583,Keyring_dessetup,40,2,{0x0,0xc0,}, "dhparams",0x6abb2418,Keyring_dhparams,40,0,{0}, "IPint.div",0x4672bf61,IPint_div,40,2,{0x0,0xc0,}, "RSApk.encrypt",0xdc0ec366,RSApk_encrypt,40,2,{0x0,0xc0,}, "IPint.eq",0x79774f9e,IPint_eq,40,2,{0x0,0xc0,}, "IPint.expmod",0xe6105024,IPint_expmod,48,2,{0x0,0xe0,}, "RSAsk.fill",0x2ab0d50a,RSAsk_fill,56,2,{0x0,0xf8,}, "RSAsk.gen",0xc197fd0,RSAsk_gen,48,0,{0}, "DSAsk.gen",0x46f0eb94,DSAsk_gen,40,2,{0x0,0x80,}, "EGsk.gen",0x4a59c528,EGsk_gen,40,0,{0}, "genSK",0xadd8cbd9,Keyring_genSK,48,2,{0x0,0xc0,}, "genSKfromPK",0x5416d1ee,Keyring_genSKfromPK,40,2,{0x0,0xc0,}, "getbytearray",0x4e02ce80,Keyring_getbytearray,40,2,{0x0,0x80,}, "getmsg",0xd9de1bb7,Keyring_getmsg,40,2,{0x0,0x80,}, "getstring",0x92f10e56,Keyring_getstring,40,2,{0x0,0x80,}, "hmac_md5",0xec9ac159,Keyring_hmac_md5,56,2,{0x0,0xb8,}, "hmac_sha1",0xec9ac159,Keyring_hmac_sha1,56,2,{0x0,0xb8,}, "ideacbc",0xac616ba,Keyring_ideacbc,48,2,{0x0,0xc0,}, "ideaecb",0xac616ba,Keyring_ideaecb,48,2,{0x0,0xc0,}, "ideasetup",0x44452583,Keyring_ideasetup,40,2,{0x0,0xc0,}, "IPint.inttoip",0x95dc8b6d,IPint_inttoip,40,0,{0}, "IPint.invert",0xa47c1b24,IPint_invert,40,2,{0x0,0xc0,}, "IPint.iptob64",0xfab4eb8a,IPint_iptob64,40,2,{0x0,0x80,}, "IPint.iptob64z",0xfab4eb8a,IPint_iptob64z,40,2,{0x0,0x80,}, "IPint.iptobebytes",0xc8e5162d,IPint_iptobebytes,40,2,{0x0,0x80,}, "IPint.iptobytes",0xc8e5162d,IPint_iptobytes,40,2,{0x0,0x80,}, "IPint.iptoint",0xeb4c9bad,IPint_iptoint,40,2,{0x0,0x80,}, "IPint.iptostr",0xf9fdc03d,IPint_iptostr,40,2,{0x0,0x80,}, "md4",0x7656377,Keyring_md4,48,2,{0x0,0xb0,}, "md5",0x7656377,Keyring_md5,48,2,{0x0,0xb0,}, "IPint.mod",0xa47c1b24,IPint_mod,40,2,{0x0,0xc0,}, "IPint.mul",0xa47c1b24,IPint_mul,40,2,{0x0,0xc0,}, "IPint.neg",0x491fbd11,IPint_neg,40,2,{0x0,0x80,}, "IPint.not",0x491fbd11,IPint_not,40,2,{0x0,0x80,}, "IPint.ori",0xa47c1b24,IPint_ori,40,2,{0x0,0xc0,}, "pktoattr",0xfb4e61ba,Keyring_pktoattr,40,2,{0x0,0x80,}, "pktostr",0xfb4e61ba,Keyring_pktostr,40,2,{0x0,0x80,}, "putbytearray",0x7cfef557,Keyring_putbytearray,48,2,{0x0,0xc0,}, "puterror",0xd2526222,Keyring_puterror,40,2,{0x0,0xc0,}, "putstring",0xd2526222,Keyring_putstring,40,2,{0x0,0xc0,}, "IPint.random",0x70bcd6f1,IPint_random,40,0,{0}, "rc4",0xd051c505,Keyring_rc4,48,2,{0x0,0xc0,}, "rc4back",0x3643caf7,Keyring_rc4back,40,2,{0x0,0x80,}, "rc4setup",0x6fa90725,Keyring_rc4setup,40,2,{0x0,0x80,}, "rc4skip",0x3643caf7,Keyring_rc4skip,40,2,{0x0,0x80,}, "readauthinfo",0xb2c82015,Keyring_readauthinfo,40,2,{0x0,0x80,}, "senderrmsg",0xd2526222,Keyring_senderrmsg,40,2,{0x0,0xc0,}, "sendmsg",0x7cfef557,Keyring_sendmsg,48,2,{0x0,0xc0,}, "sha1",0x7656377,Keyring_sha1,48,2,{0x0,0xb0,}, "sha224",0x7656377,Keyring_sha224,48,2,{0x0,0xb0,}, "sha256",0x7656377,Keyring_sha256,48,2,{0x0,0xb0,}, "sha384",0x7656377,Keyring_sha384,48,2,{0x0,0xb0,}, "sha512",0x7656377,Keyring_sha512,48,2,{0x0,0xb0,}, "IPint.shl",0xc7b0bc01,IPint_shl,40,2,{0x0,0x80,}, "IPint.shr",0xc7b0bc01,IPint_shr,40,2,{0x0,0x80,}, "sign",0xdacb7a7e,Keyring_sign,48,2,{0x0,0xb0,}, "RSAsk.sign",0x5dbdc2fe,RSAsk_sign,40,2,{0x0,0xc0,}, "DSAsk.sign",0x6e51e1b3,DSAsk_sign,40,2,{0x0,0xc0,}, "EGsk.sign",0xca053e70,EGsk_sign,40,2,{0x0,0xc0,}, "signm",0xba5bd10f,Keyring_signm,48,2,{0x0,0xe0,}, "sktoattr",0xfb4e61ba,Keyring_sktoattr,40,2,{0x0,0x80,}, "sktopk",0x6f74c7c9,Keyring_sktopk,40,2,{0x0,0x80,}, "sktostr",0xfb4e61ba,Keyring_sktostr,40,2,{0x0,0x80,}, "strtocert",0x2c0ee68a,Keyring_strtocert,40,2,{0x0,0x80,}, "IPint.strtoip",0x12d7a943,IPint_strtoip,40,2,{0x0,0x80,}, "strtopk",0xcc511522,Keyring_strtopk,40,2,{0x0,0x80,}, "strtosk",0xcc511522,Keyring_strtosk,40,2,{0x0,0x80,}, "IPint.sub",0xa47c1b24,IPint_sub,40,2,{0x0,0xc0,}, "verify",0x8b5b9f76,Keyring_verify,48,2,{0x0,0xe0,}, "RSApk.verify",0x1857beff,RSApk_verify,48,2,{0x0,0xe0,}, "DSApk.verify",0xeca448ff,DSApk_verify,48,2,{0x0,0xe0,}, "EGpk.verify",0xfb1e256c,EGpk_verify,48,2,{0x0,0xe0,}, "verifym",0x8b5b9f76,Keyring_verifym,48,2,{0x0,0xe0,}, "writeauthinfo",0x5ba03002,Keyring_writeauthinfo,40,2,{0x0,0xc0,}, "IPint.xor",0xa47c1b24,IPint_xor,40,2,{0x0,0xc0,}, 0 }; #define Keyringmodlen 94