source: trunk/third/perl/win32/win32io.h @ 10724

Revision 10724, 3.0 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10723, which included commits to RCS files with non-trunk default branches.
Line 
1#ifndef WIN32IO_H
2#define WIN32IO_H
3
4#ifdef __BORLANDC__
5#include <stdarg.h>
6#endif
7
8typedef struct {
9int     signature_begin;
10int *   (*pfnerrno)(void);
11char ***(*pfnenviron)(void);
12FILE*   (*pfnstdin)(void);
13FILE*   (*pfnstdout)(void);
14FILE*   (*pfnstderr)(void);
15int     (*pfnferror)(FILE *fp);
16int     (*pfnfeof)(FILE *fp);
17char*   (*pfnstrerror)(int e);
18int     (*pfnvfprintf)(FILE *pf, const char *format, va_list arg);
19int     (*pfnvprintf)(const char *format, va_list arg);
20size_t  (*pfnfread)(void *buf, size_t size, size_t count, FILE *pf);
21size_t  (*pfnfwrite)(const void *buf, size_t size, size_t count, FILE *pf);
22FILE*   (*pfnfopen)(const char *path, const char *mode);
23FILE*   (*pfnfdopen)(int fh, const char *mode);
24FILE*   (*pfnfreopen)(const char *path, const char *mode, FILE *pf);
25int     (*pfnfclose)(FILE *pf);
26int     (*pfnfputs)(const char *s,FILE *pf);
27int     (*pfnfputc)(int c,FILE *pf);
28int     (*pfnungetc)(int c,FILE *pf);
29int     (*pfngetc)(FILE *pf);
30int     (*pfnfileno)(FILE *pf);
31void    (*pfnclearerr)(FILE *pf);
32int     (*pfnfflush)(FILE *pf);
33long    (*pfnftell)(FILE *pf);
34int     (*pfnfseek)(FILE *pf,long offset,int origin);
35int     (*pfnfgetpos)(FILE *pf,fpos_t *p);
36int     (*pfnfsetpos)(FILE *pf,const fpos_t *p);
37void    (*pfnrewind)(FILE *pf);
38FILE*   (*pfntmpfile)(void);
39void    (*pfnabort)(void);
40int     (*pfnfstat)(int fd,struct stat *bufptr);
41int     (*pfnstat)(const char *name,struct stat *bufptr);
42int     (*pfnpipe)( int *phandles, unsigned int psize, int textmode );
43FILE*   (*pfnpopen)( const char *command, const char *mode );
44int     (*pfnpclose)( FILE *pf);
45int     (*pfnsetmode)( int fd, int mode);
46long    (*pfnlseek)( int fd, long offset, int origin);
47long    (*pfntell)( int fd);
48int     (*pfndup)( int fd);
49int     (*pfndup2)(int h1, int h2);
50int     (*pfnopen)(const char *path, int oflag,...);
51int     (*pfnclose)(int fd);
52int     (*pfneof)(int fd);
53int     (*pfnread)(int fd, void *buf, unsigned int cnt);
54int     (*pfnwrite)(int fd, const void *buf, unsigned int cnt);
55int     (*pfnopenmode)(int mode);
56int     (*pfn_open_osfhandle)(long handle, int flags);
57long    (*pfn_get_osfhandle)(int fd);
58int     (*pfnspawnvp)(int mode, const char *cmdname, const char *const *argv);
59int     (*pfnmkdir)(const char *path);
60int     (*pfnrmdir)(const char *path);
61int     (*pfnchdir)(const char *path);
62int     (*pfnflock)(int fd, int oper);
63int     (*pfnexecvp)(const char *cmdname, const char *const *argv);
64void    (*pfnperror)(const char *str);
65void    (*pfnsetbuf)(FILE *pf, char *buf);
66int     (*pfnsetvbuf)(FILE *pf, char *buf, int type, size_t size);
67int     (*pfnflushall)(void);
68int     (*pfnfcloseall)(void);
69char*   (*pfnfgets)(char *s, int n, FILE *pf);
70char*   (*pfngets)(char *s);
71int     (*pfnfgetc)(FILE *pf);
72int     (*pfnputc)(int c, FILE *pf);
73int     (*pfnputs)(const char *s);
74int     (*pfngetchar)(void);
75int     (*pfnputchar)(int c);
76int     (*pfnfscanf)(FILE *pf, const char *format, ...);
77int     (*pfnscanf)(const char *format, ...);
78void*   (*pfnmalloc)(size_t size);
79void*   (*pfncalloc)(size_t numitems, size_t size);
80void*   (*pfnrealloc)(void *block, size_t size);
81void    (*pfnfree)(void *block);
82int     signature_end;
83} WIN32_IOSUBSYSTEM;
84
85typedef WIN32_IOSUBSYSTEM       *PWIN32_IOSUBSYSTEM;
86
87#endif /* WIN32IO_H */
Note: See TracBrowser for help on using the repository browser.