moddef-c
Loading...
Searching...
No Matches
desc.h File Reference
#include "moddef/doc.h"
#include "moddef/err.h"
#include "moddef/str.h"
#include "moddef/wire.h"

Go to the source code of this file.

Data Structures

struct  md_rational
 
struct  md_point_desc
 
struct  md_kv_iter
 
struct  md_field_iter
 

Typedefs

typedef enum md_space md_space_t
 
typedef enum md_storage md_storage_t
 
typedef enum md_access md_access_t
 
typedef enum md_vkind md_vkind_t
 
typedef struct md_rational md_rational_t
 
typedef struct md_point_desc md_point_desc_t
 
typedef struct md_kv_iter md_kv_iter_t
 
typedef struct md_field_iter md_field_iter_t
 

Enumerations

enum  md_space { MD_SPACE_COIL = 1 , MD_SPACE_DISCRETE = 2 , MD_SPACE_INPUT = 3 , MD_SPACE_HOLDING = 4 }
 
enum  md_storage {
  MD_ST_UNSPECIFIED = 0 , MD_ST_BIT = 1 , MD_ST_U16 = 2 , MD_ST_S16 = 3 ,
  MD_ST_U32 = 4 , MD_ST_S32 = 5 , MD_ST_U64 = 6 , MD_ST_S64 = 7 ,
  MD_ST_F32 = 8 , MD_ST_F64 = 9 , MD_ST_STRING_ASCII = 10 , MD_ST_STRING_UTF8 = 11 ,
  MD_ST_BYTES_RAW = 12 , MD_ST_BCD = 13 , MD_ST_FIXED_POINT = 14 , MD_ST_COMPOSED = 15 ,
  MD_ST_U24 = 16 , MD_ST_U48 = 17 , MD_ST_S48 = 18
}
 
enum  md_access { MD_ACCESS_RO = 1 , MD_ACCESS_WO = 2 , MD_ACCESS_RW = 3 , MD_ACCESS_CMD = 4 }
 
enum  md_vkind {
  MD_VK_DECIMAL = 0 , MD_VK_BOOL , MD_VK_UINT , MD_VK_INT ,
  MD_VK_ENUM , MD_VK_FLAGS , MD_VK_FIELDS , MD_VK_STRING ,
  MD_VK_BYTES , MD_VK_DATETIME , MD_VK_COMPOSED
}
 

Functions

md_err_t md_point_parse (const md_point_t *pt, md_point_desc_t *out)
 
uint16_t md_point_words (const md_point_desc_t *d)
 
bool md_point_readable (const md_point_desc_t *d)
 
bool md_point_writable (const md_point_desc_t *d)
 
md_kv_iter_t md_na_iter (const md_point_desc_t *d)
 
bool md_na_next (md_kv_iter_t *it, int64_t *raw, md_str_t *meaning)
 
md_kv_iter_t md_flag_iter (const md_point_desc_t *d)
 
bool md_flag_next (md_kv_iter_t *it, uint32_t *bit, md_str_t *name)
 
md_field_iter_t md_field_iter (const md_point_desc_t *d)
 
bool md_field_next (md_field_iter_t *it, md_str_t *field_id, uint32_t *bit_offset, uint32_t *bit_length)
 
md_kv_iter_t md_case_iter (const md_point_desc_t *d)
 
bool md_case_next (md_kv_iter_t *it, int64_t *key, md_rational_t *scale, md_rational_t *offset)
 
bool md_allowed_next (md_wire_t *w, int64_t *v)
 

Typedef Documentation

◆ md_access_t

typedef enum md_access md_access_t

◆ md_field_iter_t

◆ md_kv_iter_t

typedef struct md_kv_iter md_kv_iter_t

◆ md_point_desc_t

◆ md_rational_t

typedef struct md_rational md_rational_t

◆ md_space_t

typedef enum md_space md_space_t

◆ md_storage_t

typedef enum md_storage md_storage_t

◆ md_vkind_t

typedef enum md_vkind md_vkind_t

Enumeration Type Documentation

◆ md_access

enum md_access
Enumerator
MD_ACCESS_RO 
MD_ACCESS_WO 
MD_ACCESS_RW 
MD_ACCESS_CMD 

◆ md_space

enum md_space
Enumerator
MD_SPACE_COIL 
MD_SPACE_DISCRETE 
MD_SPACE_INPUT 
MD_SPACE_HOLDING 

◆ md_storage

enum md_storage
Enumerator
MD_ST_UNSPECIFIED 
MD_ST_BIT 
MD_ST_U16 
MD_ST_S16 
MD_ST_U32 
MD_ST_S32 
MD_ST_U64 
MD_ST_S64 
MD_ST_F32 
MD_ST_F64 
MD_ST_STRING_ASCII 
MD_ST_STRING_UTF8 
MD_ST_BYTES_RAW 
MD_ST_BCD 
MD_ST_FIXED_POINT 
MD_ST_COMPOSED 
MD_ST_U24 
MD_ST_U48 
MD_ST_S48 

◆ md_vkind

enum md_vkind
Enumerator
MD_VK_DECIMAL 
MD_VK_BOOL 
MD_VK_UINT 
MD_VK_INT 
MD_VK_ENUM 
MD_VK_FLAGS 
MD_VK_FIELDS 
MD_VK_STRING 
MD_VK_BYTES 
MD_VK_DATETIME 
MD_VK_COMPOSED 

Function Documentation

◆ md_allowed_next()

bool md_allowed_next ( md_wire_t w,
int64_t *  v 
)

◆ md_case_iter()

md_kv_iter_t md_case_iter ( const md_point_desc_t d)

◆ md_case_next()

bool md_case_next ( md_kv_iter_t it,
int64_t *  key,
md_rational_t scale,
md_rational_t offset 
)

◆ md_field_iter()

◆ md_field_next()

bool md_field_next ( md_field_iter_t it,
md_str_t field_id,
uint32_t *  bit_offset,
uint32_t *  bit_length 
)

◆ md_flag_iter()

md_kv_iter_t md_flag_iter ( const md_point_desc_t d)

◆ md_flag_next()

bool md_flag_next ( md_kv_iter_t it,
uint32_t *  bit,
md_str_t name 
)

◆ md_na_iter()

md_kv_iter_t md_na_iter ( const md_point_desc_t d)

◆ md_na_next()

bool md_na_next ( md_kv_iter_t it,
int64_t *  raw,
md_str_t meaning 
)

◆ md_point_parse()

md_err_t md_point_parse ( const md_point_t pt,
md_point_desc_t out 
)

◆ md_point_readable()

bool md_point_readable ( const md_point_desc_t d)

◆ md_point_words()

uint16_t md_point_words ( const md_point_desc_t d)

◆ md_point_writable()

bool md_point_writable ( const md_point_desc_t d)