UnixSocketAddress.newWithType

Creates a new #GUnixSocketAddress of type type with name path.

If type is gio.types.UnixSocketAddressType.Path, this is equivalent to calling gio.unix_socket_address.UnixSocketAddress.new_.

If type is gio.types.UnixSocketAddressType.Anonymous, path and path_len will be ignored.

If path_type is gio.types.UnixSocketAddressType.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 gio.socket_address.SocketAddress.getNativeSize 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 gio.types.UnixSocketAddressType.AbstractPadded, 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, gio.socket_address.SocketAddress.getNativeSize will always return the full size of a struct sockaddr_un, although gio.unix_socket_address.UnixSocketAddress.getPathLen will still return just the length of path.

gio.types.UnixSocketAddressType.Abstract is preferred over gio.types.UnixSocketAddressType.AbstractPadded 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.

Parameters

path string

the name

type gio.types.UnixSocketAddressType

a #GUnixSocketAddressType

Return Value

Type: gio.unix_socket_address.UnixSocketAddress

a new #GUnixSocketAddress