| GSK Reference Manual |
|---|
#define GSK_STREAM_FD_GET_FD (stream) struct GskStreamFd; enum GskStreamFdFlags; GskStream* gsk_stream_fd_new (gint fd, GskStreamFdFlags flags); GskStream* gsk_stream_fd_new_auto (gint fd); GskStreamFdFlags gsk_stream_fd_flags_guess (gint fd); gboolean gsk_stream_fd_pipe (GskStream **read_side_out, GskStream **write_side_out, GError **error); GskStream* gsk_stream_fd_new_connecting (gint fd); GskStream* gsk_stream_fd_new_read_file (const char *filename, GError **error); GskStream* gsk_stream_fd_new_write_file (const char *filename, gboolean may_create, gboolean should_truncate, GError **error); GskStream* gsk_stream_fd_new_create_file (const char *filename, gboolean may_exist, GError **error); GskStream* gsk_stream_fd_new_open (const char *filename, guint open_flags, guint permission, GError **error);
"file-descriptor" GskFd : Read / Write / Construct Only "is-pollable" gboolean : Read / Write / Construct Only "is-readable" gboolean : Read / Write / Construct Only "is-writable" gboolean : Read / Write / Construct Only
#define GSK_STREAM_FD_GET_FD(stream) (GSK_STREAM_FD (stream)->fd)
Get underlying file-descriptor from a GskStreamFd.
| stream : | the stream. |
typedef enum
{
GSK_STREAM_FD_IS_READABLE = (1<<0),
GSK_STREAM_FD_IS_WRITABLE = (1<<1),
GSK_STREAM_FD_IS_READWRITE = GSK_STREAM_FD_IS_READABLE
| GSK_STREAM_FD_IS_WRITABLE,
GSK_STREAM_FD_IS_POLLABLE = (1<<2),
GSK_STREAM_FD_IS_SHUTDOWNABLE = (1<<3),
GSK_STREAM_FD_FOR_NEW_SOCKET = GSK_STREAM_FD_IS_READWRITE
| GSK_STREAM_FD_IS_POLLABLE
| GSK_STREAM_FD_IS_SHUTDOWNABLE
} GskStreamFdFlags;GskStream* gsk_stream_fd_new (gint fd, GskStreamFdFlags flags);
Create a new GskStream based on an already open file descriptor.
| fd : | the raw file descriptor. |
| flags : | information about how to use the file descriptor. |
| Returns : | a new GskStream |
gboolean gsk_stream_fd_pipe (GskStream **read_side_out, GskStream **write_side_out, GError **error);
Call the pipe(2) system call to make a half-duplex connection between two streams. The newly allocated streams are returned.
| read_side_out : | place to store a reference to a newly allocated readable stream-fd. |
| write_side_out : | place to store a reference to a newly allocated writable stream-fd. |
| error : | optional error return value. |
| Returns : | whether the streams were allocated successfully. |
GskStream* gsk_stream_fd_new_connecting (gint fd);
Create a new GskStream based on a socket which is still in the process of connecting.
| fd : | the raw file descriptor. |
| Returns : | a new GskStream |
GskStream* gsk_stream_fd_new_read_file (const char *filename, GError **error);
Open a file for reading as a GskStream. The stream is not writable.
| filename : | file to open readonly. |
| error : | optional error return value. |
| Returns : | a new GskStream |
GskStream* gsk_stream_fd_new_write_file (const char *filename, gboolean may_create, gboolean should_truncate, GError **error);
Open a file for writing as a GskStream. The stream is not readable.
| filename : | file to open write-only. |
| may_create : | whether creating the filename is acceptable. |
| should_truncate : | whether an existing filename should be truncated. |
| error : | optional error return value. |
| Returns : | a new GskStream |
GskStream* gsk_stream_fd_new_create_file (const char *filename, gboolean may_exist, GError **error);
Create a file for writing as a GskStream. The stream is not readable.
| filename : | file to open write-only. |
| may_exist : | whether file may exist. |
| error : | optional error return value. |
| Returns : | a new GskStream |
GskStream* gsk_stream_fd_new_open (const char *filename, guint open_flags, guint permission, GError **error);
Open a file as a GskStream; this interface strongly reflects its underlying open(2) implementation. Using gsk_stream_fd_new_read_file() and gsk_stream_fd_new_write_file() may be more portable ultimately.
| filename : | file to open or create (depending on open_flags) |
| open_flags : | same as the second argument to open(2). |
| permission : | permissions if creating a new file. |
| error : | optional error return value. |
| Returns : | a new GskStream |
| <<< GskPacketQueueFd | GskStreamExternal >>> |