21#ifndef G_NET_ADDRESSLOCAL_H
22#define G_NET_ADDRESSLOCAL_H
35struct sockaddr_un {} ;
57 using sockaddr_type = sockaddr_un ;
61 AddressLocal(
const std::string & ,
const std::string & ) ;
64 AddressLocal(
const sockaddr * addr , socklen_t len ,
bool ipv6_scope_id_fixup =
false ) ;
66 static int domain() noexcept ;
67 static unsigned short af() noexcept ;
68 const sockaddr * address()
const ;
69 sockaddr * address() ;
70 socklen_t length()
const noexcept ;
71 unsigned long scopeId(
unsigned long default_ = 0UL )
const ;
72 unsigned int port()
const ;
73 void setPort(
unsigned int port ) ;
74 bool setZone(
const std::string & ipv6_zone_name_or_scope_id ) ;
75 void setScopeId(
unsigned long ipv6_scope_id ) ;
76 static bool validString(
const std::string & , std::string * =
nullptr ) ;
77 static bool validStrings(
const std::string & ,
const std::string & , std::string * =
nullptr ) ;
78 static bool validPort(
unsigned int port ) ;
79 static bool validData(
const sockaddr * addr , socklen_t len ) ;
81 bool same(
const AddressLocal & other ,
bool ipv6_compare_with_scope =
false )
const ;
83 bool isLoopback()
const ;
84 bool isLocal( std::string & )
const ;
85 bool isLinkLocal()
const ;
86 bool isUniqueLocal()
const ;
88 unsigned int bits()
const ;
89 std::string displayString(
bool ipv6_with_scope =
false )
const ;
90 std::string hostPartString(
bool raw =
false )
const ;
91 std::string queryString()
const ;
93 static bool format(
const std::string & ) ;
97 std::string path()
const ;
100 sockaddr_type m_local ;
A 'sockaddr' wrapper class for local-domain addresses.
std::vector< std::string > StringArray
A std::vector of std::strings.