| #include "os.h" | 
 | #include <mp.h> | 
 | #include <libsec.h> | 
 |  | 
 | EGpub* | 
 | egpuballoc(void) | 
 | { | 
 | 	EGpub *eg; | 
 |  | 
 | 	eg = mallocz(sizeof(*eg), 1); | 
 | 	if(eg == nil) | 
 | 		sysfatal("egpuballoc"); | 
 | 	return eg; | 
 | } | 
 |  | 
 | void | 
 | egpubfree(EGpub *eg) | 
 | { | 
 | 	if(eg == nil) | 
 | 		return; | 
 | 	mpfree(eg->p); | 
 | 	mpfree(eg->alpha); | 
 | 	mpfree(eg->key); | 
 | 	free(eg); | 
 | } | 
 |  | 
 |  | 
 | EGpriv* | 
 | egprivalloc(void) | 
 | { | 
 | 	EGpriv *eg; | 
 |  | 
 | 	eg = mallocz(sizeof(*eg), 1); | 
 | 	if(eg == nil) | 
 | 		sysfatal("egprivalloc"); | 
 | 	return eg; | 
 | } | 
 |  | 
 | void | 
 | egprivfree(EGpriv *eg) | 
 | { | 
 | 	if(eg == nil) | 
 | 		return; | 
 | 	mpfree(eg->pub.p); | 
 | 	mpfree(eg->pub.alpha); | 
 | 	mpfree(eg->pub.key); | 
 | 	mpfree(eg->secret); | 
 | 	free(eg); | 
 | } | 
 |  | 
 | EGsig* | 
 | egsigalloc(void) | 
 | { | 
 | 	EGsig *eg; | 
 |  | 
 | 	eg = mallocz(sizeof(*eg), 1); | 
 | 	if(eg == nil) | 
 | 		sysfatal("egsigalloc"); | 
 | 	return eg; | 
 | } | 
 |  | 
 | void | 
 | egsigfree(EGsig *eg) | 
 | { | 
 | 	if(eg == nil) | 
 | 		return; | 
 | 	mpfree(eg->r); | 
 | 	mpfree(eg->s); | 
 | 	free(eg); | 
 | } |