static void packet_assembly_data_guint32(GString *gstring,guint32 value_guint32)
{
-guint32 value_guint32_htonl=htonl(value_guint32);
-
g_return_if_fail(gstring!=NULL);
- g_assert(4==sizeof(value_guint32_htonl));
- packet_assembly_guint32(gstring,sizeof(value_guint32_htonl));
- packet_assembly_guint32(gstring,value_guint32_htonl);
+ g_assert(4==sizeof(value_guint32));
+ packet_assembly_guint32(gstring,sizeof(value_guint32));
+ packet_assembly_guint32(gstring,value_guint32);
}
static void packet_assembly_data_guint16(GString *gstring,guint16 value_guint16)
{
-guint16 value_guint16_htonl=htons(value_guint16);
-
g_return_if_fail(gstring!=NULL);
- g_assert(2==sizeof(value_guint16_htonl));
- packet_assembly_guint32(gstring,sizeof(value_guint16_htonl));
- packet_assembly_guint16(gstring,value_guint16_htonl);
+ g_assert(2==sizeof(value_guint16));
+ packet_assembly_guint32(gstring,sizeof(value_guint16));
+ packet_assembly_guint16(gstring,value_guint16);
}
static void packet_assembly_data_string(GString *gstring,const gchar *string)
case PACKET_ELEM_TYPE_DATA_GUINT32:
packet_assembly_data_guint32(gstring,GPOINTER_TO_UINT(value));
if (optarg_verbose)
- g_message(_("Assembled DATA_GUINT32: 0x%08x"),(unsigned)GPOINTER_TO_UINT(value));
+ g_message(_("Assembled DATA_GUINT32: 0x%08X"),(unsigned)GPOINTER_TO_UINT(value));
break;
case PACKET_ELEM_TYPE_CLIENT_PORT:
packet_assembly_data_guint16(gstring,GPOINTER_TO_UINT(value));
return TRUE;
}
+gboolean packet_recognized(gconstpointer packet,size_t packet_length)
+{
+ if (strlen(PACKET_HEADER)>packet_length)
+ return FALSE;
+ if (memcmp(packet,PACKET_HEADER,strlen(PACKET_HEADER)))
+ return FALSE;
+ return TRUE;
+}
+
GHashTable *packet_disassembly(gconstpointer packet,size_t packet_length)
{
GHashTable *r;
if (!packet_disassembly_data_guint32(&value,elem_data,elem_data_length_guint32,&items))
goto err_packet_disassembly_destroy_value_destroy_func_items;
if (optarg_verbose)
- g_message(_("Decoded DATA_GUINT32: 0x%08x"),(unsigned)GPOINTER_TO_UINT(value));
+ g_message(_("Decoded DATA_GUINT32: 0x%08X"),(unsigned)GPOINTER_TO_UINT(value));
break;
case PACKET_ELEM_TYPE_CLIENT_PORT:
if (!packet_disassembly_data_guint16(&value,elem_data,elem_data_length_guint32,&items))
default:
if (elem_type_guint32&PACKET_ELEM_ATTR_MANDATORY) {
if (optarg_verbose)
- g_message(_("Decoding failed on ATTR_MANDATORY ELEM code 0x%08x"),(unsigned)elem_type_guint32);
+ g_message(_("Decoding failed on ATTR_MANDATORY ELEM code 0x%08X"),(unsigned)elem_type_guint32);
goto err_packet_disassembly_destroy_value_destroy_func_items;
}
else {
if (optarg_verbose)
- g_message(_("Decoding ignores ATTR_OPTIONAL ELEM code 0x%08x"),(unsigned)elem_type_guint32);
+ g_message(_("Decoding ignores ATTR_OPTIONAL ELEM code 0x%08X"),(unsigned)elem_type_guint32);
}
continue;
}