GSocketAddress

GSocketAddress — Abstract base class representing endpoints for socket communication

Synopsis

                    GSocketAddress;
enum                GSocketFamily;
GSocketAddress *       g_socket_address_new_from_native (gpointer native,
                                                         gsize len);
GSocketFamily       g_socket_address_get_family         (GSocketAddress *address);
gboolean            g_socket_address_to_native          (GSocketAddress *address,
                                                         gpointer dest,
                                                         gsize destlen,
                                                         GError **error);
gssize              g_socket_address_get_native_size    (GSocketAddress *address);

Object Hierarchy

  GObject
   +----GSocketAddress
         +----GInetSocketAddress
         +----GUnixSocketAddress
  GEnum
   +----GSocketFamily

Implemented Interfaces

GSocketAddress implements GSocketConnectable.

Properties

  "family"                   GSocketFamily         : Read

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.

Details

GSocketAddress

typedef struct _GSocketAddress GSocketAddress;

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


enum GSocketFamily

typedef enum {
  G_SOCKET_FAMILY_INVALID,
#ifdef GLIB_SYSDEF_AF_UNIX
  G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX,
#endif
  G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET,
  G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6
} GSocketFamily;

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

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


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.

native :

a pointer to a struct sockaddr

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.

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 availible, 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.

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().

address :

a GSocketAddress

Returns :

the size of the native struct sockaddr that address represents

Since 2.22

Property Details

The "family" property

  "family"                   GSocketFamily         : Read

The family of the socket address.

Default value: G_SOCKET_FAMILY_INVALID