Description
This is the subclass of GSocketConnection that is created
for UNIX domain sockets.
It contains functions to do some of the UNIX socket specific
functionality like passing file descriptors.
Note that <gio/gunixconnection.h> belongs to the UNIX-specific
GIO interfaces, thus you have to use the gio-unix-2.0.pc
pkg-config file when using it.
Functions
g_unix_connection_receive_fd ()
gint
g_unix_connection_receive_fd (GUnixConnection *connection,
GCancellable *cancellable,
GError **error);
Receives a file descriptor from the sending end of the connection.
The sending end has to call g_unix_connection_send_fd() for this
to work.
As well as reading the fd this also reads a single byte from the
stream, as this is required for fd passing to work on some
implementations.
Returns
a file descriptor on success, -1 on error.
Since: 2.22
g_unix_connection_send_fd ()
gboolean
g_unix_connection_send_fd (GUnixConnection *connection,
gint fd,
GCancellable *cancellable,
GError **error);
Passes a file descriptor to the receiving side of the
connection. The receiving end has to call g_unix_connection_receive_fd()
to accept the file descriptor.
As well as sending the fd this also writes a single byte to the
stream, as this is required for fd passing to work on some
implementations.
Returns
a TRUE on success, NULL on error.
Since: 2.22
g_unix_connection_receive_credentials ()
GCredentials *
g_unix_connection_receive_credentials (GUnixConnection *connection,
GCancellable *cancellable,
GError **error);
Receives credentials from the sending end of the connection. The
sending end has to call g_unix_connection_send_credentials() (or
similar) for this to work.
As well as reading the credentials this also reads (and discards) a
single byte from the stream, as this is required for credentials
passing to work on some implementations.
This method can be expected to be available on the following platforms:
Other ways to exchange credentials with a foreign peer includes the
GUnixCredentialsMessage type and g_socket_get_credentials() function.
Returns
Received credentials on success (free with
g_object_unref()), NULL if error
is set.
[transfer full]
Since: 2.26
g_unix_connection_send_credentials ()
gboolean
g_unix_connection_send_credentials (GUnixConnection *connection,
GCancellable *cancellable,
GError **error);
Passes the credentials of the current user the receiving side
of the connection. The receiving end has to call
g_unix_connection_receive_credentials() (or similar) to accept the
credentials.
As well as sending the credentials this also writes a single NUL
byte to the stream, as this is required for credentials passing to
work on some implementations.
This method can be expected to be available on the following platforms:
Other ways to exchange credentials with a foreign peer includes the
GUnixCredentialsMessage type and g_socket_get_credentials() function.
Returns
TRUE on success, FALSE if error
is set.
Since: 2.26