Paul, On Fri, Apr 8, 2011 at 3:28 PM, Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Apr 8, 2011 at 6:14 PM, Igor Korot <ikorot01@xxxxxxxxx> wrote: >> Mikhail, >> >> On Fri, Apr 8, 2011 at 2:33 PM, Mikhail Titov <mlt@xxxxxx> 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@xxxxxxxxx/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. > _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list