XMMS2
|
00001 #include <stdlib.h> 00002 00003 #include "xmmsc/xmmsc_visualization.h" 00004 00005 /* helper functions to send/receive upd packages */ 00006 00007 char* 00008 packet_init_data (xmmsc_vis_udp_data_t *p) 00009 { 00010 char* buffer = malloc (1 + sizeof (uint16_t) + sizeof (xmmsc_vischunk_t)); 00011 if (buffer) { 00012 buffer[0] = 'V'; 00013 p->__unaligned_type = &buffer[0]; 00014 p->__unaligned_grace = (uint16_t*)&buffer[1]; 00015 p->__unaligned_data = (xmmsc_vischunk_t*)&buffer[1 + sizeof (uint16_t)]; 00016 p->size = 1 + sizeof (uint16_t) + sizeof (xmmsc_vischunk_t); 00017 } 00018 return buffer; 00019 } 00020 00021 char* 00022 packet_init_timing (xmmsc_vis_udp_timing_t *p) 00023 { 00024 char* buffer = malloc (1 + 5*sizeof (int32_t)); 00025 if (buffer) { 00026 buffer[0] = 'T'; 00027 p->__unaligned_type = &buffer[0]; 00028 p->__unaligned_id = (int32_t*)&buffer[1]; 00029 p->__unaligned_clientstamp = (int32_t*)&buffer[1 + sizeof (int32_t)]; 00030 p->__unaligned_serverstamp = (int32_t*)&buffer[1 + 3*sizeof (int32_t)]; 00031 p->size = 1 + 5*sizeof (int32_t); 00032 } 00033 return buffer; 00034 }