GSocketAddress

GSocketAddress — Abstract base class representing endpoints for socket communication

Properties

Types and Values

Object Hierarchy

    GObject
    ╰── GSocketAddress
        ├── GInetSocketAddress
        ╰── GUnixSocketAddress

Implemented Interfaces

GSocketAddress implements GSocketConnectable.

Includes

#include <gio/gio.h>

Description

GSocketAddress is the equivalent of struct sockaddr in the BSD sockets API. This is an abstract class; use GInetSocketAddress for internet sockets, or GUnixSocketAddress for UNIX domain sockets.

Functions

g_socket_address_new_from_native ()

GSocketAddress *
g_socket_address_new_from_native (gpointer native,
                                  gsize len);

Creates a GSocketAddress subclass corresponding to the native struct sockaddr native .

Parameters

native

a pointer to a struct sockaddr.

[not nullable]

len

the size of the memory location pointed to by native

 

Returns

a new GSocketAddress if native could successfully be converted, otherwise NULL

Since: 2.22


g_socket_address_get_family ()

GSocketFamily
g_socket_address_get_family (GSocketAddress *address);

Gets the socket family type of address .

Parameters

address

a GSocketAddress

 

Returns

the socket family type of address

Since: 2.22


g_socket_address_to_native ()

gboolean
g_socket_address_to_native (GSocketAddress *address,
                            gpointer dest,
                            gsize destlen,
                            GError **error);

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

If not enough space is available, a G_IO_ERROR_NO_SPACE error is returned. If the address type is not known on the system then a G_IO_ERROR_NOT_SUPPORTED error is returned.

Parameters

address

a GSocketAddress

 

dest

a pointer to a memory location that will contain the native struct sockaddr

 

destlen

the size of dest . Must be at least as large as g_socket_address_get_native_size()

 

error

GError for error reporting, or NULL to ignore

 

Returns

TRUE if dest was filled in, FALSE on error

Since: 2.22


g_socket_address_get_native_size ()

gssize
g_socket_address_get_native_size (GSocketAddress *address);

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

Parameters

address

a GSocketAddress

 

Returns

the size of the native struct sockaddr that address represents

Since: 2.22

Types and Values

GSocketAddress

typedef struct _GSocketAddress GSocketAddress;

A socket endpoint address, corresponding to struct sockaddr or one of its subtypes.


enum GSocketFamily

The protocol family of a GSocketAddress. (These values are identical to the system defines AF_INET, AF_INET6 and AF_UNIX, if available.)

Members

G_SOCKET_FAMILY_INVALID

no address family

 

G_SOCKET_FAMILY_UNIX

the UNIX domain family

 

G_SOCKET_FAMILY_IPV4

the IPv4 family

 

G_SOCKET_FAMILY_IPV6

the IPv6 family

 

Since: 2.22

Property Details

The “family” property

  “family”                   GSocketFamily

The family of the socket address.

Flags: Read

Default value: G_SOCKET_FAMILY_INVALID