diff options
Diffstat (limited to 'src/cred_dict.h')
-rw-r--r-- | src/cred_dict.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/cred_dict.h b/src/cred_dict.h new file mode 100644 index 0000000..790402c --- /dev/null +++ b/src/cred_dict.h @@ -0,0 +1,40 @@ +#pragma once +#include <stdint.h> +#include <stddef.h> +#include <stdbool.h> + + +typedef struct prne_cred_dict_entry prne_cred_dict_entry_t; +typedef struct prne_cred_dict_raw_entry prne_cred_dict_raw_entry_t; +typedef struct prne_cred_dict prne_cred_dict_t; + +struct prne_cred_dict_entry { + uint16_t id; + uint16_t pw; + uint8_t weight; +}; + +struct prne_cred_dict_raw_entry { + char *id; + char *pw; + uint8_t weight; +}; + +struct prne_cred_dict { + const char *m; + prne_cred_dict_entry_t *arr; + size_t cnt; +}; + +void prne_init_cred_dict (prne_cred_dict_t *p); +void prne_free_cred_dict (prne_cred_dict_t *p); + +bool prne_build_cred_dict ( + const prne_cred_dict_raw_entry_t *arr, + const size_t cnt, + uint8_t **out_m, + size_t *out_l); +bool prne_dser_cred_dict ( + prne_cred_dict_t *dict, + const uint8_t *buf, + const size_t len); |