Input

Name

Input -- Callbacks on file descriptors.

Synopsis


#include <gdk/gdk.h>


gint        gdk_input_add_full              (gint source,
                                             GdkInputCondition condition,
                                             GdkInputFunction function,
                                             gpointer data,
                                             GdkDestroyNotify destroy);
enum        GdkInputCondition;
void        (*GdkInputFunction)             (gpointer data,
                                             gint source,
                                             GdkInputCondition condition);
void        (*GdkDestroyNotify)             (gpointer data);
gint        gdk_input_add                   (gint source,
                                             GdkInputCondition condition,
                                             GdkInputFunction function,
                                             gpointer data);
void        gdk_input_remove                (gint tag);

Description

The functions in this section are used to establish callbacks when some condition becomes true for a file descriptor. They are currently just wrappers around the IO Channel facility.

Details

gdk_input_add_full ()

gint        gdk_input_add_full              (gint source,
                                             GdkInputCondition condition,
                                             GdkInputFunction function,
                                             gpointer data,
                                             GdkDestroyNotify destroy);

Establish a callback when a condition becomes true on a file descriptor.

source :a file descriptor.
condition :the condition.
function :the callback function.
data :callback data passed to function.
destroy :callback function to call with data when the input handler is removed.
Returns :a tag that can later be used as an argument to gdk_input_remove().


enum GdkInputCondition

typedef enum
{
  GDK_INPUT_READ       = 1 << 0,
  GDK_INPUT_WRITE      = 1 << 1,
  GDK_INPUT_EXCEPTION  = 1 << 2
} GdkInputCondition;

A set of bit flags used to specify conditions for which an input callback will be triggered. The three members of this enumeration correspond to the readfds, writefds, and exceptfds arguments to the select system call.

GDK_INPUT_READthe file descriptor has become available for reading. (Or, as is standard in Unix, a socket or pipe was closed at the other end; this is the case if a subsequent read on the file descriptor returns a count of zero.)
GDK_INPUT_WRITEthe file descriptor has become available for writing.
GDK_INPUT_EXCEPTIONan exception was raised on the file descriptor.


GdkInputFunction ()

void        (*GdkInputFunction)             (gpointer data,
                                             gint source,
                                             GdkInputCondition condition);

A callback function that will be called when some condition occurs.

data :the user data passed to gdk_input_add() or gdk_input_add_full().
source :the source where the condition occurred.
condition :the triggering condition.


GdkDestroyNotify ()

void        (*GdkDestroyNotify)             (gpointer data);

A callback function called when a piece of user data is no longer being stored by GDK. Will typically free the structure or object that data points to.

data :the user data.


gdk_input_add ()

gint        gdk_input_add                   (gint source,
                                             GdkInputCondition condition,
                                             GdkInputFunction function,
                                             gpointer data);

Establish a callback when a condition becomes true on a file descriptor.

source :a file descriptor.
condition :the condition.
function :the callback function.
data :callback data passed to function.
Returns :a tag that can later be used as an argument to gdk_input_remove().


gdk_input_remove ()

void        gdk_input_remove                (gint tag);

Remove a callback added with gdk_input_add() or gdk_input_add_full().

tag :the tag returned when the callback was set up.

See Also

GLib Main Loop

The main loop in which input callbacks run.

IO Channels

A newer and more flexible way of doing IO callbacks.