The glib.iochannel.IOChannel data type aims to provide a portable method for using file descriptors, pipes, and sockets, and integrating them into the main event loop (see glib.main_context.MainContext). Currently, full support is available on UNIX platforms; support for Windows is only partially complete.