openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/glib-2.0/1_2.60.3-r0/glib-2.60.3/glib/gstdio.c
int g_creat(const gchar* filename, int mode)
{
#ifdef G_OS_WIN32
    wchar_t* wfilename = g_utf8_to_utf16(filename, -1, NULL, NULL, NULL);
    int retval;
    int save_errno;

    if (wfilename == NULL)
    {
        errno = EINVAL;
        return -1;
    }

    retval = _wcreat(wfilename, mode);
    save_errno = errno;

    g_free(wfilename);

    errno = save_errno;
    return retval;
#else
    return creat(filename, mode);
#endif
}
/**
 * g_creat:
 * @filename: (type filename): a pathname in the GLib file name encoding
 *     (UTF-8 on Windows)
 * @mode: as in creat()
 *
 * A wrapper for the POSIX creat() function. The creat() function is
 * used to convert a pathname into a file descriptor, creating a file
 * if necessary.
 *
 * On POSIX systems file descriptors are implemented by the operating
 * system. On Windows, it's the C library that implements creat() and
 * file descriptors. The actual Windows API for opening files is
 * 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 creat().
 *
 * Returns: a new file descriptor, or -1 if an error occurred.
 *     The return value can be used exactly like the return value
 *     from creat().
 *
 * Since: 2.8
 */
@filename: (type filename): a pathname in the GLib file name encoding
(UTF-8 on Windows)
@mode: as in creat()

A wrapper for the POSIX creat() function. The creat() function is
used to convert a pathname into a file descriptor, creating a file
if necessary.

On POSIX systems file descriptors are implemented by the operating
system. On Windows, it's the C library that implements creat() and
file descriptors. The actual Windows API for opening files is
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 creat().

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


@filename : ( type filename ) : a pathname in the GLib file name encoding ( UTF - 8 on Windows ) @mode : as in creat () A wrapper for the POSIX creat () function . The creat () function is used to convert a pathname into a file descriptor creating a file if necessary . On POSIX systems file descriptors are implemented by the operating system . On Windows it ' s the C library that implements creat () and file descriptors . The actual Windows API for opening files is 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 creat () . a new file descriptor or - 1 if an error occurred . The return value can be used exactly like the return value from creat () .
int g_creat(const gchar* filename, int mode)
{
#ifdef G_OS_WIN32
    wchar_t* wfilename = g_utf8_to_utf16(filename, -1, NULL, NULL, NULL);
    int retval;
    int save_errno;
    if (wfilename == NULL)
    {
        errno = EINVAL;
        return -1;
    }
    retval = _wcreat(wfilename, mode);
    save_errno = errno;
    g_free(wfilename);
    errno = save_errno;
    return retval;
#else
    return creat(filename, mode);
#endif
}
int g_creat ( const gchar * filename , int mode ) { #ifdef G_OS_WIN32 wchar_t * wfilename = g_utf8_to_utf16 ( filename , -1 , NULL , NULL , NULL ) ; int retval ; int save_errno ; if ( wfilename == NULL ) { errno = EINVAL ; return -1 ; } retval = _wcreat ( wfilename , mode ) ; save_errno = errno ; g_free ( wfilename ) ; errno = save_errno ; return retval ; #else return creat ( filename , mode ) ; #endif }
g_creat:
 @filename: (type filename): a pathname in the GLib file name encoding
     (UTF-8 on Windows)
 @mode: as in creat()
g_creat : @filename : ( type filename ) : a pathname in the GLib file name encoding ( UTF - 8 on Windows ) @mode : as in creat ()