XROAD
fix_msg.h File Reference
#include "fix_parser_fwd.h"
#include "fix_error.h"
#include <common/xroad_aux.h>
#include <common/xroad_string.h>
#include <common/xroad_common_types.h>
#include <stdint.h>
Include dependency graph for fix_msg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FIX_MSG_CHECK_CRC   0x01
 
#define FIX_MSG_CHECK_REQUIRED   0x02
 
#define FIX_MSG_CHECK_VALUE   0x04
 
#define FIX_MSG_CHECK_VERSION   0x08
 
#define FIX_MSG_CHECK_ALL
 
#define __fix_msg_dtor__   __dtor__(fix_utils_msg_destructor)
 
#define fix_msg_get(msg, tag, ptr, err)
 
#define fix_msg_set(msg, tag, val, err)
 

Functions

void * fix_msg_create (fix_parser_t *parser, int32_t msg_type, fix_error_t **error)
 
void fix_msg_destroy (void *msg)
 
int32_t fix_msg_get_type (void *msg)
 
xroad_str_t fix_msg_get_name (void *msg)
 
xroad_errno_t fix_msg_check (void *msg, int32_t flags, fix_error_t **error)
 
xroad_errno_t fix_msg_get_int32 (void *obj, int32_t tag_num, int32_t *val, fix_error_t **error)
 
xroad_errno_t fix_msg_get_int64 (void *obj, int32_t tag_num, int64_t *val, fix_error_t **error)
 
xroad_errno_t fix_msg_set_int (void *obj, int32_t tag_num, int64_t val, fix_error_t **error)
 
xroad_errno_t fix_msg_get_double (void *obj, int32_t tag_num, double *val, fix_error_t **error)
 
xroad_errno_t fix_msg_set_double_prec (void *obj, int32_t tag_num, double val, uint32_t prec, fix_error_t **error)
 
xroad_errno_t fix_msg_set_double (void *obj, int32_t tag_num, double val, fix_error_t **error)
 
xroad_errno_t fix_msg_get_char (void *obj, int32_t tag_num, char *val, fix_error_t **error)
 
xroad_errno_t fix_msg_set_char (void *obj, int32_t tag_num, char val, fix_error_t **error)
 
xroad_errno_t fix_msg_get_str (void *obj, int32_t tag_num, xroad_str_t *val, fix_error_t **error)
 
xroad_errno_t fix_msg_set_str (void *obj, int32_t tag_num, xroad_str_t val, fix_error_t **error)
 
xroad_errno_t fix_msg_get_grp (void *obj, int32_t tag_num, uint32_t grp_idx, void **grp, fix_error_t **error)
 
xroad_errno_t fix_msg_add_grp (void *obj, int32_t tag_num, void **grp, fix_error_t **error)
 
xroad_errno_t fix_msg_del_grp (void *obj, int32_t tag_num, uint32_t grp_idx, fix_error_t **error)
 
xroad_errno_t fix_msg_del_field (void *obj, int32_t tag_num, fix_error_t **error)
 
xroad_errno_t fix_msg_is_set (void *obj, int32_t tag_num, int32_t *res, fix_error_t **error)
 

Detailed Description

Macro Definition Documentation

◆ __fix_msg_dtor__

#define __fix_msg_dtor__   __dtor__(fix_utils_msg_destructor)

FIX messahe automatic destructor

◆ FIX_MSG_CHECK_ALL

#define FIX_MSG_CHECK_ALL
Value:
FIX_MSG_CHECK_CRC | FIX_MSG_CHECK_REQUIRED | FIX_MSG_CHECK_VALUE | \
FIX_MSG_CHECK_VERSION

◆ fix_msg_get

#define fix_msg_get (   msg,
  tag,
  ptr,
  err 
)
Value:
_Generic((ptr), \
char*: fix_msg_get_char, \
int32_t*: fix_msg_get_int32, \
int64_t*: fix_msg_get_int64, \
double*: fix_msg_get_double, \
)(msg, tag, ptr, err)
xroad_errno_t fix_msg_get_char(void *obj, int32_t tag_num, char *val, fix_error_t **error)
xroad_errno_t fix_msg_get_int64(void *obj, int32_t tag_num, int64_t *val, fix_error_t **error)
xroad_errno_t fix_msg_get_str(void *obj, int32_t tag_num, xroad_str_t *val, fix_error_t **error)
xroad_errno_t fix_msg_get_double(void *obj, int32_t tag_num, double *val, fix_error_t **error)
xroad_errno_t fix_msg_get_int32(void *obj, int32_t tag_num, int32_t *val, fix_error_t **error)
Definition: xroad_string.h:29

◆ fix_msg_set

#define fix_msg_set (   msg,
  tag,
  val,
  err 
)
Value:
_Generic((val), \
double: fix_msg_set_double, \
default: fix_msg_set_int \
)(msg, tag, val, err)
xroad_errno_t fix_msg_set_str(void *obj, int32_t tag_num, xroad_str_t val, fix_error_t **error)
xroad_errno_t fix_msg_set_char(void *obj, int32_t tag_num, char val, fix_error_t **error)
xroad_errno_t fix_msg_set_int(void *obj, int32_t tag_num, int64_t val, fix_error_t **error)
xroad_errno_t fix_msg_set_double(void *obj, int32_t tag_num, double val, fix_error_t **error)

Function Documentation

◆ fix_msg_add_grp()

xroad_errno_t fix_msg_add_grp ( void *  obj,
int32_t  tag_num,
void **  grp,
fix_error_t **  error 
)

add tag group to fix message

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]grp- added group
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - group extracted, XROAD_FAILED - discover error for details

