Re: Question about GTK+ and timers
- From: Igor Korot <ikorot01 gmail com>
- To: gtk-list gnome org
- Subject: Re: Question about GTK+ and timers
- Date: Fri, 8 Apr 2011 15:43:17 -0700
Paul,
On Fri, Apr 8, 2011 at 3:28 PM, Paul Davis <paul linuxaudiosystems com> wrote:
> On Fri, Apr 8, 2011 at 6:14 PM, Igor Korot <ikorot01 gmail com> wrote:
>> Mikhail,
>>
>> On Fri, Apr 8, 2011 at 2:33 PM, Mikhail Titov <mlt gmx us> wrote:
>>> As far as I understand it is possible to use it with NULL for encoding. It
>>> should just read bytes with no interpretation.
>>>
>>> http://www.mail-archive.com/gtk-list gnome org/msg29589.html
>>>
>>> Mikhail
>>
>> I understand this.
>> However, what I want is to read data in:
>>
>> struct Data
>> {
>> char m_header[2];
>> char m_code;
>> char m_voltageMask[2];
>> char m_highestVoltage[2];
>> char m_lowestVoltage[2];
>> char m_status;
>> } m_data;
>>
>> I need to look at voltageMask, highestVoltage and lowestVoltage initially.
>> Is it possible to use m_data with GIOChannel?
>
> of course.
>
> but you'd better hope that the compiler packs that data structure in
> the same way the device is sending it. you'd be far better off not
> using a struct for this, but just reading (in your case) 10 bytes.
>
> sending raw C structs over any kind of "wire protocol" almost always
> turns out to be huge mistake unless its been very carefully thought
> about.
So best way is to use char m_data[10]?
And then just get m_data[4], m_data[5], m_data[6], m_data[7],
m_data[8] and m_data[9]?
I am getting bytes over the wire thru the serial port and transfer is
performed on the client side.
read( handle, &m_data, 10 );
I am just getting 10 bytes which are represented on the client as
m_data members.
Am I wrong here? It's possible there will be a packing issue, but I'm
about to test this.
Thank you.
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]