xref: /plan9/sys/src/cmd/unix/drawterm/libsec/dsaalloc.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 DSApub*
dsapuballoc(void)6*8ccd4a63SDavid du Colombier dsapuballoc(void)
7*8ccd4a63SDavid du Colombier {
8*8ccd4a63SDavid du Colombier 	DSApub *dsa;
9*8ccd4a63SDavid du Colombier 
10*8ccd4a63SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
11*8ccd4a63SDavid du Colombier 	if(dsa == nil)
12*8ccd4a63SDavid du Colombier 		sysfatal("dsapuballoc");
13*8ccd4a63SDavid du Colombier 	return dsa;
14*8ccd4a63SDavid du Colombier }
15*8ccd4a63SDavid du Colombier 
16*8ccd4a63SDavid du Colombier void
dsapubfree(DSApub * dsa)17*8ccd4a63SDavid du Colombier dsapubfree(DSApub *dsa)
18*8ccd4a63SDavid du Colombier {
19*8ccd4a63SDavid du Colombier 	if(dsa == nil)
20*8ccd4a63SDavid du Colombier 		return;
21*8ccd4a63SDavid du Colombier 	mpfree(dsa->p);
22*8ccd4a63SDavid du Colombier 	mpfree(dsa->q);
23*8ccd4a63SDavid du Colombier 	mpfree(dsa->alpha);
24*8ccd4a63SDavid du Colombier 	mpfree(dsa->key);
25*8ccd4a63SDavid du Colombier }
26*8ccd4a63SDavid du Colombier 
27*8ccd4a63SDavid du Colombier 
28*8ccd4a63SDavid du Colombier DSApriv*
dsaprivalloc(void)29*8ccd4a63SDavid du Colombier dsaprivalloc(void)
30*8ccd4a63SDavid du Colombier {
31*8ccd4a63SDavid du Colombier 	DSApriv *dsa;
32*8ccd4a63SDavid du Colombier 
33*8ccd4a63SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
34*8ccd4a63SDavid du Colombier 	if(dsa == nil)
35*8ccd4a63SDavid du Colombier 		sysfatal("dsaprivalloc");
36*8ccd4a63SDavid du Colombier 	return dsa;
37*8ccd4a63SDavid du Colombier }
38*8ccd4a63SDavid du Colombier 
39*8ccd4a63SDavid du Colombier void
dsaprivfree(DSApriv * dsa)40*8ccd4a63SDavid du Colombier dsaprivfree(DSApriv *dsa)
41*8ccd4a63SDavid du Colombier {
42*8ccd4a63SDavid du Colombier 	if(dsa == nil)
43*8ccd4a63SDavid du Colombier 		return;
44*8ccd4a63SDavid du Colombier 	mpfree(dsa->pub.p);
45*8ccd4a63SDavid du Colombier 	mpfree(dsa->pub.q);
46*8ccd4a63SDavid du Colombier 	mpfree(dsa->pub.alpha);
47*8ccd4a63SDavid du Colombier 	mpfree(dsa->pub.key);
48*8ccd4a63SDavid du Colombier 	mpfree(dsa->secret);
49*8ccd4a63SDavid du Colombier }
50*8ccd4a63SDavid du Colombier 
51*8ccd4a63SDavid du Colombier DSAsig*
dsasigalloc(void)52*8ccd4a63SDavid du Colombier dsasigalloc(void)
53*8ccd4a63SDavid du Colombier {
54*8ccd4a63SDavid du Colombier 	DSAsig *dsa;
55*8ccd4a63SDavid du Colombier 
56*8ccd4a63SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
57*8ccd4a63SDavid du Colombier 	if(dsa == nil)
58*8ccd4a63SDavid du Colombier 		sysfatal("dsasigalloc");
59*8ccd4a63SDavid du Colombier 	return dsa;
60*8ccd4a63SDavid du Colombier }
61*8ccd4a63SDavid du Colombier 
62*8ccd4a63SDavid du Colombier void
dsasigfree(DSAsig * dsa)63*8ccd4a63SDavid du Colombier dsasigfree(DSAsig *dsa)
64*8ccd4a63SDavid du Colombier {
65*8ccd4a63SDavid du Colombier 	if(dsa == nil)
66*8ccd4a63SDavid du Colombier 		return;
67*8ccd4a63SDavid du Colombier 	mpfree(dsa->r);
68*8ccd4a63SDavid du Colombier 	mpfree(dsa->s);
69*8ccd4a63SDavid du Colombier }
70