UnixSocketAddress

class UnixSocketAddress(**properties: Any)

Superclasses: SocketAddress, Object

Implemented Interfaces: SocketConnectable

Constructors:

UnixSocketAddress(**properties)
new(path:str) -> Gio.SocketAddress
new_abstract(path:list) -> Gio.SocketAddress
new_with_type(path:list, type:Gio.UnixSocketAddressType) -> Gio.SocketAddress

Constructors

class UnixSocketAddress
classmethod new(path: str) SocketAddress

Creates a new UnixSocketAddress for path.

To create abstract socket addresses, on systems that support that, use new_abstract().

Added in version 2.22.

Parameters:

path – the socket path

classmethod new_abstract(path: Sequence[int]) SocketAddress

Creates a new ABSTRACT_PADDED UnixSocketAddress for path.

Deprecated since version Unknown: Use new_with_type().

Parameters:

path – the abstract name

classmethod new_with_type(path: Sequence[int], type: UnixSocketAddressType) SocketAddress

Creates a new UnixSocketAddress of type type with name path.

If type is PATH, this is equivalent to calling new().

If type is ANONYMOUS, path and path_len will be ignored.

If path_type is ABSTRACT, then path_len bytes of path will be copied to the socket’s path, and only those bytes will be considered part of the name. (If path_len is -1, then path is assumed to be NUL-terminated.) For example, if path was “test”, then calling get_native_size() on the returned socket would return 7 (2 bytes of overhead, 1 byte for the abstract-socket indicator byte, and 4 bytes for the name “test”).

If path_type is ABSTRACT_PADDED, then path_len bytes of path will be copied to the socket’s path, the rest of the path will be padded with 0 bytes, and the entire zero-padded buffer will be considered the name. (As above, if path_len is -1, then path is assumed to be NUL-terminated.) In this case, get_native_size() will always return the full size of a struct sockaddr_un, although get_path_len() will still return just the length of path.

ABSTRACT is preferred over ABSTRACT_PADDED for new programs. Of course, when connecting to a server created by another process, you must use the appropriate type corresponding to how that process created its listening socket.

Added in version 2.26.

Parameters:

Methods

class UnixSocketAddress
abstract_names_supported() bool

Checks if abstract UNIX domain socket names are supported.

Added in version 2.22.

get_address_type() UnixSocketAddressType

Gets address’s type.

Added in version 2.26.

get_is_abstract() bool

Tests if address is abstract.

Added in version 2.22.

Deprecated since version Unknown: Use get_address_type()

get_path() str

Gets address’s path, or for abstract sockets the “name”.

Guaranteed to be zero-terminated, but an abstract socket may contain embedded zeros, and thus you should use get_path_len() to get the true length of this string.

Added in version 2.22.

get_path_len() int

Gets the length of address’s path.

For details, see get_path().

Added in version 2.22.

Properties

class UnixSocketAddress
props.abstract: bool

Whether or not this is an abstract address

Deprecated since version Unknown: Use UnixSocketAddress:address-type, which distinguishes between zero-padded and non-zero-padded abstract addresses.

props.address_type: UnixSocketAddressType

The type of Unix socket address.

Added in version 2.22.

props.path: str

Unix socket path.

Added in version 2.22.

props.path_as_array: Sequence[int]

Unix socket path, as a byte array.

Added in version 2.22.

Fields

class UnixSocketAddress
parent_instance
priv