xref: /plan9/sys/src/cmd/unix/drawterm/libsec/egalloc.c (revision 8ccd4a6360d974db7bd7bbd4f37e7018419ea908)
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 Colombier egpuballoc(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 Colombier egpubfree(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 Colombier egprivalloc(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 Colombier egprivfree(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 Colombier egsigalloc(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 Colombier egsigfree(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