Commit | Line | Data |
0a753a76 |
1 | #ifndef WIN32IO_H |
2 | #define WIN32IO_H |
3 | |
3e3baf6d |
4 | #ifdef __BORLANDC__ |
5 | #include <stdarg.h> |
d55594ae |
6 | #define MSconst |
7 | #else |
8 | #define MSconst const |
3e3baf6d |
9 | #endif |
10 | |
0a753a76 |
11 | typedef struct { |
68dc0745 |
12 | int signature_begin; |
13 | int * (*pfnerrno)(void); |
dcb2879a |
14 | char ***(*pfnenviron)(void); |
0a753a76 |
15 | FILE* (*pfnstdin)(void); |
16 | FILE* (*pfnstdout)(void); |
17 | FILE* (*pfnstderr)(void); |
68dc0745 |
18 | int (*pfnferror)(FILE *fp); |
19 | int (*pfnfeof)(FILE *fp); |
0a753a76 |
20 | char* (*pfnstrerror)(int e); |
68dc0745 |
21 | int (*pfnvfprintf)(FILE *pf, const char *format, va_list arg); |
22 | int (*pfnvprintf)(const char *format, va_list arg); |
0a753a76 |
23 | size_t (*pfnfread)(void *buf, size_t size, size_t count, FILE *pf); |
24 | size_t (*pfnfwrite)(const void *buf, size_t size, size_t count, FILE *pf); |
25 | FILE* (*pfnfopen)(const char *path, const char *mode); |
d55594ae |
26 | FILE* (*pfnfdopen)(int fh, MSconst char *mode); |
0a753a76 |
27 | FILE* (*pfnfreopen)(const char *path, const char *mode, FILE *pf); |
68dc0745 |
28 | int (*pfnfclose)(FILE *pf); |
29 | int (*pfnfputs)(const char *s,FILE *pf); |
30 | int (*pfnfputc)(int c,FILE *pf); |
31 | int (*pfnungetc)(int c,FILE *pf); |
32 | int (*pfngetc)(FILE *pf); |
33 | int (*pfnfileno)(FILE *pf); |
0a753a76 |
34 | void (*pfnclearerr)(FILE *pf); |
68dc0745 |
35 | int (*pfnfflush)(FILE *pf); |
0a753a76 |
36 | long (*pfnftell)(FILE *pf); |
68dc0745 |
37 | int (*pfnfseek)(FILE *pf,long offset,int origin); |
38 | int (*pfnfgetpos)(FILE *pf,fpos_t *p); |
39 | int (*pfnfsetpos)(FILE *pf,const fpos_t *p); |
0a753a76 |
40 | void (*pfnrewind)(FILE *pf); |
41 | FILE* (*pfntmpfile)(void); |
42 | void (*pfnabort)(void); |
43 | int (*pfnfstat)(int fd,struct stat *bufptr); |
44 | int (*pfnstat)(const char *name,struct stat *bufptr); |
68dc0745 |
45 | int (*pfnpipe)( int *phandles, unsigned int psize, int textmode ); |
0a753a76 |
46 | FILE* (*pfnpopen)( const char *command, const char *mode ); |
68dc0745 |
47 | int (*pfnpclose)( FILE *pf); |
48 | int (*pfnsetmode)( int fd, int mode); |
0a753a76 |
49 | long (*pfnlseek)( int fd, long offset, int origin); |
50 | long (*pfntell)( int fd); |
68dc0745 |
51 | int (*pfndup)( int fd); |
52 | int (*pfndup2)(int h1, int h2); |
53 | int (*pfnopen)(const char *path, int oflag,...); |
54 | int (*pfnclose)(int fd); |
55 | int (*pfneof)(int fd); |
56 | int (*pfnread)(int fd, void *buf, unsigned int cnt); |
57 | int (*pfnwrite)(int fd, const void *buf, unsigned int cnt); |
58 | int (*pfnopenmode)(int mode); |
59 | int (*pfn_open_osfhandle)(long handle, int flags); |
0a753a76 |
60 | long (*pfn_get_osfhandle)(int fd); |
d55594ae |
61 | int (*pfnspawnvp)(int mode, const char *cmdname, MSconst char * const *argv); |
5aabfad6 |
62 | int (*pfnmkdir)(const char *path); |
63 | int (*pfnrmdir)(const char *path); |
64 | int (*pfnchdir)(const char *path); |
c90c0ff4 |
65 | int (*pfnflock)(int fd, int oper); |
d55594ae |
66 | int (*pfnexecvp)(const char *cmdname, MSconst char *const *argv); |
84902520 |
67 | void (*pfnperror)(const char *str); |
68 | void (*pfnsetbuf)(FILE *pf, char *buf); |
69 | int (*pfnsetvbuf)(FILE *pf, char *buf, int type, size_t size); |
70 | int (*pfnflushall)(void); |
71 | int (*pfnfcloseall)(void); |
72 | char* (*pfnfgets)(char *s, int n, FILE *pf); |
73 | char* (*pfngets)(char *s); |
74 | int (*pfnfgetc)(FILE *pf); |
75 | int (*pfnputc)(int c, FILE *pf); |
76 | int (*pfnputs)(const char *s); |
77 | int (*pfngetchar)(void); |
78 | int (*pfnputchar)(int c); |
79 | int (*pfnfscanf)(FILE *pf, const char *format, ...); |
80 | int (*pfnscanf)(const char *format, ...); |
81 | void* (*pfnmalloc)(size_t size); |
82 | void* (*pfncalloc)(size_t numitems, size_t size); |
83 | void* (*pfnrealloc)(void *block, size_t size); |
84 | void (*pfnfree)(void *block); |
6890e559 |
85 | int signature_end; |
0a753a76 |
86 | } WIN32_IOSUBSYSTEM; |
87 | |
88 | typedef WIN32_IOSUBSYSTEM *PWIN32_IOSUBSYSTEM; |
89 | |
68dc0745 |
90 | #endif /* WIN32IO_H */ |
d55594ae |
91 | |