## GIOError GIOError — Error helper functions |

## Synopsis

    #include <gio/gio.h>

    #define             G_IO_ERROR
    enum                GIOErrorEnum;
    GIOErrorEnum        g_io_error_from_errno               (gint err_no);
    GIOErrorEnum        g_io_error_from_win32_error         (gint error_code);

## Description

Contains helper functions for reporting errors to the user.

## Details

### G_IO_ERROR

    #define G_IO_ERROR g_io_error_quark()

Error domain for GIO. Errors in this domain will be from the GIOErrorEnum enumeration. See GError for more information on error domains.

### enum GIOErrorEnum

    typedef enum {
      G_IO_ERROR_FAILED,
      G_IO_ERROR_NOT_FOUND,
      G_IO_ERROR_EXISTS,
      G_IO_ERROR_IS_DIRECTORY,
      G_IO_ERROR_NOT_DIRECTORY,
      G_IO_ERROR_NOT_EMPTY,
      G_IO_ERROR_NOT_REGULAR_FILE,
      G_IO_ERROR_NOT_SYMBOLIC_LINK,
      G_IO_ERROR_NOT_MOUNTABLE_FILE,
      G_IO_ERROR_FILENAME_TOO_LONG,
      G_IO_ERROR_INVALID_FILENAME,
      G_IO_ERROR_TOO_MANY_LINKS,
      G_IO_ERROR_NO_SPACE,
      G_IO_ERROR_INVALID_ARGUMENT,
      G_IO_ERROR_PERMISSION_DENIED,
      G_IO_ERROR_NOT_SUPPORTED,
      G_IO_ERROR_NOT_MOUNTED,
      G_IO_ERROR_ALREADY_MOUNTED,
      G_IO_ERROR_CLOSED,
      G_IO_ERROR_CANCELLED,
      G_IO_ERROR_PENDING,
      G_IO_ERROR_READ_ONLY,
      G_IO_ERROR_CANT_CREATE_BACKUP,
      G_IO_ERROR_WRONG_ETAG,
      G_IO_ERROR_TIMED_OUT,
      G_IO_ERROR_WOULD_RECURSE,
      G_IO_ERROR_BUSY,
      G_IO_ERROR_WOULD_BLOCK,
      G_IO_ERROR_HOST_NOT_FOUND,
      G_IO_ERROR_WOULD_MERGE,
      G_IO_ERROR_FAILED_HANDLED,
      G_IO_ERROR_TOO_MANY_OPEN_FILES,
      G_IO_ERROR_NOT_INITIALIZED,
      G_IO_ERROR_ADDRESS_IN_USE,
      G_IO_ERROR_PARTIAL_INPUT,
      G_IO_ERROR_INVALID_DATA,
      G_IO_ERROR_DBUS_ERROR,
      G_IO_ERROR_HOST_UNREACHABLE,
      G_IO_ERROR_NETWORK_UNREACHABLE,
      G_IO_ERROR_CONNECTION_REFUSED,
      G_IO_ERROR_PROXY_FAILED,
      G_IO_ERROR_PROXY_AUTH_FAILED,
      G_IO_ERROR_PROXY_NEED_AUTH,
      G_IO_ERROR_PROXY_NOT_ALLOWED,
      G_IO_ERROR_BROKEN_PIPE
    } GIOErrorEnum;

Error codes returned by GIO functions.

