xref: /netbsd-src/external/bsd/libfido2/dist/openbsd-compat/posix_win.h (revision ba9bdd8b2ff7fbfbaa959891964bd041b67e3bcb)
1*ba9bdd8bSchristos /*
2*ba9bdd8bSchristos  * Public domain
3*ba9bdd8bSchristos  *
4*ba9bdd8bSchristos  * BSD socket emulation code for Winsock2
5*ba9bdd8bSchristos  * Brent Cook <bcook@openbsd.org>
6*ba9bdd8bSchristos  */
7*ba9bdd8bSchristos 
8*ba9bdd8bSchristos #ifndef _COMPAT_POSIX_WIN_H
9*ba9bdd8bSchristos #define _COMPAT_POSIX_WIN_H
10*ba9bdd8bSchristos 
11*ba9bdd8bSchristos #ifdef _WIN32
12*ba9bdd8bSchristos 
13*ba9bdd8bSchristos #include <windows.h>
14*ba9bdd8bSchristos 
15*ba9bdd8bSchristos #include <errno.h>
16*ba9bdd8bSchristos #include <stdarg.h>
17*ba9bdd8bSchristos #include <stdint.h>
18*ba9bdd8bSchristos #include <stdio.h>
19*ba9bdd8bSchristos #include <stdlib.h>
20*ba9bdd8bSchristos #include <string.h>
21*ba9bdd8bSchristos 
22*ba9bdd8bSchristos #if _MSC_VER >= 1900
23*ba9bdd8bSchristos #include <../ucrt/fcntl.h>
24*ba9bdd8bSchristos #else
25*ba9bdd8bSchristos #include <../include/fcntl.h>
26*ba9bdd8bSchristos #endif
27*ba9bdd8bSchristos 
28*ba9bdd8bSchristos #include "types.h"
29*ba9bdd8bSchristos 
30*ba9bdd8bSchristos int posix_open(const char *path, ...);
31*ba9bdd8bSchristos 
32*ba9bdd8bSchristos int posix_close(int fd);
33*ba9bdd8bSchristos 
34*ba9bdd8bSchristos ssize_t posix_read(int fd, void *buf, size_t count);
35*ba9bdd8bSchristos 
36*ba9bdd8bSchristos ssize_t posix_write(int fd, const void *buf, size_t count);
37*ba9bdd8bSchristos 
38*ba9bdd8bSchristos #ifndef NO_REDEF_POSIX_FUNCTIONS
39*ba9bdd8bSchristos #define open(path, ...) posix_open(path, __VA_ARGS__)
40*ba9bdd8bSchristos #define close(fd) posix_close(fd)
41*ba9bdd8bSchristos #define read(fd, buf, count) posix_read(fd, buf, count)
42*ba9bdd8bSchristos #define write(fd, buf, count) posix_write(fd, buf, count)
43*ba9bdd8bSchristos #endif
44*ba9bdd8bSchristos 
45*ba9bdd8bSchristos #endif /* _WIN32 */
46*ba9bdd8bSchristos 
47*ba9bdd8bSchristos #endif /* !_COMPAT_POSIX_WIN_H */
48