diff options
Diffstat (limited to 'controller/fw/src/rslib.c')
-rw-r--r-- | controller/fw/src/rslib.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/controller/fw/src/rslib.c b/controller/fw/src/rslib.c new file mode 100644 index 0000000..ce54a6f --- /dev/null +++ b/controller/fw/src/rslib.c @@ -0,0 +1,29 @@ +#include <stdint.h> +#include <string.h> + +#include "rscode-config.h" +#include <ecc.h> + +#include "rslib.h" + +void rslib_encode(int nbits, size_t msglen, char msg[static msglen], char out[msglen + NPAR]) { + struct rscode_driver driver; + rscode_init(&driver, nbits); + rscode_encode(&driver, (unsigned char *)msg, msglen, (unsigned char *)out); +} + +int rslib_decode(int nbits, size_t msglen, char msg_inout[static msglen]) { + struct rscode_driver driver; + rscode_init(&driver, nbits); + return rscode_decode(&driver, (unsigned char *)msg_inout, msglen); +} + +int rslib_gexp(int z, int nbits) { + struct rscode_driver driver; + rscode_init(&driver, nbits); + return gexp(&driver, z); +} + +size_t rslib_npar() { + return NPAR; +} |