moddef-c
Loading...
Searching...
No Matches
codec.h File Reference
#include <stddef.h>
#include "moddef/desc.h"
#include "moddef/err.h"

Go to the source code of this file.

Data Structures

struct  md_value
 
struct  md_ctx_entry
 
struct  md_ctx
 

Macros

#define MD_CTX_EMPTY   ((md_ctx_t){0, 0})
 

Typedefs

typedef enum md_val_kind md_val_kind_t
 
typedef struct md_value md_value_t
 
typedef struct md_ctx_entry md_ctx_entry_t
 
typedef struct md_ctx md_ctx_t
 

Enumerations

enum  md_val_kind {
  MD_VAL_F64 = 0 , MD_VAL_U64 , MD_VAL_I64 , MD_VAL_BOOL ,
  MD_VAL_FLAGS , MD_VAL_FIELDS , MD_VAL_DATETIME , MD_VAL_UNAVAILABLE
}
 

Functions

md_err_t md_decode (const md_point_desc_t *d, const uint16_t *regs, uint16_t n_regs, const md_ctx_t *ctx, md_value_t *out)
 
md_err_t md_decode_raw (const md_point_desc_t *d, const uint16_t *regs, uint16_t n_regs, uint64_t *raw, uint8_t *bits)
 
md_err_t md_decode_string (const md_point_desc_t *d, const uint16_t *regs, uint16_t n_regs, char *buf, size_t cap, size_t *out_len)
 
md_err_t md_decode_bytes (const md_point_desc_t *d, const uint16_t *regs, uint16_t n_regs, uint8_t *buf, size_t cap, size_t *out_len)
 
md_err_t md_encode (const md_point_desc_t *d, const md_value_t *v, const md_ctx_t *ctx, uint16_t *out_regs, uint16_t n_regs)
 
md_err_t md_encode_string (const md_point_desc_t *d, md_str_t s, uint16_t *out_regs, uint16_t n_regs)
 
md_err_t md_validate_write (const md_point_desc_t *d, const md_value_t *v)
 
bool md_flags_has (const md_point_desc_t *d, uint64_t mask, md_str_t name)
 
md_err_t md_field_value (const md_point_desc_t *d, uint64_t window, md_str_t field_id, uint64_t *out)
 

Macro Definition Documentation

◆ MD_CTX_EMPTY

#define MD_CTX_EMPTY   ((md_ctx_t){0, 0})

Typedef Documentation

◆ md_ctx_entry_t

typedef struct md_ctx_entry md_ctx_entry_t

◆ md_ctx_t

typedef struct md_ctx md_ctx_t

◆ md_val_kind_t

typedef enum md_val_kind md_val_kind_t

◆ md_value_t

typedef struct md_value md_value_t

Enumeration Type Documentation

◆ md_val_kind

Enumerator
MD_VAL_F64 
MD_VAL_U64 
MD_VAL_I64 
MD_VAL_BOOL 
MD_VAL_FLAGS 
MD_VAL_FIELDS 
MD_VAL_DATETIME 
MD_VAL_UNAVAILABLE 

Function Documentation

◆ md_decode()

md_err_t md_decode ( const md_point_desc_t d,
const uint16_t *  regs,
uint16_t  n_regs,
const md_ctx_t ctx,
md_value_t out 
)

◆ md_decode_bytes()

md_err_t md_decode_bytes ( const md_point_desc_t d,
const uint16_t *  regs,
uint16_t  n_regs,
uint8_t *  buf,
size_t  cap,
size_t *  out_len 
)

◆ md_decode_raw()

md_err_t md_decode_raw ( const md_point_desc_t d,
const uint16_t *  regs,
uint16_t  n_regs,
uint64_t *  raw,
uint8_t *  bits 
)

◆ md_decode_string()

md_err_t md_decode_string ( const md_point_desc_t d,
const uint16_t *  regs,
uint16_t  n_regs,
char *  buf,
size_t  cap,
size_t *  out_len 
)

◆ md_encode()

md_err_t md_encode ( const md_point_desc_t d,
const md_value_t v,
const md_ctx_t ctx,
uint16_t *  out_regs,
uint16_t  n_regs 
)

◆ md_encode_string()

md_err_t md_encode_string ( const md_point_desc_t d,
md_str_t  s,
uint16_t *  out_regs,
uint16_t  n_regs 
)

◆ md_field_value()

md_err_t md_field_value ( const md_point_desc_t d,
uint64_t  window,
md_str_t  field_id,
uint64_t *  out 
)

◆ md_flags_has()

bool md_flags_has ( const md_point_desc_t d,
uint64_t  mask,
md_str_t  name 
)

◆ md_validate_write()

md_err_t md_validate_write ( const md_point_desc_t d,
const md_value_t v 
)