Re: Inline PI function
[p5sagit/p5-mst-13.2.git] / win32 / win32io.h
CommitLineData
0a753a76 1#ifndef WIN32IO_H
2#define WIN32IO_H
3
4typedef struct {
5int signature_begin;
6int * (*pfnerrno)(void);
7FILE* (*pfnstdin)(void);
8FILE* (*pfnstdout)(void);
9FILE* (*pfnstderr)(void);
10int (*pfnferror)(FILE *fp);
11int (*pfnfeof)(FILE *fp);
12char* (*pfnstrerror)(int e);
13int (*pfnvfprintf)(FILE *pf, const char *format, va_list arg);
14int (*pfnvprintf)(const char *format, va_list arg);
15size_t (*pfnfread)(void *buf, size_t size, size_t count, FILE *pf);
16size_t (*pfnfwrite)(const void *buf, size_t size, size_t count, FILE *pf);
17FILE* (*pfnfopen)(const char *path, const char *mode);
18FILE* (*pfnfdopen)(int fh, const char *mode);
19FILE* (*pfnfreopen)(const char *path, const char *mode, FILE *pf);
20int (*pfnfclose)(FILE *pf);
21int (*pfnfputs)(const char *s,FILE *pf);
22int (*pfnfputc)(int c,FILE *pf);
23int (*pfnungetc)(int c,FILE *pf);
24int (*pfngetc)(FILE *pf);
25int (*pfnfileno)(FILE *pf);
26void (*pfnclearerr)(FILE *pf);
27int (*pfnfflush)(FILE *pf);
28long (*pfnftell)(FILE *pf);
29int (*pfnfseek)(FILE *pf,long offset,int origin);
30int (*pfnfgetpos)(FILE *pf,fpos_t *p);
31int (*pfnfsetpos)(FILE *pf,const fpos_t *p);
32void (*pfnrewind)(FILE *pf);
33FILE* (*pfntmpfile)(void);
34void (*pfnabort)(void);
35int (*pfnfstat)(int fd,struct stat *bufptr);
36int (*pfnstat)(const char *name,struct stat *bufptr);
37int (*pfnpipe)( int *phandles, unsigned int psize, int textmode );
38FILE* (*pfnpopen)( const char *command, const char *mode );
39int (*pfnpclose)( FILE *pf);
40int (*pfnsetmode)( int fd, int mode);
41long (*pfnlseek)( int fd, long offset, int origin);
42long (*pfntell)( int fd);
43int (*pfndup)( int fd);
44int (*pfndup2)(int h1, int h2);
45int (*pfnopen)(const char *path, int oflag,...);
46int (*pfnclose)(int fd);
47int (*pfneof)(int fd);
48int (*pfnread)(int fd, void *buf, unsigned int cnt);
49int (*pfnwrite)(int fd, const void *buf, unsigned int cnt);
50int (*pfnopenmode)(int mode);
51int (*pfn_open_osfhandle)(long handle, int flags);
52long (*pfn_get_osfhandle)(int fd);
53int (*pfnspawnvpe)(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
54int signature_end;
55} WIN32_IOSUBSYSTEM;
56
57typedef WIN32_IOSUBSYSTEM *PWIN32_IOSUBSYSTEM;
58
59#endif // WIN32IO_H