◆ fix_msg_check()

xroad_errno_t fix_msg_check ( void *  msg,
int32_t  flags,
fix_error_t **  error 
)

check fix message

Parameters
[in]msg- msg to check
[in]flags- see FIX_MSG_CHECK_* for possible flags
[out]error- return possible error
Returns
XROAD_OK - check ok, XROAD_FAILED - failed. Discover error for details

◆ fix_msg_create()

void* fix_msg_create ( fix_parser_t parser,
int32_t  msg_type,
fix_error_t **  error 
)

create fix message

Parameters
[in]parser- parser instance
[in]msg_type- message type. See generated fix_msg_type.h for possible values
[out]error- error instance if any
Returns
created message, NULL in case of error. Discover error for reason

◆ fix_msg_del_field()

xroad_errno_t fix_msg_del_field ( void *  obj,
int32_t  tag_num,
fix_error_t **  error 
)

remove fix field from message or group

Parameters
[in]obj- fix message of fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - group extracted, XROAD_FAILED - discover error for details

◆ fix_msg_del_grp()

xroad_errno_t fix_msg_del_grp ( void *  obj,
int32_t  tag_num,
uint32_t  grp_idx,
fix_error_t **  error 
)

remove tag group to fix message

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]grp_idx- group index to remove
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - group extracted, XROAD_FAILED - discover error for details

◆ fix_msg_destroy()

void fix_msg_destroy ( void *  msg)

destroy fix message

◆ fix_msg_get_char()

xroad_errno_t fix_msg_get_char ( void *  obj,
int32_t  tag_num,
char *  val,
fix_error_t **  error 
)

return field value as char

Parameters
[in]obj- fix message pg fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]val- returned value
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - value extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_double()

xroad_errno_t fix_msg_get_double ( void *  obj,
int32_t  tag_num,
double *  val,
fix_error_t **  error 
)

return field value as double

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]val- returned value
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - value extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_grp()

xroad_errno_t fix_msg_get_grp ( void *  obj,
int32_t  tag_num,
uint32_t  grp_idx,
void **  grp,
fix_error_t **  error 
)

return fix message group

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]grp_idx- group index to extract
[out]grp- extracted group
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - group extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_int32()

xroad_errno_t fix_msg_get_int32 ( void *  obj,
int32_t  tag_num,
int32_t *  val,
fix_error_t **  error 
)

return field value as int32

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]val- returned value
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - value extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_int64()

xroad_errno_t fix_msg_get_int64 ( void *  obj,
int32_t  tag_num,
int64_t *  val,
fix_error_t **  error 
)

return field value as int64

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]val- returned value
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - value extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_name()

xroad_str_t fix_msg_get_name ( void *  msg)

return human readable message name

Parameters
[in]msg- fix message to discover
Returns
fix message name

◆ fix_msg_get_str()

xroad_errno_t fix_msg_get_str ( void *  obj,
int32_t  tag_num,
xroad_str_t val,
fix_error_t **  error 
)

return field value as string

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]val- returned value
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - value extracted, XROAD_FAILED - discover error for details

◆ fix_msg_get_type()

int32_t fix_msg_get_type ( void *  msg)

return fix message type. See generated fix_msg_type.h for possible values

Parameters
[in]msg- fix message to discover
Returns
fix message type

◆ fix_msg_is_set()

xroad_errno_t fix_msg_is_set ( void *  obj,
int32_t  tag_num,
int32_t *  res,
fix_error_t **  error 
)

check if field is set

Parameters
[in]obj- fix message of fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[out]res- 0 - not set, 1 - is set
[out]error- error instance if any. Can be NULL
Returns
XROAD_OK - check OK, XROAD_FAILED - discover error for details

◆ fix_msg_set_char()

xroad_errno_t fix_msg_set_char ( void *  obj,
int32_t  tag_num,
char  val,
fix_error_t **  error 
)

set fix message field as char

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]val- value to set
[out]error- error instance if any. Can be NULL
Returns
XOAD_OK - done, XROAD_FAILED - discover error for details

◆ fix_msg_set_double()

xroad_errno_t fix_msg_set_double ( void *  obj,
int32_t  tag_num,
double  val,
fix_error_t **  error 
)

set fix message field as double

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]val- value to set
[out]error- error instance if any. Can be NULL
Returns
XOAD_OK - done, XROAD_FAILED - discover error for details

◆ fix_msg_set_double_prec()

xroad_errno_t fix_msg_set_double_prec ( void *  obj,
int32_t  tag_num,
double  val,
uint32_t  prec,
fix_error_t **  error 
)

set fix message field as double with defined precision

Parameters
[in]obj- fix message og fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]val- value to set
[in]prec- value precision
[out]error- error instance if any. Can be NULL
Returns
XOAD_OK - done, XROAD_FAILED - discover error for details

◆ fix_msg_set_int()

xroad_errno_t fix_msg_set_int ( void *  obj,
int32_t  tag_num,
int64_t  val,
fix_error_t **  error 
)

set fix message field as int

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]val- value to set
[out]error- error instance if any. Can be NULL
Returns
XOAD_OK - done, XROAD_FAILED - discover error for details

◆ fix_msg_set_str()

xroad_errno_t fix_msg_set_str ( void *  obj,
int32_t  tag_num,
xroad_str_t  val,
fix_error_t **  error 
)

set fix message field as string

Parameters
[in]obj- fix message or fix group
[in]tag_num- field tag. See generated fix_field_tag.h for possible values
[in]val- value to set
[out]error- error instance if any. Can be NULL
Returns
XOAD_OK - done, XROAD_FAILED - discover error for details