## Input Input — Callbacks on file descriptors |

## Functions

gint | gdk_input_add_full ()
void | (*GdkInputFunction) ()
void | (*GdkDestroyNotify) ()
gint | gdk_input_add ()
void | gdk_input_remove ()

## Types and Values

enum | GdkInputCondition

## Includes

    #include <gdk/gdk.h>

## 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.

## Functions

### gdk_input_add_full ()

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

`gdk_input_add_full` has been deprecated since version 2.14 and should not be used in newly-written code.

Use `g_io_add_watch_full()` on a GIOChannel

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

#### Parameters

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()`.

### GdkInputFunction ()

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

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

#### Parameters

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);

`GdkDestroyNotify` is deprecated and should not be used in newly-written code.

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.

#### Parameters

data | the user data. |

### gdk_input_add ()

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

`gdk_input_add` has been deprecated since version 2.14 and should not be used in newly-written code.

Use `g_io_add_watch()` on a GIOChannel

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

#### Parameters

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);

`gdk_input_remove` is deprecated and should not be used in newly-written code.

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

#### Parameters

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

## Types and Values

### enum 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.

#### Members

GDK_INPUT_READ | the 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_WRITE | the file descriptor has become available for writing. |
GDK_INPUT_EXCEPTION | an exception was raised on the file descriptor. |

## 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.