diff options
Diffstat (limited to 'ksocket/berkeley.h')
-rw-r--r-- | ksocket/berkeley.h | 41 |
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 |