This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[inseparable changes from match from perl-5.003_97 to perl-5.003_97a]
[perl5.git] / win32 / win32io.h
CommitLineData
0a753a76
PP
1#ifndef WIN32IO_H
2#define WIN32IO_H
3
4typedef struct {
68dc0745
PP
5int signature_begin;
6int * (*pfnerrno)(void);
0a753a76
PP
7FILE* (*pfnstdin)(void);
8FILE* (*pfnstdout)(void);
9FILE* (*pfnstderr)(void);
68dc0745
PP
10int (*pfnferror)(FILE *fp);
11int (*pfnfeof)(FILE *fp);
0a753a76 12char* (*pfnstrerror)(int e);
68dc0745
PP
13int (*pfnvfprintf)(FILE *pf, const char *format, va_list arg);
14int (*pfnvprintf)(const char *format, va_list arg);
0a753a76
PP
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);
68dc0745
PP
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);
0a753a76 26void (*pfnclearerr)(FILE *pf);
68dc0745 27int (*pfnfflush)(FILE *pf);
0a753a76 28long (*pfnftell)(FILE *pf);
68dc0745
PP
29int (*pfnfseek)(FILE *pf,long offset,int origin);
30int (*pfnfgetpos)(FILE *pf,fpos_t *p);
31int (*pfnfsetpos)(FILE *pf,const fpos_t *p);
0a753a76
PP
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);
68dc0745 37int (*pfnpipe)( int *phandles, unsigned int psize, int textmode );
0a753a76 38FILE* (*pfnpopen)( const char *command, const char *mode );
68dc0745
PP
39int (*pfnpclose)( FILE *pf);
40int (*pfnsetmode)( int fd, int mode);
0a753a76
PP
41long (*pfnlseek)( int fd, long offset, int origin);
42long (*pfntell)( int fd);
68dc0745
PP
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);
0a753a76 52long (*pfn_get_osfhandle)(int fd);
68dc0745 53int (*pfnspawnvpe)(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
5aabfad6
PP
54int (*pfnmkdir)(const char *path);
55int (*pfnrmdir)(const char *path);
56int (*pfnchdir)(const char *path);
0a753a76
PP
57int signature_end;
58} WIN32_IOSUBSYSTEM;
59
60typedef WIN32_IOSUBSYSTEM *PWIN32_IOSUBSYSTEM;
61
68dc0745 62#endif /* WIN32IO_H */