aboutsummaryrefslogtreecommitdiff
path: root/ksocket/berkeley.h
diff options
context:
space:
mode:
Diffstat (limited to 'ksocket/berkeley.h')
-rw-r--r--ksocket/berkeley.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/ksocket/berkeley.h b/ksocket/berkeley.h
new file mode 100644
index 0000000..b879d3c
--- /dev/null
+++ b/ksocket/berkeley.h
@@ -0,0 +1,41 @@
+#pragma once
+#include <ntddk.h>
+#include <stdint.h>
+#include <ksocket/wsk.h>
+
+#define socket socket_connection
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef int socklen_t;
+typedef intptr_t ssize_t;
+
+uint32_t htonl(uint32_t hostlong);
+uint16_t htons(uint16_t hostshort);
+uint32_t ntohl(uint32_t netlong);
+uint16_t ntohs(uint16_t netshort);
+
+int getaddrinfo(const char *node, const char *service,
+ const struct addrinfo *hints, struct addrinfo **res);
+void freeaddrinfo(struct addrinfo *res);
+
+int socket_connection(int domain, int type, int protocol);
+int socket_listen(int domain, int type, int protocol);
+int socket_datagram(int domain, int type, int protocol);
+int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
+int listen(int sockfd, int backlog);
+int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
+int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
+int send(int sockfd, const void *buf, size_t len, int flags);
+int sendto(int sockfd, const void *buf, size_t len, int flags,
+ const struct sockaddr *dest_addr, socklen_t addrlen);
+int recv(int sockfd, void *buf, size_t len, int flags);
+int recvfrom(int sockfd, void *buf, size_t len, int flags,
+ struct sockaddr *src_addr, socklen_t *addrlen);
+int closesocket(int sockfd);
+
+#ifdef __cplusplus
+}
+#endif