#ifndef XMSS_PARAMS_H
#define XMSS_PARAMS_H
#include <stdint.h>
#include "namespace.h"
#define XMSS_SHA2 0
#define XMSS_SHAKE128 1
#define XMSS_SHAKE256 2
#define XMSS_OID_LEN 4
typedef struct {
unsigned int func;
unsigned int n;
unsigned int padding_len;
unsigned int wots_w;
unsigned int wots_log_w;
unsigned int wots_len1;
unsigned int wots_len2;
unsigned int wots_len;
unsigned int wots_sig_bytes;
unsigned int full_height;
unsigned int tree_height;
unsigned int d;
unsigned int index_bytes;
unsigned int sig_bytes;
unsigned int pk_bytes;
unsigned long long sk_bytes;
unsigned int bds_k;
} xmss_params;
#define xmss_str_to_oid XMSS_NAMESPACE(xmss_str_to_oid)
int xmss_str_to_oid(uint32_t *oid, const char *s);
#define xmssmt_str_to_oid XMSS_NAMESPACE(xmssmt_str_to_oid)
int xmssmt_str_to_oid(uint32_t *oid, const char *s);
#define xmss_parse_oid XMSS_NAMESPACE(xmss_parse_oid)
int xmss_parse_oid(xmss_params *params, const uint32_t oid);
#define xmssmt_parse_oid XMSS_NAMESPACE(xmssmt_parse_oid)
int xmssmt_parse_oid(xmss_params *params, const uint32_t oid);
#define xmss_xmssmt_initialize_params XMSS_NAMESPACE(xmss_xmssmt_initialize_params)
int xmss_xmssmt_initialize_params(xmss_params *params);
#endif