first usable version of kernel and commands
After an year of hard work, this is a first "usable" version of Jehanne.
This commit is contained in:
70
sys/src/lib/sec/port/egalloc.c
Normal file
70
sys/src/lib/sec/port/egalloc.c
Normal file
@ -0,0 +1,70 @@
|
||||
#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);
|
||||
}
|
Reference in New Issue
Block a user