| GIO Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | ||||
#include <gio/gio.h>
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);
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.
typedef struct _GSocketAddress GSocketAddress;
A socket endpoint address, corresponding to struct sockaddr or one of its subtypes.
typedef enum {
G_SOCKET_FAMILY_INVALID,
G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX,
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.)
| no address family | |
| the UNIX domain family | |
| the IPv4 family | |
| the IPv6 family |
Since 2.22
GSocketAddress * g_socket_address_new_from_native (gpointer native,gsize len);
Creates a GSocketAddress subclass corresponding to the native
struct sockaddr native.
|
a pointer to a struct sockaddr |
|
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
GSocketFamily g_socket_address_get_family (GSocketAddress *address);
Gets the socket family type of address.
|
a GSocketAddress |
Returns : |
the socket family type of address. |
Since 2.22
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.
|
a GSocketAddress |
|
a pointer to a memory location that will contain the native struct sockaddr. |
|
the size of dest. Must be at least as large as
g_socket_address_get_native_size(). |
|
GError for error reporting, or NULL to ignore. |
Returns : |
TRUE if dest was filled in, FALSE on error |
Since 2.22
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().
|
a GSocketAddress |
Returns : |
the size of the native struct sockaddr that
address represents |
Since 2.22
"family" property"family" GSocketFamily : Read
The family of the socket address.
Default value: G_SOCKET_FAMILY_INVALID