`G_IO_ERROR_FAILED` | Generic error condition for when any operation fails.
`G_IO_ERROR_NOT_FOUND` | File not found.
`G_IO_ERROR_EXISTS` | File already exists.
`G_IO_ERROR_IS_DIRECTORY` | File is a directory.
`G_IO_ERROR_NOT_DIRECTORY` | File is not a directory.
`G_IO_ERROR_NOT_EMPTY` | File is a directory that isn't empty.
`G_IO_ERROR_NOT_REGULAR_FILE` | File is not a regular file.
`G_IO_ERROR_NOT_SYMBOLIC_LINK` | File is not a symbolic link.
`G_IO_ERROR_NOT_MOUNTABLE_FILE` | File cannot be mounted.
`G_IO_ERROR_FILENAME_TOO_LONG` | Filename is too many characters.
`G_IO_ERROR_INVALID_FILENAME` | Filename is invalid or contains invalid characters.
`G_IO_ERROR_TOO_MANY_LINKS` | File contains too many symbolic links.
`G_IO_ERROR_NO_SPACE` | No space left on drive.
`G_IO_ERROR_INVALID_ARGUMENT` | Invalid argument.
`G_IO_ERROR_PERMISSION_DENIED` | Permission denied.
`G_IO_ERROR_NOT_SUPPORTED` | Operation not supported for the current backend.
`G_IO_ERROR_NOT_MOUNTED` | File isn't mounted.
`G_IO_ERROR_ALREADY_MOUNTED` | File is already mounted.
`G_IO_ERROR_CLOSED` | File was closed.
`G_IO_ERROR_CANCELLED` | Operation was cancelled. See GCancellable.
`G_IO_ERROR_PENDING` | Operations are still pending.
`G_IO_ERROR_READ_ONLY` | File is read only.
`G_IO_ERROR_CANT_CREATE_BACKUP` | Backup couldn't be created.
`G_IO_ERROR_WRONG_ETAG` | File's Entity Tag was incorrect.
`G_IO_ERROR_TIMED_OUT` | Operation timed out.
`G_IO_ERROR_WOULD_RECURSE` | Operation would be recursive.
`G_IO_ERROR_BUSY` | File is busy.
`G_IO_ERROR_WOULD_BLOCK` | Operation would block.
`G_IO_ERROR_HOST_NOT_FOUND` | Host couldn't be found (remote operations).
`G_IO_ERROR_WOULD_MERGE` | Operation would merge files.
`G_IO_ERROR_FAILED_HANDLED` | Operation failed and a helper program has already interacted with the user. Do not display any error dialog.
`G_IO_ERROR_TOO_MANY_OPEN_FILES` | The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. Since 2.20
`G_IO_ERROR_NOT_INITIALIZED` | The object has not been initialized. Since 2.22
`G_IO_ERROR_ADDRESS_IN_USE` | The requested address is already in use. Since 2.22
`G_IO_ERROR_PARTIAL_INPUT` | Need more input to finish operation. Since 2.24
`G_IO_ERROR_INVALID_DATA` | The input data was invalid. Since 2.24
`G_IO_ERROR_DBUS_ERROR` | A remote object generated an error that doesn't correspond to a locally registered GError error domain. Use `g_dbus_error_get_remote_error()` to extract the D-Bus error name and `g_dbus_error_strip_remote_error()` to fix up the message so it matches what was received on the wire. Since 2.26.
`G_IO_ERROR_HOST_UNREACHABLE` | Host unreachable. Since 2.26
`G_IO_ERROR_NETWORK_UNREACHABLE` | Network unreachable. Since 2.26
`G_IO_ERROR_CONNECTION_REFUSED` | Connection refused. Since 2.26
`G_IO_ERROR_PROXY_FAILED` | Connection to proxy server failed. Since 2.26
`G_IO_ERROR_PROXY_AUTH_FAILED` | Proxy authentication failed. Since 2.26
`G_IO_ERROR_PROXY_NEED_AUTH` | Proxy server needs authentication. Since 2.26
`G_IO_ERROR_PROXY_NOT_ALLOWED` | Proxy connection is not allowed by ruleset. Since 2.26
`G_IO_ERROR_BROKEN_PIPE` | Broken pipe. Since 2.36

### g_io_error_from_errno ()

    GIOErrorEnum        g_io_error_from_errno               (gint err_no);

Converts errno.h error codes into GIO error codes.

`err_no` : | Error number as defined in errno.h.
Returns : | GIOErrorEnum value for the given errno.h error number.

### g_io_error_from_win32_error ()

    GIOErrorEnum        g_io_error_from_win32_error         (gint error_code);

Converts some common error codes into GIO error codes. The fallback value G_IO_ERROR_FAILED is returned for error codes not handled.

`error_code` : | Windows error number.
Returns : | GIOErrorEnum value for the given error number.

Since 2.26