Skip to content

File generator_montesinos.h

File List > gen-montesinos > src > generator_montesinos.h

Go to the documentation of this file

#ifndef GENERATOR_MONTESINOS_H
#define GENERATOR_MONTESINOS_H

/******************************************************************************/
/*************************** Includes *****************************************/
/******************************************************************************/

#include "generator_defs.h"
#include "storage_defs.h"
#include "notation_att.h"
#include "stdbool.h"
#include "stdlib.h"
#include "string.h"

/******************************************************************************/
/*************************** Defines ******************************************/
/******************************************************************************/

/*************************** Write Keys
 * *******************************************/

#define GEN_MONTESINOS_STORAGE_UKEY    ("GEN_MONTESINOS")
/*@@@TODO: add keys*/

/*************************** Config *******************************************/

#define GEN_MONTESINOS_CONFIG_IS_NULL       (0x1u << 1u)

#define GEN_MONTESINOS_CONFIG_BUFFER        (0x1u << 2u)

#define GEN_MONTESINOS_CONFIG_STR_BUFFER    (0x1u << 3u)

/*************************** Generate *****************************************/

/******************************************************************************/
/*************************** Typedefs *****************************************/
/******************************************************************************/

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct {
    storage_write_funptr_t storage_write;
    note_att_t *           att_n;
    note_tv_t **           tv_sets;
    size_t *               tv_set_lens;
    size_t                 tv_sets_len;
    char *                 str_buff;
    size_t                 str_buff_len;
} gen_montesinos_config_t;
#ifdef __cplusplus
}
#endif

/******************************************************************************/
/*************************** Public Function Declarations *********************/
/******************************************************************************/

#ifdef __cplusplus
extern "C"
{
#endif

uint8_t gen_montesinos_config(gen_montesinos_config_t *config_arg);

#ifdef __cplusplus
}
#endif

#ifdef __cplusplus
extern "C"
{
#endif

uint8_t gen_montesinos_generate();

#ifdef __cplusplus
}
#endif
#endif /* end GENERATOR_MONTESINOS_H */