From: <tomas@tuxteam.de>
To: Ian Pilcher <arequipeno@gmail.com>
Cc: libc-help@sourceware.org
Subject: Re: inet_net_pton() alternative for IPv6
Date: Mon, 4 Jul 2022 20:23:52 +0200 [thread overview]
Message-ID: <YsMwOLQHDHYdqscY@tuxteam.de> (raw)
In-Reply-To: <t9va9v$jo0$1@ciao.gmane.io>
[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]
On Mon, Jul 04, 2022 at 01:07:59PM -0500, Ian Pilcher via Libc-help wrote:
> I am searching for the best way to parse both IPv4 and IPv6 CIDR-
> formatted addresses. I have found inet_net_pton(), but it only supports
> IPv4 (AF_INET) addresses.
I never tried it, but this is what my version [1] of the libc docs say:
-- Function: int inet_pton (int AF, const char *CP, void *BUF)
Preliminary: | MT-Safe locale | AS-Safe | AC-Safe | *Note POSIX
Safety Concepts::.
This function converts an Internet address (either IPv4 or IPv6)
from presentation (textual) to network (binary) format. AF should
be either ‘AF_INET’ or ‘AF_INET6’, as appropriate for the type of
address being converted. CP is a pointer to the input string, and
BUF is a pointer to a buffer for the result. It is the caller’s
responsibility to make sure the buffer is large enough.
-- Function: const char * inet_ntop (int AF, const void *CP, char *BUF,
socklen_t LEN)
Preliminary: | MT-Safe locale | AS-Safe | AC-Safe | *Note POSIX
Safety Concepts::.
This function converts an Internet address (either IPv4 or IPv6)
from network (binary) to presentation (textual) form. AF should be
either ‘AF_INET’ or ‘AF_INET6’, as appropriate. CP is a pointer to
the address to be converted. BUF should be a pointer to a buffer
to hold the result, and LEN is the length of this buffer. The
return value from the function will be this buffer address.
so they seem to cover your needs?
> Needless to say, this is pretty disappointing in 2022. Is there an
> alternative API that I should be using, or am I stuck writing my own?
C'm on. Be nice :)
Cheers
[1] This is ‘The GNU C Library Reference Manual’, for Version (Debian
glibc-doc-reference 2.31-1) of the GNU C Library.
--
t
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
next prev parent reply other threads:[~2022-07-04 18:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-04 18:07 Ian Pilcher
2022-07-04 18:23 ` tomas [this message]
2022-07-05 23:58 ` Ian Pilcher
2022-07-06 5:04 ` tomas
2022-07-04 18:34 ` Florian Weimer
2022-07-04 19:34 ` Ian Pilcher
2022-07-04 19:57 ` Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YsMwOLQHDHYdqscY@tuxteam.de \
--to=tomas@tuxteam.de \
--cc=arequipeno@gmail.com \
--cc=libc-help@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).