libcfe  0.12.1
some useful C-functions
cfe_value.c File Reference
#include "config.h"
#include "cfe_value.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for cfe_value.c:

Go to the source code of this file.

Data Structures

struct  cfe_value_t
 

Macros

#define C_TYPE_FIELD(T)   T##_value
 
#define C_TYPE_FIELD_DEF(T)   T T##_value;
 
#define C_TYPE_FIELD_DEF2(T, F)   T F;
 
#define getset(NAME, C_TYPE, CFE_TYPE)   getset2(NAME, C_TYPE, C_TYPE_FIELD(C_TYPE), CFE_TYPE)
 
#define getset2(NAME, C_TYPE, FIELD, CFE_TYPE)
 

Functions

cfe_value_t * cfe_value_new (void)
 
void cfe_value_free (cfe_value_t *v)
 
 getset (uint8, uint8_t, CFE_UINT8)
 
uint8_t cfe_value_set_string (cfe_value_t *v, char *value)
 
uint8_t cfe_value_set_null (cfe_value_t *v)
 
uint8_t cfe_value_is_null (const cfe_value_t *v)
 
uint8_t cfe_value_is_nil (const cfe_value_t *v)
 
uint8_t cfe_value_check_type (const cfe_value_t *v, cfe_value_type_t type)
 
cfe_value_type_t cfe_value_get_type (const cfe_value_t *v)
 

Macro Definition Documentation

◆ C_TYPE_FIELD

#define C_TYPE_FIELD (   T)    T##_value

Definition at line 9 of file cfe_value.c.

◆ C_TYPE_FIELD_DEF

#define C_TYPE_FIELD_DEF (   T)    T T##_value;

Definition at line 10 of file cfe_value.c.

◆ C_TYPE_FIELD_DEF2

#define C_TYPE_FIELD_DEF2 (   T,
 
)    T F;

Definition at line 11 of file cfe_value.c.

◆ getset

#define getset (   NAME,
  C_TYPE,
  CFE_TYPE 
)    getset2(NAME, C_TYPE, C_TYPE_FIELD(C_TYPE), CFE_TYPE)

Definition at line 13 of file cfe_value.c.

◆ getset2

#define getset2 (   NAME,
  C_TYPE,
  FIELD,
  CFE_TYPE 
)
Value:
uint8_t cfe_value_set_##NAME (cfe_value_t *v, C_TYPE value) \
{ \
cfe_value_empty(v); \
v->type = CFE_TYPE; \
v->value.FIELD = value; \
return 1; \
} \
uint8_t cfe_value_get_##NAME (const cfe_value_t *v, C_TYPE *value) \
{ \
if(!cfe_value_check_type(v, CFE_TYPE)) return 0; \
*value = (C_TYPE)v->value.FIELD; \
return 1; \
}
uint8_t cfe_value_check_type(const cfe_value_t *v, cfe_value_type_t type)
Definition: cfe_value.c:154

Definition at line 14 of file cfe_value.c.

Function Documentation

◆ cfe_value_check_type()

uint8_t cfe_value_check_type ( const cfe_value_t *  v,
cfe_value_type_t  type 
)
inline

Definition at line 154 of file cfe_value.c.

◆ cfe_value_free()

void cfe_value_free ( cfe_value_t *  v)

Definition at line 61 of file cfe_value.c.

◆ cfe_value_get_type()

cfe_value_type_t cfe_value_get_type ( const cfe_value_t *  v)

Definition at line 159 of file cfe_value.c.

◆ cfe_value_is_nil()

uint8_t cfe_value_is_nil ( const cfe_value_t *  v)

Definition at line 149 of file cfe_value.c.

Here is the call graph for this function:

◆ cfe_value_is_null()

uint8_t cfe_value_is_null ( const cfe_value_t *  v)

Definition at line 144 of file cfe_value.c.

Here is the call graph for this function:

◆ cfe_value_new()

cfe_value_t* cfe_value_new ( void  )

Definition at line 54 of file cfe_value.c.

◆ cfe_value_set_null()

uint8_t cfe_value_set_null ( cfe_value_t *  v)

Definition at line 136 of file cfe_value.c.

◆ cfe_value_set_string()

uint8_t cfe_value_set_string ( cfe_value_t *  v,
char *  value 
)

Definition at line 98 of file cfe_value.c.

◆ getset()

getset ( uint8  ,
uint8_t  ,
CFE_UINT8   
)

Definition at line 67 of file cfe_value.c.

Here is the call graph for this function: