shithub: purgatorio

ref: 1dbb193077af7ba6ff7fb70a4dd465480764382e
dir: /libinterp/keyringif.h/

View raw version
typedef struct Sys_Qid Sys_Qid;
typedef struct Sys_Dir Sys_Dir;
typedef struct Sys_FD Sys_FD;
typedef struct Sys_Connection Sys_Connection;
typedef struct Sys_FileIO Sys_FileIO;
typedef struct Keyring_IPint Keyring_IPint;
typedef struct Keyring_SigAlg Keyring_SigAlg;
typedef struct Keyring_PK Keyring_PK;
typedef struct Keyring_SK Keyring_SK;
typedef struct Keyring_Certificate Keyring_Certificate;
typedef struct Keyring_DigestState Keyring_DigestState;
typedef struct Keyring_AESstate Keyring_AESstate;
typedef struct Keyring_DESstate Keyring_DESstate;
typedef struct Keyring_IDEAstate Keyring_IDEAstate;
typedef struct Keyring_RC4state Keyring_RC4state;
typedef struct Keyring_BFstate Keyring_BFstate;
typedef struct Keyring_Authinfo Keyring_Authinfo;
typedef struct Keyring_RSApk Keyring_RSApk;
typedef struct Keyring_RSAsk Keyring_RSAsk;
typedef struct Keyring_RSAsig Keyring_RSAsig;
typedef struct Keyring_DSApk Keyring_DSApk;
typedef struct Keyring_DSAsk Keyring_DSAsk;
typedef struct Keyring_DSAsig Keyring_DSAsig;
typedef struct Keyring_EGpk Keyring_EGpk;
typedef struct Keyring_EGsk Keyring_EGsk;
typedef struct Keyring_EGsig Keyring_EGsig;
struct Sys_Qid
{
	LONG	path;
	WORD	vers;
	WORD	qtype;
};
#define Sys_Qid_size 16
#define Sys_Qid_map {0}
struct Sys_Dir
{
	String*	name;
	String*	uid;
	String*	gid;
	String*	muid;
	Sys_Qid	qid;
	WORD	mode;
	WORD	atime;
	WORD	mtime;
	uchar	_pad44[4];
	LONG	length;
	WORD	dtype;
	WORD	dev;
};
#define Sys_Dir_size 64
#define Sys_Dir_map {0xf0,}
struct Sys_FD
{
	WORD	fd;
};
#define Sys_FD_size 4
#define Sys_FD_map {0}
struct Sys_Connection
{
	Sys_FD*	dfd;
	Sys_FD*	cfd;
	String*	dir;
};
#define Sys_Connection_size 12
#define Sys_Connection_map {0xe0,}
typedef struct{ Array* t0; String* t1; } Sys_Rread;
#define Sys_Rread_size 8
#define Sys_Rread_map {0xc0,}
typedef struct{ WORD t0; String* t1; } Sys_Rwrite;
#define Sys_Rwrite_size 8
#define Sys_Rwrite_map {0x40,}
struct Sys_FileIO
{
	Channel*	read;
	Channel*	write;
};
typedef struct{ WORD t0; WORD t1; WORD t2; Channel* t3; } Sys_FileIO_read;
#define Sys_FileIO_read_size 16
#define Sys_FileIO_read_map {0x10,}
typedef struct{ WORD t0; Array* t1; WORD t2; Channel* t3; } Sys_FileIO_write;
#define Sys_FileIO_write_size 16
#define Sys_FileIO_write_map {0x50,}
#define Sys_FileIO_size 8
#define Sys_FileIO_map {0xc0,}
struct Keyring_IPint
{
	WORD	x;
};
#define Keyring_IPint_size 4
#define Keyring_IPint_map {0}
struct Keyring_SigAlg
{
	String*	name;
};
#define Keyring_SigAlg_size 4
#define Keyring_SigAlg_map {0x80,}
struct Keyring_PK
{
	Keyring_SigAlg*	sa;
	String*	owner;
};
#define Keyring_PK_size 8
#define Keyring_PK_map {0xc0,}
struct Keyring_SK
{
	Keyring_SigAlg*	sa;
	String*	owner;
};
#define Keyring_SK_size 8
#define Keyring_SK_map {0xc0,}
struct Keyring_Certificate
{
	Keyring_SigAlg*	sa;
	String*	ha;
	String*	signer;
	WORD	exp;
};
#define Keyring_Certificate_size 16
#define Keyring_Certificate_map {0xe0,}
struct Keyring_DigestState
{
	WORD	x;
};
#define Keyring_DigestState_size 4
#define Keyring_DigestState_map {0}
struct Keyring_AESstate
{
	WORD	x;
};
#define Keyring_AESstate_size 4
#define Keyring_AESstate_map {0}
struct Keyring_DESstate
{
	WORD	x;
};
#define Keyring_DESstate_size 4
#define Keyring_DESstate_map {0}
struct Keyring_IDEAstate
{
	WORD	x;
};
#define Keyring_IDEAstate_size 4
#define Keyring_IDEAstate_map {0}
struct Keyring_RC4state
{
	WORD	x;
};
#define Keyring_RC4state_size 4
#define Keyring_RC4state_map {0}
struct Keyring_BFstate
{
	WORD	x;
};
#define Keyring_BFstate_size 4
#define Keyring_BFstate_map {0}
struct Keyring_Authinfo
{
	Keyring_SK*	mysk;
	Keyring_PK*	mypk;
	Keyring_Certificate*	cert;
	Keyring_PK*	spk;
	Keyring_IPint*	alpha;
	Keyring_IPint*	p;
};
#define Keyring_Authinfo_size 24
#define Keyring_Authinfo_map {0xfc,}
struct Keyring_RSApk
{
	Keyring_IPint*	n;
	Keyring_IPint*	ek;
};
#define Keyring_RSApk_size 8
#define Keyring_RSApk_map {0xc0,}
struct Keyring_RSAsk
{
	Keyring_RSApk*	pk;
	Keyring_IPint*	dk;
	Keyring_IPint*	p;
	Keyring_IPint*	q;
	Keyring_IPint*	kp;
	Keyring_IPint*	kq;
	Keyring_IPint*	c2;
};
#define Keyring_RSAsk_size 28
#define Keyring_RSAsk_map {0xfe,}
struct Keyring_RSAsig
{
	Keyring_IPint*	n;
};
#define Keyring_RSAsig_size 4
#define Keyring_RSAsig_map {0x80,}
struct Keyring_DSApk
{
	Keyring_IPint*	p;
	Keyring_IPint*	q;
	Keyring_IPint*	alpha;
	Keyring_IPint*	key;
};
#define Keyring_DSApk_size 16
#define Keyring_DSApk_map {0xf0,}
struct Keyring_DSAsk
{
	Keyring_DSApk*	pk;
	Keyring_IPint*	secret;
};
#define Keyring_DSAsk_size 8
#define Keyring_DSAsk_map {0xc0,}
struct Keyring_DSAsig
{
	Keyring_IPint*	r;
	Keyring_IPint*	s;
};
#define Keyring_DSAsig_size 8
#define Keyring_DSAsig_map {0xc0,}
struct Keyring_EGpk
{
	Keyring_IPint*	p;
	Keyring_IPint*	alpha;
	Keyring_IPint*	key;
};
#define Keyring_EGpk_size 12
#define Keyring_EGpk_map {0xe0,}
struct Keyring_EGsk
{
	Keyring_EGpk*	pk;
	Keyring_IPint*	secret;
};
#define Keyring_EGsk_size 8
#define Keyring_EGsk_map {0xc0,}
struct Keyring_EGsig
{
	Keyring_IPint*	r;
	Keyring_IPint*	s;
};
#define Keyring_EGsig_size 8
#define Keyring_EGsig_map {0xc0,}
void Sys_announce(void*);
typedef struct F_Sys_announce F_Sys_announce;
struct F_Sys_announce
{
	WORD	regs[NREG-1];
	struct{ WORD t0; Sys_Connection t1; }*	ret;
	uchar	temps[12];
	String*	addr;
};
void Sys_aprint(void*);
typedef struct F_Sys_aprint F_Sys_aprint;
struct F_Sys_aprint
{
	WORD	regs[NREG-1];
	Array**	ret;
	uchar	temps[12];
	String*	s;
	WORD	vargs;
};
void Sys_bind(void*);
typedef struct F_Sys_bind F_Sys_bind;
struct F_Sys_bind
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s;
	String*	on;
	WORD	flags;
};
void Sys_byte2char(void*);
typedef struct F_Sys_byte2char F_Sys_byte2char;
struct F_Sys_byte2char
{
	WORD	regs[NREG-1];
	struct{ WORD t0; WORD t1; WORD t2; }*	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
};
void Sys_char2byte(void*);
typedef struct F_Sys_char2byte F_Sys_char2byte;
struct F_Sys_char2byte
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	WORD	c;
	Array*	buf;
	WORD	n;
};
void Sys_chdir(void*);
typedef struct F_Sys_chdir F_Sys_chdir;
struct F_Sys_chdir
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	path;
};
void Sys_create(void*);
typedef struct F_Sys_create F_Sys_create;
struct F_Sys_create
{
	WORD	regs[NREG-1];
	Sys_FD**	ret;
	uchar	temps[12];
	String*	s;
	WORD	mode;
	WORD	perm;
};
void Sys_dial(void*);
typedef struct F_Sys_dial F_Sys_dial;
struct F_Sys_dial
{
	WORD	regs[NREG-1];
	struct{ WORD t0; Sys_Connection t1; }*	ret;
	uchar	temps[12];
	String*	addr;
	String*	local;
};
void Sys_dirread(void*);
typedef struct F_Sys_dirread F_Sys_dirread;
struct F_Sys_dirread
{
	WORD	regs[NREG-1];
	struct{ WORD t0; Array* t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Sys_dup(void*);
typedef struct F_Sys_dup F_Sys_dup;
struct F_Sys_dup
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	WORD	old;
	WORD	new;
};
void Sys_export(void*);
typedef struct F_Sys_export F_Sys_export;
struct F_Sys_export
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	c;
	String*	dir;
	WORD	flag;
};
void Sys_fauth(void*);
typedef struct F_Sys_fauth F_Sys_fauth;
struct F_Sys_fauth
{
	WORD	regs[NREG-1];
	Sys_FD**	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	String*	aname;
};
void Sys_fd2path(void*);
typedef struct F_Sys_fd2path F_Sys_fd2path;
struct F_Sys_fd2path
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Sys_fildes(void*);
typedef struct F_Sys_fildes F_Sys_fildes;
struct F_Sys_fildes
{
	WORD	regs[NREG-1];
	Sys_FD**	ret;
	uchar	temps[12];
	WORD	fd;
};
void Sys_file2chan(void*);
typedef struct F_Sys_file2chan F_Sys_file2chan;
struct F_Sys_file2chan
{
	WORD	regs[NREG-1];
	Sys_FileIO**	ret;
	uchar	temps[12];
	String*	dir;
	String*	file;
};
void Sys_fprint(void*);
typedef struct F_Sys_fprint F_Sys_fprint;
struct F_Sys_fprint
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	String*	s;
	WORD	vargs;
};
void Sys_fstat(void*);
typedef struct F_Sys_fstat F_Sys_fstat;
struct F_Sys_fstat
{
	WORD	regs[NREG-1];
	struct{ WORD t0; uchar	_pad4[4]; Sys_Dir t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Sys_fversion(void*);
typedef struct F_Sys_fversion F_Sys_fversion;
struct F_Sys_fversion
{
	WORD	regs[NREG-1];
	struct{ WORD t0; String* t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	WORD	msize;
	String*	version;
};
void Sys_fwstat(void*);
typedef struct F_Sys_fwstat F_Sys_fwstat;
struct F_Sys_fwstat
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	uchar	_pad36[4];
	Sys_Dir	d;
};
void Sys_iounit(void*);
typedef struct F_Sys_iounit F_Sys_iounit;
struct F_Sys_iounit
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Sys_listen(void*);
typedef struct F_Sys_listen F_Sys_listen;
struct F_Sys_listen
{
	WORD	regs[NREG-1];
	struct{ WORD t0; Sys_Connection t1; }*	ret;
	uchar	temps[12];
	Sys_Connection	c;
};
void Sys_millisec(void*);
typedef struct F_Sys_millisec F_Sys_millisec;
struct F_Sys_millisec
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
};
void Sys_mount(void*);
typedef struct F_Sys_mount F_Sys_mount;
struct F_Sys_mount
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Sys_FD*	afd;
	String*	on;
	WORD	flags;
	String*	spec;
};
void Sys_open(void*);
typedef struct F_Sys_open F_Sys_open;
struct F_Sys_open
{
	WORD	regs[NREG-1];
	Sys_FD**	ret;
	uchar	temps[12];
	String*	s;
	WORD	mode;
};
void Sys_pctl(void*);
typedef struct F_Sys_pctl F_Sys_pctl;
struct F_Sys_pctl
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	WORD	flags;
	List*	movefd;
};
void Sys_pipe(void*);
typedef struct F_Sys_pipe F_Sys_pipe;
struct F_Sys_pipe
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Array*	fds;
};
void Sys_pread(void*);
typedef struct F_Sys_pread F_Sys_pread;
struct F_Sys_pread
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
	uchar	_pad44[4];
	LONG	off;
};
void Sys_print(void*);
typedef struct F_Sys_print F_Sys_print;
struct F_Sys_print
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s;
	WORD	vargs;
};
void Sys_pwrite(void*);
typedef struct F_Sys_pwrite F_Sys_pwrite;
struct F_Sys_pwrite
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
	uchar	_pad44[4];
	LONG	off;
};
void Sys_read(void*);
typedef struct F_Sys_read F_Sys_read;
struct F_Sys_read
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
};
void Sys_readn(void*);
typedef struct F_Sys_readn F_Sys_readn;
struct F_Sys_readn
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
};
void Sys_remove(void*);
typedef struct F_Sys_remove F_Sys_remove;
struct F_Sys_remove
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s;
};
void Sys_seek(void*);
typedef struct F_Sys_seek F_Sys_seek;
struct F_Sys_seek
{
	WORD	regs[NREG-1];
	LONG*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	uchar	_pad36[4];
	LONG	off;
	WORD	start;
};
void Sys_sleep(void*);
typedef struct F_Sys_sleep F_Sys_sleep;
struct F_Sys_sleep
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	WORD	period;
};
void Sys_sprint(void*);
typedef struct F_Sys_sprint F_Sys_sprint;
struct F_Sys_sprint
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	String*	s;
	WORD	vargs;
};
void Sys_stat(void*);
typedef struct F_Sys_stat F_Sys_stat;
struct F_Sys_stat
{
	WORD	regs[NREG-1];
	struct{ WORD t0; uchar	_pad4[4]; Sys_Dir t1; }*	ret;
	uchar	temps[12];
	String*	s;
};
void Sys_stream(void*);
typedef struct F_Sys_stream F_Sys_stream;
struct F_Sys_stream
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	src;
	Sys_FD*	dst;
	WORD	bufsiz;
};
void Sys_tokenize(void*);
typedef struct F_Sys_tokenize F_Sys_tokenize;
struct F_Sys_tokenize
{
	WORD	regs[NREG-1];
	struct{ WORD t0; List* t1; }*	ret;
	uchar	temps[12];
	String*	s;
	String*	delim;
};
void Sys_unmount(void*);
typedef struct F_Sys_unmount F_Sys_unmount;
struct F_Sys_unmount
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s1;
	String*	s2;
};
void Sys_utfbytes(void*);
typedef struct F_Sys_utfbytes F_Sys_utfbytes;
struct F_Sys_utfbytes
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
};
void Sys_werrstr(void*);
typedef struct F_Sys_werrstr F_Sys_werrstr;
struct F_Sys_werrstr
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s;
};
void Sys_write(void*);
typedef struct F_Sys_write F_Sys_write;
struct F_Sys_write
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
};
void Sys_wstat(void*);
typedef struct F_Sys_wstat F_Sys_wstat;
struct F_Sys_wstat
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	s;
	uchar	_pad36[4];
	Sys_Dir	d;
};
#define Sys_PATH "$Sys"
#define Sys_Maxint 2147483647
#define Sys_QTDIR 128
#define Sys_QTAPPEND 64
#define Sys_QTEXCL 32
#define Sys_QTAUTH 8
#define Sys_QTTMP 4
#define Sys_QTFILE 0
#define Sys_ATOMICIO 8192
#define Sys_SEEKSTART 0
#define Sys_SEEKRELA 1
#define Sys_SEEKEND 2
#define Sys_NAMEMAX 256
#define Sys_ERRMAX 128
#define Sys_WAITLEN 192
#define Sys_OREAD 0
#define Sys_OWRITE 1
#define Sys_ORDWR 2
#define Sys_OTRUNC 16
#define Sys_ORCLOSE 64
#define Sys_OEXCL 4096
#define Sys_DMDIR -2147483648
#define Sys_DMAPPEND 1073741824
#define Sys_DMEXCL 536870912
#define Sys_DMAUTH 134217728
#define Sys_DMTMP 67108864
#define Sys_MREPL 0
#define Sys_MBEFORE 1
#define Sys_MAFTER 2
#define Sys_MCREATE 4
#define Sys_MCACHE 16
#define Sys_NEWFD 1
#define Sys_FORKFD 2
#define Sys_NEWNS 4
#define Sys_FORKNS 8
#define Sys_NEWPGRP 16
#define Sys_NODEVS 32
#define Sys_NEWENV 64
#define Sys_FORKENV 128
#define Sys_EXPWAIT 0
#define Sys_EXPASYNC 1
#define Sys_UTFmax 4
#define Sys_UTFerror 65533
#define Sys_Runemax 1114111
#define Sys_Runemask 2097151
void IPint_add(void*);
typedef struct F_IPint_add F_IPint_add;
struct F_IPint_add
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void Keyring_aescbc(void*);
typedef struct F_Keyring_aescbc F_Keyring_aescbc;
struct F_Keyring_aescbc
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_AESstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_aessetup(void*);
typedef struct F_Keyring_aessetup F_Keyring_aessetup;
struct F_Keyring_aessetup
{
	WORD	regs[NREG-1];
	Keyring_AESstate**	ret;
	uchar	temps[12];
	Array*	key;
	Array*	ivec;
};
void IPint_and(void*);
typedef struct F_IPint_and F_IPint_and;
struct F_IPint_and
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void Keyring_auth(void*);
typedef struct F_Keyring_auth F_Keyring_auth;
struct F_Keyring_auth
{
	WORD	regs[NREG-1];
	struct{ String* t0; Array* t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Keyring_Authinfo*	info;
	WORD	setid;
};
void IPint_b64toip(void*);
typedef struct F_IPint_b64toip F_IPint_b64toip;
struct F_IPint_b64toip
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	String*	str;
};
void IPint_bebytestoip(void*);
typedef struct F_IPint_bebytestoip F_IPint_bebytestoip;
struct F_IPint_bebytestoip
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Array*	mag;
};
void IPint_bits(void*);
typedef struct F_IPint_bits F_IPint_bits;
struct F_IPint_bits
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void Keyring_blowfishcbc(void*);
typedef struct F_Keyring_blowfishcbc F_Keyring_blowfishcbc;
struct F_Keyring_blowfishcbc
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_BFstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_blowfishsetup(void*);
typedef struct F_Keyring_blowfishsetup F_Keyring_blowfishsetup;
struct F_Keyring_blowfishsetup
{
	WORD	regs[NREG-1];
	Keyring_BFstate**	ret;
	uchar	temps[12];
	Array*	key;
	Array*	ivec;
};
void IPint_bytestoip(void*);
typedef struct F_IPint_bytestoip F_IPint_bytestoip;
struct F_IPint_bytestoip
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Array*	buf;
};
void Keyring_certtoattr(void*);
typedef struct F_Keyring_certtoattr F_Keyring_certtoattr;
struct F_Keyring_certtoattr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_Certificate*	c;
};
void Keyring_certtostr(void*);
typedef struct F_Keyring_certtostr F_Keyring_certtostr;
struct F_Keyring_certtostr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_Certificate*	c;
};
void IPint_cmp(void*);
typedef struct F_IPint_cmp F_IPint_cmp;
struct F_IPint_cmp
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void IPint_copy(void*);
typedef struct F_IPint_copy F_IPint_copy;
struct F_IPint_copy
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void DigestState_copy(void*);
typedef struct F_DigestState_copy F_DigestState_copy;
struct F_DigestState_copy
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Keyring_DigestState*	d;
};
void RSAsk_decrypt(void*);
typedef struct F_RSAsk_decrypt F_RSAsk_decrypt;
struct F_RSAsk_decrypt
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_RSAsk*	k;
	Keyring_IPint*	m;
};
void Keyring_descbc(void*);
typedef struct F_Keyring_descbc F_Keyring_descbc;
struct F_Keyring_descbc
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_DESstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_desecb(void*);
typedef struct F_Keyring_desecb F_Keyring_desecb;
struct F_Keyring_desecb
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_DESstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_dessetup(void*);
typedef struct F_Keyring_dessetup F_Keyring_dessetup;
struct F_Keyring_dessetup
{
	WORD	regs[NREG-1];
	Keyring_DESstate**	ret;
	uchar	temps[12];
	Array*	key;
	Array*	ivec;
};
void Keyring_dhparams(void*);
typedef struct F_Keyring_dhparams F_Keyring_dhparams;
struct F_Keyring_dhparams
{
	WORD	regs[NREG-1];
	struct{ Keyring_IPint* t0; Keyring_IPint* t1; }*	ret;
	uchar	temps[12];
	WORD	nbits;
};
void IPint_div(void*);
typedef struct F_IPint_div F_IPint_div;
struct F_IPint_div
{
	WORD	regs[NREG-1];
	struct{ Keyring_IPint* t0; Keyring_IPint* t1; }*	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void RSApk_encrypt(void*);
typedef struct F_RSApk_encrypt F_RSApk_encrypt;
struct F_RSApk_encrypt
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_RSApk*	k;
	Keyring_IPint*	m;
};
void IPint_eq(void*);
typedef struct F_IPint_eq F_IPint_eq;
struct F_IPint_eq
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void IPint_expmod(void*);
typedef struct F_IPint_expmod F_IPint_expmod;
struct F_IPint_expmod
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	base;
	Keyring_IPint*	exp;
	Keyring_IPint*	mod;
};
void RSAsk_fill(void*);
typedef struct F_RSAsk_fill F_RSAsk_fill;
struct F_RSAsk_fill
{
	WORD	regs[NREG-1];
	Keyring_RSAsk**	ret;
	uchar	temps[12];
	Keyring_IPint*	n;
	Keyring_IPint*	e;
	Keyring_IPint*	d;
	Keyring_IPint*	p;
	Keyring_IPint*	q;
};
void RSAsk_gen(void*);
typedef struct F_RSAsk_gen F_RSAsk_gen;
struct F_RSAsk_gen
{
	WORD	regs[NREG-1];
	Keyring_RSAsk**	ret;
	uchar	temps[12];
	WORD	nlen;
	WORD	elen;
	WORD	nrep;
};
void DSAsk_gen(void*);
typedef struct F_DSAsk_gen F_DSAsk_gen;
struct F_DSAsk_gen
{
	WORD	regs[NREG-1];
	Keyring_DSAsk**	ret;
	uchar	temps[12];
	Keyring_DSApk*	oldpk;
};
void EGsk_gen(void*);
typedef struct F_EGsk_gen F_EGsk_gen;
struct F_EGsk_gen
{
	WORD	regs[NREG-1];
	Keyring_EGsk**	ret;
	uchar	temps[12];
	WORD	nlen;
	WORD	nrep;
};
void Keyring_genSK(void*);
typedef struct F_Keyring_genSK F_Keyring_genSK;
struct F_Keyring_genSK
{
	WORD	regs[NREG-1];
	Keyring_SK**	ret;
	uchar	temps[12];
	String*	algname;
	String*	owner;
	WORD	length;
};
void Keyring_genSKfromPK(void*);
typedef struct F_Keyring_genSKfromPK F_Keyring_genSKfromPK;
struct F_Keyring_genSKfromPK
{
	WORD	regs[NREG-1];
	Keyring_SK**	ret;
	uchar	temps[12];
	Keyring_PK*	pk;
	String*	owner;
};
void Keyring_getbytearray(void*);
typedef struct F_Keyring_getbytearray F_Keyring_getbytearray;
struct F_Keyring_getbytearray
{
	WORD	regs[NREG-1];
	struct{ Array* t0; String* t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Keyring_getmsg(void*);
typedef struct F_Keyring_getmsg F_Keyring_getmsg;
struct F_Keyring_getmsg
{
	WORD	regs[NREG-1];
	Array**	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Keyring_getstring(void*);
typedef struct F_Keyring_getstring F_Keyring_getstring;
struct F_Keyring_getstring
{
	WORD	regs[NREG-1];
	struct{ String* t0; String* t1; }*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
};
void Keyring_hmac_md5(void*);
typedef struct F_Keyring_hmac_md5 F_Keyring_hmac_md5;
struct F_Keyring_hmac_md5
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	data;
	WORD	n;
	Array*	key;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_hmac_sha1(void*);
typedef struct F_Keyring_hmac_sha1 F_Keyring_hmac_sha1;
struct F_Keyring_hmac_sha1
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	data;
	WORD	n;
	Array*	key;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_ideacbc(void*);
typedef struct F_Keyring_ideacbc F_Keyring_ideacbc;
struct F_Keyring_ideacbc
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_IDEAstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_ideaecb(void*);
typedef struct F_Keyring_ideaecb F_Keyring_ideaecb;
struct F_Keyring_ideaecb
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_IDEAstate*	state;
	Array*	buf;
	WORD	n;
	WORD	direction;
};
void Keyring_ideasetup(void*);
typedef struct F_Keyring_ideasetup F_Keyring_ideasetup;
struct F_Keyring_ideasetup
{
	WORD	regs[NREG-1];
	Keyring_IDEAstate**	ret;
	uchar	temps[12];
	Array*	key;
	Array*	ivec;
};
void IPint_inttoip(void*);
typedef struct F_IPint_inttoip F_IPint_inttoip;
struct F_IPint_inttoip
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	WORD	i;
};
void IPint_invert(void*);
typedef struct F_IPint_invert F_IPint_invert;
struct F_IPint_invert
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	base;
	Keyring_IPint*	mod;
};
void IPint_iptob64(void*);
typedef struct F_IPint_iptob64 F_IPint_iptob64;
struct F_IPint_iptob64
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_iptob64z(void*);
typedef struct F_IPint_iptob64z F_IPint_iptob64z;
struct F_IPint_iptob64z
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_iptobebytes(void*);
typedef struct F_IPint_iptobebytes F_IPint_iptobebytes;
struct F_IPint_iptobebytes
{
	WORD	regs[NREG-1];
	Array**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_iptobytes(void*);
typedef struct F_IPint_iptobytes F_IPint_iptobytes;
struct F_IPint_iptobytes
{
	WORD	regs[NREG-1];
	Array**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_iptoint(void*);
typedef struct F_IPint_iptoint F_IPint_iptoint;
struct F_IPint_iptoint
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_iptostr(void*);
typedef struct F_IPint_iptostr F_IPint_iptostr;
struct F_IPint_iptostr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
	WORD	base;
};
void Keyring_md4(void*);
typedef struct F_Keyring_md4 F_Keyring_md4;
struct F_Keyring_md4
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_md5(void*);
typedef struct F_Keyring_md5 F_Keyring_md5;
struct F_Keyring_md5
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void IPint_mod(void*);
typedef struct F_IPint_mod F_IPint_mod;
struct F_IPint_mod
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void IPint_mul(void*);
typedef struct F_IPint_mul F_IPint_mul;
struct F_IPint_mul
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void IPint_neg(void*);
typedef struct F_IPint_neg F_IPint_neg;
struct F_IPint_neg
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
};
void IPint_not(void*);
typedef struct F_IPint_not F_IPint_not;
struct F_IPint_not
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
};
void IPint_ori(void*);
typedef struct F_IPint_ori F_IPint_ori;
struct F_IPint_ori
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void Keyring_pktoattr(void*);
typedef struct F_Keyring_pktoattr F_Keyring_pktoattr;
struct F_Keyring_pktoattr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_PK*	pk;
};
void Keyring_pktostr(void*);
typedef struct F_Keyring_pktostr F_Keyring_pktostr;
struct F_Keyring_pktostr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_PK*	pk;
};
void Keyring_putbytearray(void*);
typedef struct F_Keyring_putbytearray F_Keyring_putbytearray;
struct F_Keyring_putbytearray
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	a;
	WORD	n;
};
void Keyring_puterror(void*);
typedef struct F_Keyring_puterror F_Keyring_puterror;
struct F_Keyring_puterror
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	String*	s;
};
void Keyring_putstring(void*);
typedef struct F_Keyring_putstring F_Keyring_putstring;
struct F_Keyring_putstring
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	String*	s;
};
void IPint_random(void*);
typedef struct F_IPint_random F_IPint_random;
struct F_IPint_random
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	WORD	minbits;
	WORD	maxbits;
};
void Keyring_rc4(void*);
typedef struct F_Keyring_rc4 F_Keyring_rc4;
struct F_Keyring_rc4
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_RC4state*	state;
	Array*	buf;
	WORD	n;
};
void Keyring_rc4back(void*);
typedef struct F_Keyring_rc4back F_Keyring_rc4back;
struct F_Keyring_rc4back
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_RC4state*	state;
	WORD	n;
};
void Keyring_rc4setup(void*);
typedef struct F_Keyring_rc4setup F_Keyring_rc4setup;
struct F_Keyring_rc4setup
{
	WORD	regs[NREG-1];
	Keyring_RC4state**	ret;
	uchar	temps[12];
	Array*	seed;
};
void Keyring_rc4skip(void*);
typedef struct F_Keyring_rc4skip F_Keyring_rc4skip;
struct F_Keyring_rc4skip
{
	WORD	regs[NREG-1];
	WORD	noret;
	uchar	temps[12];
	Keyring_RC4state*	state;
	WORD	n;
};
void Keyring_readauthinfo(void*);
typedef struct F_Keyring_readauthinfo F_Keyring_readauthinfo;
struct F_Keyring_readauthinfo
{
	WORD	regs[NREG-1];
	Keyring_Authinfo**	ret;
	uchar	temps[12];
	String*	filename;
};
void Keyring_senderrmsg(void*);
typedef struct F_Keyring_senderrmsg F_Keyring_senderrmsg;
struct F_Keyring_senderrmsg
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	String*	s;
};
void Keyring_sendmsg(void*);
typedef struct F_Keyring_sendmsg F_Keyring_sendmsg;
struct F_Keyring_sendmsg
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Sys_FD*	fd;
	Array*	buf;
	WORD	n;
};
void Keyring_sha1(void*);
typedef struct F_Keyring_sha1 F_Keyring_sha1;
struct F_Keyring_sha1
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_sha224(void*);
typedef struct F_Keyring_sha224 F_Keyring_sha224;
struct F_Keyring_sha224
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_sha256(void*);
typedef struct F_Keyring_sha256 F_Keyring_sha256;
struct F_Keyring_sha256
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_sha384(void*);
typedef struct F_Keyring_sha384 F_Keyring_sha384;
struct F_Keyring_sha384
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void Keyring_sha512(void*);
typedef struct F_Keyring_sha512 F_Keyring_sha512;
struct F_Keyring_sha512
{
	WORD	regs[NREG-1];
	Keyring_DigestState**	ret;
	uchar	temps[12];
	Array*	buf;
	WORD	n;
	Array*	digest;
	Keyring_DigestState*	state;
};
void IPint_shl(void*);
typedef struct F_IPint_shl F_IPint_shl;
struct F_IPint_shl
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
	WORD	n;
};
void IPint_shr(void*);
typedef struct F_IPint_shr F_IPint_shr;
struct F_IPint_shr
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i;
	WORD	n;
};
void Keyring_sign(void*);
typedef struct F_Keyring_sign F_Keyring_sign;
struct F_Keyring_sign
{
	WORD	regs[NREG-1];
	Keyring_Certificate**	ret;
	uchar	temps[12];
	Keyring_SK*	sk;
	WORD	exp;
	Keyring_DigestState*	state;
	String*	ha;
};
void RSAsk_sign(void*);
typedef struct F_RSAsk_sign F_RSAsk_sign;
struct F_RSAsk_sign
{
	WORD	regs[NREG-1];
	Keyring_RSAsig**	ret;
	uchar	temps[12];
	Keyring_RSAsk*	k;
	Keyring_IPint*	m;
};
void DSAsk_sign(void*);
typedef struct F_DSAsk_sign F_DSAsk_sign;
struct F_DSAsk_sign
{
	WORD	regs[NREG-1];
	Keyring_DSAsig**	ret;
	uchar	temps[12];
	Keyring_DSAsk*	k;
	Keyring_IPint*	m;
};
void EGsk_sign(void*);
typedef struct F_EGsk_sign F_EGsk_sign;
struct F_EGsk_sign
{
	WORD	regs[NREG-1];
	Keyring_EGsig**	ret;
	uchar	temps[12];
	Keyring_EGsk*	k;
	Keyring_IPint*	m;
};
void Keyring_signm(void*);
typedef struct F_Keyring_signm F_Keyring_signm;
struct F_Keyring_signm
{
	WORD	regs[NREG-1];
	Keyring_Certificate**	ret;
	uchar	temps[12];
	Keyring_SK*	sk;
	Keyring_IPint*	m;
	String*	ha;
};
void Keyring_sktoattr(void*);
typedef struct F_Keyring_sktoattr F_Keyring_sktoattr;
struct F_Keyring_sktoattr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_SK*	sk;
};
void Keyring_sktopk(void*);
typedef struct F_Keyring_sktopk F_Keyring_sktopk;
struct F_Keyring_sktopk
{
	WORD	regs[NREG-1];
	Keyring_PK**	ret;
	uchar	temps[12];
	Keyring_SK*	sk;
};
void Keyring_sktostr(void*);
typedef struct F_Keyring_sktostr F_Keyring_sktostr;
struct F_Keyring_sktostr
{
	WORD	regs[NREG-1];
	String**	ret;
	uchar	temps[12];
	Keyring_SK*	sk;
};
void Keyring_strtocert(void*);
typedef struct F_Keyring_strtocert F_Keyring_strtocert;
struct F_Keyring_strtocert
{
	WORD	regs[NREG-1];
	Keyring_Certificate**	ret;
	uchar	temps[12];
	String*	s;
};
void IPint_strtoip(void*);
typedef struct F_IPint_strtoip F_IPint_strtoip;
struct F_IPint_strtoip
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	String*	str;
	WORD	base;
};
void Keyring_strtopk(void*);
typedef struct F_Keyring_strtopk F_Keyring_strtopk;
struct F_Keyring_strtopk
{
	WORD	regs[NREG-1];
	Keyring_PK**	ret;
	uchar	temps[12];
	String*	s;
};
void Keyring_strtosk(void*);
typedef struct F_Keyring_strtosk F_Keyring_strtosk;
struct F_Keyring_strtosk
{
	WORD	regs[NREG-1];
	Keyring_SK**	ret;
	uchar	temps[12];
	String*	s;
};
void IPint_sub(void*);
typedef struct F_IPint_sub F_IPint_sub;
struct F_IPint_sub
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
void Keyring_verify(void*);
typedef struct F_Keyring_verify F_Keyring_verify;
struct F_Keyring_verify
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_PK*	pk;
	Keyring_Certificate*	cert;
	Keyring_DigestState*	state;
};
void RSApk_verify(void*);
typedef struct F_RSApk_verify F_RSApk_verify;
struct F_RSApk_verify
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_RSApk*	k;
	Keyring_RSAsig*	sig;
	Keyring_IPint*	m;
};
void DSApk_verify(void*);
typedef struct F_DSApk_verify F_DSApk_verify;
struct F_DSApk_verify
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_DSApk*	k;
	Keyring_DSAsig*	sig;
	Keyring_IPint*	m;
};
void EGpk_verify(void*);
typedef struct F_EGpk_verify F_EGpk_verify;
struct F_EGpk_verify
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_EGpk*	k;
	Keyring_EGsig*	sig;
	Keyring_IPint*	m;
};
void Keyring_verifym(void*);
typedef struct F_Keyring_verifym F_Keyring_verifym;
struct F_Keyring_verifym
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	Keyring_PK*	pk;
	Keyring_Certificate*	cert;
	Keyring_IPint*	m;
};
void Keyring_writeauthinfo(void*);
typedef struct F_Keyring_writeauthinfo F_Keyring_writeauthinfo;
struct F_Keyring_writeauthinfo
{
	WORD	regs[NREG-1];
	WORD*	ret;
	uchar	temps[12];
	String*	filename;
	Keyring_Authinfo*	info;
};
void IPint_xor(void*);
typedef struct F_IPint_xor F_IPint_xor;
struct F_IPint_xor
{
	WORD	regs[NREG-1];
	Keyring_IPint**	ret;
	uchar	temps[12];
	Keyring_IPint*	i1;
	Keyring_IPint*	i2;
};
#define Keyring_PATH "$Keyring"
#define Keyring_SHA1dlen 20
#define Keyring_SHA224dlen 28
#define Keyring_SHA256dlen 32
#define Keyring_SHA384dlen 48
#define Keyring_SHA512dlen 64
#define Keyring_MD5dlen 16
#define Keyring_MD4dlen 16
#define Keyring_Encrypt 0
#define Keyring_Decrypt 1
#define Keyring_AESbsize 16
#define Keyring_DESbsize 8
#define Keyring_IDEAbsize 8
#define Keyring_BFbsize 8