With this commit all functions declared in libc.h have been renamed with the "jehanne_" prefix. This is done for several reason: - it removes conflicts during symbol resolution when linking standard C libraries like newlib or musl - it allows programs depending on a standard C library to directly link to a library depending on our non standard libc (eg libsec). To ease transiction two files are provided: - sys/include/lib9.h that can be included instead of <libc.h> to use the old names (via a simple set of macros) - sys/src/lib/c/lib9.c that can be compiled with a program where the macro provided by lib9.h are too dumb (see for example rc or grep). In the kernel port/lib.h has been modified accordingly and some of the functions it directly provides has been renamed too (eg malloc in qmalloc.c and print in devcons.c).
71 lines
883 B
C
71 lines
883 B
C
#include "os.h"
|
|
#include <mp.h>
|
|
#include <libsec.h>
|
|
|
|
EGpub*
|
|
egpuballoc(void)
|
|
{
|
|
EGpub *eg;
|
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
|
if(eg == nil)
|
|
jehanne_sysfatal("egpuballoc");
|
|
return eg;
|
|
}
|
|
|
|
void
|
|
egpubfree(EGpub *eg)
|
|
{
|
|
if(eg == nil)
|
|
return;
|
|
mpfree(eg->p);
|
|
mpfree(eg->alpha);
|
|
mpfree(eg->key);
|
|
jehanne_free(eg);
|
|
}
|
|
|
|
|
|
EGpriv*
|
|
egprivalloc(void)
|
|
{
|
|
EGpriv *eg;
|
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
|
if(eg == nil)
|
|
jehanne_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);
|
|
jehanne_free(eg);
|
|
}
|
|
|
|
EGsig*
|
|
egsigalloc(void)
|
|
{
|
|
EGsig *eg;
|
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
|
if(eg == nil)
|
|
jehanne_sysfatal("egsigalloc");
|
|
return eg;
|
|
}
|
|
|
|
void
|
|
egsigfree(EGsig *eg)
|
|
{
|
|
if(eg == nil)
|
|
return;
|
|
mpfree(eg->r);
|
|
mpfree(eg->s);
|
|
jehanne_free(eg);
|
|
}
|