Re: Monitoring IO



Or call fileno(file) to get the fd of the file.

David



On Wed, 6 Dec 2000, Erik Mouw wrote:

Hi Chris,

I didn't expect you on this list... ;-)

On Wed, Dec 06, 2000 at 12:44:41PM -0500, Chris Blazie wrote:
    I'm working on some applications that need to monitor and interact
with arbitrary external IO (for now, the serial port).  For starters
(since I'm new to GTK development), I wrote a tiny app that instantiates a
GtkText widget, registers a GIO Channel via the gtk_input_add_full()
wrapper, and writes to the GtkText box from the input callback:

s_port = fopen( "/dev/ttyS0", "r" );

off = gtk_input_add_full( (gint) s_port, GDK_INPUT_READ,
                            (GdkInputFunction) input_callback,
                            NULL, data, NULL );

The input_callback function looks like this:

void input_callback( gpointer          data, gint              source, 
                     GdkInputCondition condition )
{
    gtk_text_insert( GTK_TEXT(textedit), NULL, NULL, NULL, "data
added\n", -1 );

}

    For some reason the input_callback function never gets called.
I suspect I'm not using the FILE pointer correctly, but I don't know how.
Can someone tell me what I'm missing here?

gtk_input_add_full() needs a file descriptor, not a FILE pointer. Open
the serial port with:

  int s_port;

  s_port = open("/dev/ttyS0", O_RDONLY);

Hope this helps,


Erik



-- 
      __          _    __  David Helder - University of Michigan
  ___/ /__ __  __(_)__/ /  dhelder umich edu
 / _  / _ `/ |/ / / _  /   http://www.eecs.umich.edu/~dhelder
 |_,_/|_,_/|___/_/|_,_/    Jungle Monkey: http://www.junglemonkey.net





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]