From bfef0924f58eab930bdd826ac0132786abc32220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 29 Jan 2023 16:17:51 +0100 Subject: New upstream version 4.10 --- doc/socket_functions.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'doc/socket_functions.rst') diff --git a/doc/socket_functions.rst b/doc/socket_functions.rst index fe2b69d..ead0f08 100644 --- a/doc/socket_functions.rst +++ b/doc/socket_functions.rst @@ -7,6 +7,8 @@ Socket functions #include int HX_socket_from_env(const struct addrinfo *ai, const char *intf); + int HX_sockaddr_is_local(const struct sockaddr *, socklen_t, unsigned int flags); + int HX_ipaddr_is_local(const char *, unsigned int flags); ``HX_socket_from_env`` The function looks up the current process's file descriptors for a @@ -14,3 +16,19 @@ Socket functions (optionally) intf if the latter is not NULL``. Upon success, the fd number is returned, or -1 if no file descriptor matched. No errors are signalled. + +``HX_sockaddr_is_local`` + Attempts to determine if the given socket address refers to a local + address. This function may be helpful in determining whether a process + should spend any time (or not) on compressing data before sending to a + peer. The definition of "local" is generally dependent upon the network + APIs. The ``flags`` parameter can contain ``AI_V4MAPPED`` if + IPv4-mapped IPv6 addresses should be recognized. The function returns + >0 if the address is considered local, 0 if not, and any other + negative value for a system error that makes the result + indeterminate. + +``HX_ipaddr_is_local`` + Takes a text representation of an IPv6/IPv4 address and, after + transformation, calls ``HX_sockaddr_is_local``. ``flags`` and + return value behave the same as that. -- cgit v1.2.3