summaryrefslogtreecommitdiff
path: root/src/ip4.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ip4.c')
-rw-r--r--src/ip4.c116
1 files changed, 55 insertions, 61 deletions
diff --git a/src/ip4.c b/src/ip4.c
index 6e522aa..9f80073 100644
--- a/src/ip4.c
+++ b/src/ip4.c
@@ -5,19 +5,18 @@
/**
@file ip4.c
- @author djb, fefe, feh, kp
- @source ucspi-tcp, ucspi-tcp6
+ @authors djb, fefe, feh, kp
+ @ref ucspi-tcp, ucspi-tcp6
@brief handling of IPv4 addresses
*/
/**
- @brief ip4_fmt
- converts IPv4 address to dotted decimal string format
- @param input: IPv4 char array
- output: IPv4 address string
- @return int length of address (ok > 0)
- */
-
+ * @brief ip4_fmt
+ * converts IPv4 address to dotted decimal string format
+ * @param input: IPv4 char array
+ * output: IPv4 address string
+ * @return int length of address (ok > 0)
+ */
unsigned int ip4_fmt(char *s, char ip[4])
{
unsigned int len;
@@ -25,25 +24,24 @@ unsigned int ip4_fmt(char *s, char ip[4])
len = 0;
// clang-format off
- i = fmt_ulong(s,(unsigned long) (unsigned char) ip[0]); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)(unsigned char)ip[0]); len += i; if (s) s += i;
if (s) { *s++ = '.'; } ++len;
- i = fmt_ulong(s,(unsigned long) (unsigned char) ip[1]); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)(unsigned char)ip[1]); len += i; if (s) s += i;
if (s) { *s++ = '.'; } ++len;
- i = fmt_ulong(s,(unsigned long) (unsigned char) ip[2]); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)(unsigned char)ip[2]); len += i; if (s) s += i;
if (s) { *s++ = '.'; } ++len;
- i = fmt_ulong(s,(unsigned long) (unsigned char) ip[3]); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)(unsigned char)ip[3]); len += i; if (s) s += i;
// clang-format on
return len;
}
/**
- @brief ia4_fmt
- converts IPv4 address into DNS inverse nibble format
- @param input: IPv4 char array
- output: IPv4 address string
- @return int length of address (ok > 0)
- */
-
+ * @brief ia4_fmt
+ * converts IPv4 address into DNS inverse nibble format
+ * @param input: IPv4 char array
+ * output: IPv4 address string
+ * @return int length of address (ok > 0)
+ */
unsigned int ia4_fmt(char *s, char ip[4])
{
unsigned int i;
@@ -51,26 +49,25 @@ unsigned int ia4_fmt(char *s, char ip[4])
len = 0;
// clang-format off
- i = fmt_ulong(s,(unsigned long) ip[3]); len += i; if (s) s += i;
- i = fmt_str(s,"."); len += i; if (s) s += i;
- i = fmt_ulong(s,(unsigned long) ip[2]); len += i; if (s) s += i;
- i = fmt_str(s,"."); len += i; if (s) s += i;
- i = fmt_ulong(s,(unsigned long) ip[1]); len += i; if (s) s += i;
- i = fmt_str(s,"."); len += i; if (s) s += i;
- i = fmt_ulong(s,(unsigned long) ip[0]); len += i; if (s) s += i;
- i = fmt_str(s,".in-addr.arpa."); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)ip[3]); len += i; if (s) s += i;
+ i = fmt_str(s, "."); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)ip[2]); len += i; if (s) s += i;
+ i = fmt_str(s, "."); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)ip[1]); len += i; if (s) s += i;
+ i = fmt_str(s, "."); len += i; if (s) s += i;
+ i = fmt_ulong(s, (unsigned long)ip[0]); len += i; if (s) s += i;
+ i = fmt_str(s, ".in-addr.arpa."); len += i; if (s) s += i;
// clang-format on
return len;
}
/**
- @brief ip4_scan
- parse IPv4 address string and convert to IP address array
- @param input: IPv4 address string
- output: IPv4 char array
- @return int length of ip_address (ok > 0)
- */
-
+ * @brief ip4_scan
+ * parse IPv4 address string and convert to IP address array
+ * @param input: IPv4 address string
+ * output: IPv4 char array
+ * @return int length of ip_address (ok > 0)
+ */
unsigned int ip4_scan(const char *s, char ip[4])
{
unsigned int i;
@@ -80,25 +77,24 @@ unsigned int ip4_scan(const char *s, char ip[4])
byte_zero(ip, 4);
len = 0;
// clang-format off
- i = scan_ulong((char *)s,&u); if (!i) { return 0; } ip[0] = u; s += i; len += i;
+ i = scan_ulong((char *)s, &u); if (!i) { return 0; } ip[0] = u; s += i; len += i;
if (*s != '.') { return 0; } ++s; ++len;
- i = scan_ulong((char *)s,&u); if (!i) { return 0; } ip[1] = u; s += i; len += i;
+ i = scan_ulong((char *)s, &u); if (!i) { return 0; } ip[1] = u; s += i; len += i;
if (*s != '.') { return 0; } ++s; ++len;
- i = scan_ulong((char *)s,&u); if (!i) { return 0; } ip[2] = u; s += i; len += i;
+ i = scan_ulong((char *)s, &u); if (!i) { return 0; } ip[2] = u; s += i; len += i;
if (*s != '.') { return 0; } ++s; ++len;
- i = scan_ulong((char *)s,&u); if (!i) { return 0; } ip[3] = u; s += i; len += i;
+ i = scan_ulong((char *)s, &u); if (!i) { return 0; } ip[3] = u; s += i; len += i;
// clang-format on
return len;
}
/**
- @brief ip4_scanbracket
- parse IPv4 address string enclosed in brackets and convert to IP address array
- @param input: IPv4 char array
- output: IPv4 char array
- @return int length of ip_address (ok > 0)
- */
-
+ * @brief ip4_scanbracket
+ * parse IPv4 address string enclosed in brackets and convert to IP address array
+ * @param input: IPv4 char array
+ * output: IPv4 char array
+ * @return int length of ip_address (ok > 0)
+ */
unsigned int ip4_scanbracket(const char *s, char ip[4])
{
unsigned int len;
@@ -111,14 +107,13 @@ unsigned int ip4_scanbracket(const char *s, char ip[4])
}
/**
- @brief ip4_cidr
- parse IPv4 address string
- concatinated with the prefix length: 192.168.1/24
- @param input: IPv6 char array
- output: IPv6 char array, long plen
- @return int length of ip6_address/ip
- */
-
+ * @brief ip4_cidr
+ * parse IPv4 address string
+ * concatinated with the prefix length: 192.168.1/24
+ * @param input: IPv6 char array
+ * output: IPv6 char array, long plen
+ * @return int length of ip6_address/ip
+ */
unsigned int ip4_cidr(char *s, char ip[4], unsigned long *plen)
{
unsigned int j = 0;
@@ -133,13 +128,12 @@ unsigned int ip4_cidr(char *s, char ip[4], unsigned long *plen)
}
/**
- @brief ip4_bytestring
- parse IPv4 address and represent as char string with length prefix
- @param input: IPv4 char array, prefix length
- output: pointer to stralloc bytestring
- @return n: number of bytes, if ok; -1: memory shortage; -2: input error
- */
-
+ * @brief ip4_bytestring
+ * parse IPv4 address and represent as char string with length prefix
+ * @param input: IPv4 char array, prefix length
+ * output: pointer to stralloc bytestring
+ * @return n: number of bytes, if ok; -1: memory shortage; -2: input error
+ */
unsigned int ip4_bytestring(stralloc *ipstring, char ip[4], int prefix)
{
int i, j, n = 0;