UnixSocketAddress

open class UnixSocketAddress(pointer: <Error class: unknown class><<Error class: unknown class>>) : SocketAddress

Support for UNIX-domain (also known as local) sockets, corresponding to struct sockaddr_un.

UNIX domain sockets are generally visible in the filesystem. However, some systems support abstract socket names which are not visible in the filesystem and not affected by the filesystem permissions, visibility, etc. Currently this is only supported under Linux. If you attempt to use abstract sockets on other systems, function calls may return G_IO_ERROR_NOT_SUPPORTED errors. You can use func@Gio.UnixSocketAddress.abstract_names_supported to see if abstract names are supported.

Since GLib 2.72, GUnixSocketAddress is available on all platforms. It requires underlying system support (such as Windows 10 with AF_UNIX) at run time.

Before GLib 2.72, <gio/gunixsocketaddress.h> belonged to the UNIX-specific GIO interfaces, thus you had to use the gio-unix-2.0.pc pkg-config file when using it. This is no longer necessary since GLib 2.72.

Skipped during bindings generation

  • method abstract: Property has no getter nor setter

  • method path-as-array: Property has no getter nor setter

  • parameter path: Array parameter of type gchar is not supported

  • parameter path: Array parameter of type gchar is not supported

Constructors

Link copied to clipboard
constructor(path: String)

Creates a new #GUnixSocketAddress for @path.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The type of Unix socket address.

Link copied to clipboard

The family of the socket address.

Link copied to clipboard
val gioSocketAddressPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gioSocketConnectablePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gioUnixSocketAddressPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open val path: String

Unix socket path.

Functions

Link copied to clipboard

Creates a #GSocketAddressEnumerator for @connectable.

Link copied to clipboard

Tests if @address is abstract.

Link copied to clipboard
open fun getNativeSize(): Long

Gets the size of @address's native struct sockaddr. You can use this to allocate memory to pass to g_socket_address_to_native().

Link copied to clipboard
open fun getPathLen(): <Error class: unknown class>

Gets the length of @address's path.

Link copied to clipboard

Creates a #GSocketAddressEnumerator for @connectable that will return a #GProxyAddress for each of its addresses that you must connect to via a proxy.

Link copied to clipboard
open fun toNative(dest: <Error class: unknown class>? = null, destlen: <Error class: unknown class>): <Error class: unknown class><Boolean>

Converts a #GSocketAddress to a native struct sockaddr, which can be passed to low-level functions like connect() or bind().

Link copied to clipboard

Format a #GSocketConnectable as a string. This is a human-readable format for use in debugging output, and is not a stable serialization format. It is not suitable for use in user interfaces as it exposes too much information for a user.