[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] libc: inet_addr
+ Ein weiterer Wrapper neben inet_aton um ip_to_string.
Signed-off-by: Max Reitz <max@xxxxxxxxxx>
---
src/modules/include/arpa/inet.h | 7 +++++++
src/modules/include/netinet/in.h | 6 ++++++
src/modules/lib/posix/net.c | 10 ++++++++++
3 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/modules/include/arpa/inet.h b/src/modules/include/arpa/inet.h
index 4689df6..7d1741a 100644
--- a/src/modules/include/arpa/inet.h
+++ b/src/modules/include/arpa/inet.h
@@ -50,6 +50,13 @@ unsigned short int ntohs(unsigned short int netshort);
int inet_aton(const char* ip_string, struct in_addr* ip);
/**
+ * Tut im Grunde das Gleiche wie inet_aton.
+ *
+ * @return INADDR_NONE (0) im Fehlerfall; Adresswert bei Erfolg
+ */
+in_addr_t inet_addr(const char* ip_string);
+
+/**
* Wandelt eine 32-Bit-Adresse in einen String um. Der String ist in einem
* statischen Puffer und wird beim naechsten Aufruf ueberschrieben.
*/
diff --git a/src/modules/include/netinet/in.h b/src/modules/include/netinet/in.h
index 8e95fce..8c8cbf9 100644
--- a/src/modules/include/netinet/in.h
+++ b/src/modules/include/netinet/in.h
@@ -35,6 +35,12 @@
/// Laenge einer IP-Adresse als String
#define INET_ADDRSTRLEN 16
+/// Ungueltige IP-Adresse
+#define INADDR_NONE 0x00000000
+
+/// Adresse, die fuer alle lokalen IP-Adressen steht
+#define INADDR_ANY 0x00000000
+
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
diff --git a/src/modules/lib/posix/net.c b/src/modules/lib/posix/net.c
index f470a63..b25b177 100644
--- a/src/modules/lib/posix/net.c
+++ b/src/modules/lib/posix/net.c
@@ -105,6 +105,16 @@ int inet_aton(const char* ip_string, struct in_addr* ip)
}
/**
+ * Tut im Grunde das Gleiche wie inet_aton.
+ *
+ * @return INADDR_NONE (0) im Fehlerfall; Adresswert bei Erfolg
+ */
+in_addr_t inet_addr(const char* ip_string)
+{
+ return string_to_ip((char*) ip_string);
+}
+
+/**
* Wandelt eine 32-Bit-Adresse in einen String um. Der String ist in einem
* statischen Puffer und wird beim naechsten Aufruf ueberschrieben.
*/
--
1.7.8.1