GLib.open
Description: Reference for GLib.open

### Function

# GLibopen

since: 2.6

#### Declaration [src]

    int
    g_open (
      const gchar* filename,
      int flags,
      int mode
    )

#### Description [src]

A wrapper for the POSIX `open()` function. The `open()` function is used to convert a pathname into a file descriptor.

On POSIX systems file descriptors are implemented by the operating system. On Windows, it’s the C library that implements `open()` and file descriptors. The actual Win32 API for opening files is quite different, see MSDN documentation for CreateFile(). The Win32 API uses file handles, which are more randomish integers, not small integers like file descriptors.

Because file descriptors are specific to the C library on Windows, the file descriptor returned by this function makes sense only to functions in the same C library. Thus if the GLib-using code uses a different C library than GLib does, the file descriptor returned by this function cannot be passed to C library functions like `write()` or read().

See your C library manual for more details about open().

Available since: 2.6

#### Parameters

`filename`

  Type: `const gchar*`

  A pathname in the GLib file name encoding (UTF-8 on Windows).

  The data is owned by the caller of the function.
  The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`flags`

  Type: `int`

  As in open().

`mode`

  Type: `int`

  As in open().

#### Return value

Type: `int`

A new file descriptor, or -1 if an error occurred. The return value can be used exactly like the return value from open().