#ifndef GNOME_VFS_RESOLVE_H #define GNOME_VFS_RESOLVE_H #include #include #include G_BEGIN_DECLS typedef struct _GnomeVFSResolveHandle GnomeVFSResolveHandle; /* Opaque type thatjust keeps an ip address + address family type */ typedef struct _GnomeVFSAddress GnomeVFSAddress; GnomeVFSResult gnome_vfs_resolve (const char *host_name, GnomeVFSResolveHandle *resolve_handle); gboolean gnome_vfs_next_address (GnomeVFSResolveHandle *resolve_handle, GnomeVFSAddress **address); void gnome_vfs_resolve_free (GnomeVFSResolveHandle *resolve_handle); int gnome_vfs_address_get_family_type (GnomeVFSAddress *address); char * gnome_vfs_address_as_string (GnomeVFSAddress *address); guint32 gnome_vfs_address_get_ipv4 (GnomeVFSAddress *address);/* Returns zero if not ipv4, address is in network byte order */ struct sockaddr *gnome_vfs_address_get_sockaddr (GnomeVFSAddress *address, guint16 port, int *len); GnomeVFSAddress *gnome_vfs_address_new_from_string (const char *address); GnomeVFSAddress *gnome_vfs_address_new_from_ip (guint32 ipv4_address); /* Address is in network byte order */ GnomeVFSAddress *gnome_vfs_address_new_from_sockaddr (struct sockaddr *sa, int len); void gnome_vfs_address_free (GnomeVFSAddress *address); G_END_DECLS #endif