Skip to content

File notation_tv.h

File List > note-twist_vector > src > notation_tv.h

Go to the documentation of this file

#ifndef NOTATION_TV_H
#define NOTATION_TV_H

/******************************************************************************/
/*******************************Includes***************************************/
/******************************************************************************/
#include "notation_defs.h"
#include "stdbool.h"
#include "stdint.h"
#include "stdlib.h"
#include "string.h"

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

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

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct {
    /*@@@TODO: We should think about how much memory this is going to use.*/
    uint8_t twist_vector[UTIL_TANG_DEFS_MAX_CROSSINGNUM]; 
    size_t  tv_length;                                    
} note_tv_t;
#ifdef __cplusplus
}
#endif

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

#ifdef __cplusplus
extern "C"
{
#endif

uint8_t note_tv_decode(char *str, note_tv_t *twistv);

#ifdef __cplusplus
}
#endif

#ifdef __cplusplus
extern "C"
{
#endif

uint8_t note_tv_encode(note_tv_t twistv, char *str, size_t buffer_size);

#ifdef __cplusplus
}
#endif

#endif /* end NOTATION_TV_H */