diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
| commit | fc00c656c96528112d05cf0edf8631bd5eaea446 (patch) | |
| tree | a6e0e6c588191a8bd1c64afc3b7a258e3e66c236 /lib/libc/arpa | |
Add build system scaffolding and libc headers
Diffstat (limited to 'lib/libc/arpa')
| -rw-r--r-- | lib/libc/arpa/Kbuild | 8 | ||||
| -rw-r--r-- | lib/libc/arpa/htonl.c | 12 | ||||
| -rw-r--r-- | lib/libc/arpa/htons.c | 12 | ||||
| -rw-r--r-- | lib/libc/arpa/inet_addr.c | 8 | ||||
| -rw-r--r-- | lib/libc/arpa/inet_ntoa.c | 8 | ||||
| -rw-r--r-- | lib/libc/arpa/inet_ntop.c | 0 | ||||
| -rw-r--r-- | lib/libc/arpa/inet_pton.c | 10 | ||||
| -rw-r--r-- | lib/libc/arpa/ntohl.c | 12 | ||||
| -rw-r--r-- | lib/libc/arpa/ntohs.c | 12 |
9 files changed, 82 insertions, 0 deletions
diff --git a/lib/libc/arpa/Kbuild b/lib/libc/arpa/Kbuild new file mode 100644 index 00000000..3714bea3 --- /dev/null +++ b/lib/libc/arpa/Kbuild @@ -0,0 +1,8 @@ +obj-y += htonl.o +obj-y += htons.o +obj-y += inet_addr.o +obj-y += inet_ntoa.o +obj-y += inet_ntop.o +obj-y += inet_pton.o +obj-y += ntohl.o +obj-y += ntohs.o diff --git a/lib/libc/arpa/htonl.c b/lib/libc/arpa/htonl.c new file mode 100644 index 00000000..96f3ba4e --- /dev/null +++ b/lib/libc/arpa/htonl.c @@ -0,0 +1,12 @@ +#include <arpa/inet.h> +#include <byteswap.h> + +uint32_t htonl(uint32_t hostlong) +{ + union { + int i; + char c; + } u = { 1 }; + + return u.c ? bswap32(hostlong) : hostlong; +} diff --git a/lib/libc/arpa/htons.c b/lib/libc/arpa/htons.c new file mode 100644 index 00000000..7c8dcc51 --- /dev/null +++ b/lib/libc/arpa/htons.c @@ -0,0 +1,12 @@ +#include <arpa/inet.h> +#include <byteswap.h> + +uint16_t htons(uint16_t hostshort) +{ + union { + int i; + char c; + } u = { 1 }; + + return u.c ? bswap16(hostshort) : hostshort; +} diff --git a/lib/libc/arpa/inet_addr.c b/lib/libc/arpa/inet_addr.c new file mode 100644 index 00000000..5514e966 --- /dev/null +++ b/lib/libc/arpa/inet_addr.c @@ -0,0 +1,8 @@ +#include <arpa/inet.h> + +in_addr_t inet_addr(const char *cp) +{ + (void)cp; + // TODO + return 0; +} diff --git a/lib/libc/arpa/inet_ntoa.c b/lib/libc/arpa/inet_ntoa.c new file mode 100644 index 00000000..9d4f9b23 --- /dev/null +++ b/lib/libc/arpa/inet_ntoa.c @@ -0,0 +1,8 @@ +#include <arpa/inet.h> + +char *inet_ntoa(struct in_addr in) +{ + (void)in; + // TODO + return 0; +} diff --git a/lib/libc/arpa/inet_ntop.c b/lib/libc/arpa/inet_ntop.c new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/lib/libc/arpa/inet_ntop.c diff --git a/lib/libc/arpa/inet_pton.c b/lib/libc/arpa/inet_pton.c new file mode 100644 index 00000000..7cbb37da --- /dev/null +++ b/lib/libc/arpa/inet_pton.c @@ -0,0 +1,10 @@ +#include <arpa/inet.h> + +int inet_pton(int af, const char *restrict src, void *restrict dst) +{ + (void)af; + (void)src; + (void)dst; + // TODO + return 0; +} diff --git a/lib/libc/arpa/ntohl.c b/lib/libc/arpa/ntohl.c new file mode 100644 index 00000000..0adcbc5f --- /dev/null +++ b/lib/libc/arpa/ntohl.c @@ -0,0 +1,12 @@ +#include <arpa/inet.h> +#include <byteswap.h> + +uint32_t ntohl(uint32_t netlong) +{ + union { + int i; + char c; + } u = { 1 }; + + return u.c ? bswap32(netlong) : netlong; +} diff --git a/lib/libc/arpa/ntohs.c b/lib/libc/arpa/ntohs.c new file mode 100644 index 00000000..c0f868bc --- /dev/null +++ b/lib/libc/arpa/ntohs.c @@ -0,0 +1,12 @@ +#include <arpa/inet.h> +#include <byteswap.h> + +uint16_t ntohs(uint16_t netshort) +{ + union { + int i; + char c; + } u = { 1 }; + + return u.c ? bswap16(netshort) : netshort; +} |
