1*8ccd4a63SDavid du Colombier #include "os.h" 2*8ccd4a63SDavid du Colombier #include <mp.h> 3*8ccd4a63SDavid du Colombier #include <libsec.h> 4*8ccd4a63SDavid du Colombier 5*8ccd4a63SDavid du Colombier EGpub* egpuballoc(void)6*8ccd4a63SDavid du Colombieregpuballoc(void) 7*8ccd4a63SDavid du Colombier { 8*8ccd4a63SDavid du Colombier EGpub *eg; 9*8ccd4a63SDavid du Colombier 10*8ccd4a63SDavid du Colombier eg = mallocz(sizeof(*eg), 1); 11*8ccd4a63SDavid du Colombier if(eg == nil) 12*8ccd4a63SDavid du Colombier sysfatal("egpuballoc"); 13*8ccd4a63SDavid du Colombier return eg; 14*8ccd4a63SDavid du Colombier } 15*8ccd4a63SDavid du Colombier 16*8ccd4a63SDavid du Colombier void egpubfree(EGpub * eg)17*8ccd4a63SDavid du Colombieregpubfree(EGpub *eg) 18*8ccd4a63SDavid du Colombier { 19*8ccd4a63SDavid du Colombier if(eg == nil) 20*8ccd4a63SDavid du Colombier return; 21*8ccd4a63SDavid du Colombier mpfree(eg->p); 22*8ccd4a63SDavid du Colombier mpfree(eg->alpha); 23*8ccd4a63SDavid du Colombier mpfree(eg->key); 24*8ccd4a63SDavid du Colombier } 25*8ccd4a63SDavid du Colombier 26*8ccd4a63SDavid du Colombier 27*8ccd4a63SDavid du Colombier EGpriv* egprivalloc(void)28*8ccd4a63SDavid du Colombieregprivalloc(void) 29*8ccd4a63SDavid du Colombier { 30*8ccd4a63SDavid du Colombier EGpriv *eg; 31*8ccd4a63SDavid du Colombier 32*8ccd4a63SDavid du Colombier eg = mallocz(sizeof(*eg), 1); 33*8ccd4a63SDavid du Colombier if(eg == nil) 34*8ccd4a63SDavid du Colombier sysfatal("egprivalloc"); 35*8ccd4a63SDavid du Colombier return eg; 36*8ccd4a63SDavid du Colombier } 37*8ccd4a63SDavid du Colombier 38*8ccd4a63SDavid du Colombier void egprivfree(EGpriv * eg)39*8ccd4a63SDavid du Colombieregprivfree(EGpriv *eg) 40*8ccd4a63SDavid du Colombier { 41*8ccd4a63SDavid du Colombier if(eg == nil) 42*8ccd4a63SDavid du Colombier return; 43*8ccd4a63SDavid du Colombier mpfree(eg->pub.p); 44*8ccd4a63SDavid du Colombier mpfree(eg->pub.alpha); 45*8ccd4a63SDavid du Colombier mpfree(eg->pub.key); 46*8ccd4a63SDavid du Colombier mpfree(eg->secret); 47*8ccd4a63SDavid du Colombier } 48*8ccd4a63SDavid du Colombier 49*8ccd4a63SDavid du Colombier EGsig* egsigalloc(void)50*8ccd4a63SDavid du Colombieregsigalloc(void) 51*8ccd4a63SDavid du Colombier { 52*8ccd4a63SDavid du Colombier EGsig *eg; 53*8ccd4a63SDavid du Colombier 54*8ccd4a63SDavid du Colombier eg = mallocz(sizeof(*eg), 1); 55*8ccd4a63SDavid du Colombier if(eg == nil) 56*8ccd4a63SDavid du Colombier sysfatal("egsigalloc"); 57*8ccd4a63SDavid du Colombier return eg; 58*8ccd4a63SDavid du Colombier } 59*8ccd4a63SDavid du Colombier 60*8ccd4a63SDavid du Colombier void egsigfree(EGsig * eg)61*8ccd4a63SDavid du Colombieregsigfree(EGsig *eg) 62*8ccd4a63SDavid du Colombier { 63*8ccd4a63SDavid du Colombier if(eg == nil) 64*8ccd4a63SDavid du Colombier return; 65*8ccd4a63SDavid du Colombier mpfree(eg->r); 66*8ccd4a63SDavid du Colombier mpfree(eg->s); 67*8ccd4a63SDavid du Colombier } 68