180ee5cbfSDavid du Colombier #include "os.h" 280ee5cbfSDavid du Colombier #include <mp.h> 380ee5cbfSDavid du Colombier #include <libsec.h> 480ee5cbfSDavid du Colombier 580ee5cbfSDavid du Colombier EGpub* egpuballoc(void)680ee5cbfSDavid du Colombieregpuballoc(void) 780ee5cbfSDavid du Colombier { 880ee5cbfSDavid du Colombier EGpub *eg; 980ee5cbfSDavid du Colombier 1080ee5cbfSDavid du Colombier eg = mallocz(sizeof(*eg), 1); 1180ee5cbfSDavid du Colombier if(eg == nil) 1280ee5cbfSDavid du Colombier sysfatal("egpuballoc"); 1380ee5cbfSDavid du Colombier return eg; 1480ee5cbfSDavid du Colombier } 1580ee5cbfSDavid du Colombier 1680ee5cbfSDavid du Colombier void egpubfree(EGpub * eg)1780ee5cbfSDavid du Colombieregpubfree(EGpub *eg) 1880ee5cbfSDavid du Colombier { 1980ee5cbfSDavid du Colombier if(eg == nil) 2080ee5cbfSDavid du Colombier return; 2180ee5cbfSDavid du Colombier mpfree(eg->p); 2280ee5cbfSDavid du Colombier mpfree(eg->alpha); 2380ee5cbfSDavid du Colombier mpfree(eg->key); 24*39734e7eSDavid du Colombier free(eg); 2580ee5cbfSDavid du Colombier } 2680ee5cbfSDavid du Colombier 2780ee5cbfSDavid du Colombier 2880ee5cbfSDavid du Colombier EGpriv* egprivalloc(void)2980ee5cbfSDavid du Colombieregprivalloc(void) 3080ee5cbfSDavid du Colombier { 3180ee5cbfSDavid du Colombier EGpriv *eg; 3280ee5cbfSDavid du Colombier 3380ee5cbfSDavid du Colombier eg = mallocz(sizeof(*eg), 1); 3480ee5cbfSDavid du Colombier if(eg == nil) 3580ee5cbfSDavid du Colombier sysfatal("egprivalloc"); 3680ee5cbfSDavid du Colombier return eg; 3780ee5cbfSDavid du Colombier } 3880ee5cbfSDavid du Colombier 3980ee5cbfSDavid du Colombier void egprivfree(EGpriv * eg)4080ee5cbfSDavid du Colombieregprivfree(EGpriv *eg) 4180ee5cbfSDavid du Colombier { 4280ee5cbfSDavid du Colombier if(eg == nil) 4380ee5cbfSDavid du Colombier return; 4480ee5cbfSDavid du Colombier mpfree(eg->pub.p); 4580ee5cbfSDavid du Colombier mpfree(eg->pub.alpha); 4680ee5cbfSDavid du Colombier mpfree(eg->pub.key); 4780ee5cbfSDavid du Colombier mpfree(eg->secret); 48*39734e7eSDavid du Colombier free(eg); 4980ee5cbfSDavid du Colombier } 5080ee5cbfSDavid du Colombier 5180ee5cbfSDavid du Colombier EGsig* egsigalloc(void)5280ee5cbfSDavid du Colombieregsigalloc(void) 5380ee5cbfSDavid du Colombier { 5480ee5cbfSDavid du Colombier EGsig *eg; 5580ee5cbfSDavid du Colombier 5680ee5cbfSDavid du Colombier eg = mallocz(sizeof(*eg), 1); 5780ee5cbfSDavid du Colombier if(eg == nil) 5880ee5cbfSDavid du Colombier sysfatal("egsigalloc"); 5980ee5cbfSDavid du Colombier return eg; 6080ee5cbfSDavid du Colombier } 6180ee5cbfSDavid du Colombier 6280ee5cbfSDavid du Colombier void egsigfree(EGsig * eg)6380ee5cbfSDavid du Colombieregsigfree(EGsig *eg) 6480ee5cbfSDavid du Colombier { 6580ee5cbfSDavid du Colombier if(eg == nil) 6680ee5cbfSDavid du Colombier return; 6780ee5cbfSDavid du Colombier mpfree(eg->r); 6880ee5cbfSDavid du Colombier mpfree(eg->s); 69*39734e7eSDavid du Colombier free(eg); 7080ee5cbfSDavid du Colombier } 71