From e8705f9dd9760ab362aba158255fd598c6e90f28 Mon Sep 17 00:00:00 2001 From: hgn Date: Sun, 11 Jun 2023 21:10:48 +0100 Subject: [PATCH] more message changes --- vg_msg.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/vg_msg.h b/vg_msg.h index 0aef31e..ae7cf8a 100644 --- a/vg_msg.h +++ b/vg_msg.h @@ -282,6 +282,10 @@ static void vg_msg_wkvu32( vg_msg *msg, const char *key, u32 value ){ vg_msg_wkvnum( msg, key, k_vg_msg_unsigned|k_vg_msg_32b, 1, &value ); } +static void vg_msg_wkvu64( vg_msg *msg, const char *key, u64 value ){ + vg_msg_wkvnum( msg, key, k_vg_msg_unsigned|k_vg_msg_64b, 1, &value ); +} + /* * The stream reading interface * ----------------------------------------------------------------------------- @@ -436,24 +440,28 @@ static const char *vg_msg_seekkvstr( vg_msg *msg, const char *key, else return NULL; } -static u32 vg_msg_seekkvu32( vg_msg *msg, const char *key, enum vg_msg_dir dir ) -{ - vg_msg_cmd cmd = vg_msg_seekkv( msg, key, dir ); - u8 sized_type = cmd.code & k_vg_msg_sized_type_bits; +static u64 vg_msg_read_as_u64( vg_msg_cmd *cmd ){ + u8 sized_type = cmd->code & k_vg_msg_sized_type_bits; - u32 result = 0x00; + u64 result = 0x00; u8 *dst = (void *)(&result); - const u8 *src = cmd.value; + const u8 *src = cmd->value; if( (sized_type == k_vg_msg_unsigned) || (sized_type == k_vg_msg_signed) ){ - u32 bytes = vg_msg_sized_bytecount( cmd.code ); - if( bytes > 4 ) bytes = 4; + u32 bytes = vg_msg_sized_bytecount( cmd->code ); + if( bytes > 8 ) bytes = 8; for( u32 i=0; i