25#define MY_IO_INCLUDED 1
61#define MY_FOPEN_BINARY _O_BINARY
63#define MY_FOPEN_BINARY 0
72#define _SH_DENYRWD 0x110
73#define _SH_DENYWRD 0x120
74#define _SH_DENYRDD 0x130
75#define _SH_DENYDEL 0x140
83#define FN_REFLEN_SE 4000
87#define FN_PARENTDIR ".."
90#define FN_LIBCHAR '\\'
91#define FN_LIBCHAR2 '/'
92#define FN_DIRSEP "/\\"
93#define FN_EXEEXT ".exe"
94#define FN_SOEXT ".dll"
95#define FN_ROOTDIR "\\"
97#define FN_NETWORK_DRIVES
105#define FN_SOEXT ".so"
106#define FN_ROOTDIR "/"
130#define MY_FILE_MIN 2048
146#define MY_NFILE (16384 + MY_FILE_MIN)
151#define OS_FILE_LIMIT UINT_MAX
166#define socket_errno WSAGetLastError()
167#define SOCKET_EINTR WSAEINTR
168#define SOCKET_EAGAIN WSAEINPROGRESS
169#define SOCKET_EWOULDBLOCK WSAEWOULDBLOCK
170#define SOCKET_EADDRINUSE WSAEADDRINUSE
171#define SOCKET_ETIMEDOUT WSAETIMEDOUT
172#define SOCKET_ECONNRESET WSAECONNRESET
173#define SOCKET_ENFILE ENFILE
174#define SOCKET_EMFILE EMFILE
176#define socket_errno errno
177#define closesocket(A) close(A)
178#define SOCKET_EINTR EINTR
179#define SOCKET_EAGAIN EAGAIN
180#define SOCKET_EWOULDBLOCK EWOULDBLOCK
181#define SOCKET_EADDRINUSE EADDRINUSE
182#define SOCKET_ETIMEDOUT ETIMEDOUT
183#define SOCKET_ECONNRESET ECONNRESET
184#define SOCKET_ENFILE ENFILE
185#define SOCKET_EMFILE EMFILE
189#define INVALID_SOCKET -1
193#define USER_READ (1L << 0)
194#define USER_WRITE (1L << 1)
195#define USER_EXECUTE (1L << 2)
196#define GROUP_READ (1L << 3)
197#define GROUP_WRITE (1L << 4)
198#define GROUP_EXECUTE (1L << 5)
199#define OTHERS_READ (1L << 6)
200#define OTHERS_WRITE (1L << 7)
201#define OTHERS_EXECUTE (1L << 8)
202#define USER_RWX USER_READ | USER_WRITE | USER_EXECUTE
203#define GROUP_RWX GROUP_READ | GROUP_WRITE | GROUP_EXECUTE
204#define OTHERS_RWX OTHERS_READ | OTHERS_WRITE | OTHERS_EXECUTE
constexpr const unsigned int DISK_BUFFER_SIZE
Definition: my_io.h:163
constexpr const unsigned int READ_RECORD_BUFFER
Definition: my_io.h:161
static int is_directory_separator(char c)
Definition: my_io.h:109
#define FN_LIBCHAR
Definition: my_io.h:99
constexpr const size_t IO_SIZE
Definition: my_io.h:158
Types to make file and socket I/O compatible.