Add missing win32_closesocket() and export it (extension writers' complaint).
[p5sagit/p5-mst-13.2.git] / win32 / win32io.h
index f73eea1..0e849cf 100644 (file)
@@ -1,9 +1,17 @@
 #ifndef WIN32IO_H
 #define WIN32IO_H
 
+#ifdef __BORLANDC__
+#include <stdarg.h>
+#define MSconst
+#else
+#define MSconst const
+#endif
+
 typedef struct {
 int    signature_begin;
 int *  (*pfnerrno)(void);
+char ***(*pfnenviron)(void);
 FILE*  (*pfnstdin)(void);
 FILE*  (*pfnstdout)(void);
 FILE*  (*pfnstderr)(void);
@@ -15,7 +23,7 @@ int   (*pfnvprintf)(const char *format, va_list arg);
 size_t (*pfnfread)(void *buf, size_t size, size_t count, FILE *pf);
 size_t (*pfnfwrite)(const void *buf, size_t size, size_t count, FILE *pf);
 FILE*  (*pfnfopen)(const char *path, const char *mode);
-FILE*  (*pfnfdopen)(int fh, const char *mode);
+FILE*  (*pfnfdopen)(int fh,  MSconst char *mode); 
 FILE*  (*pfnfreopen)(const char *path, const char *mode, FILE *pf);
 int    (*pfnfclose)(FILE *pf);
 int    (*pfnfputs)(const char *s,FILE *pf);
@@ -50,13 +58,34 @@ int (*pfnwrite)(int fd, const void *buf, unsigned int cnt);
 int    (*pfnopenmode)(int mode);
 int    (*pfn_open_osfhandle)(long handle, int flags);
 long   (*pfn_get_osfhandle)(int fd);
-int    (*pfnspawnvpe)(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
+int    (*pfnspawnvp)(int mode, const char *cmdname, MSconst char * const *argv);
 int    (*pfnmkdir)(const char *path);
 int    (*pfnrmdir)(const char *path);
 int    (*pfnchdir)(const char *path);
-int            signature_end;
+int    (*pfnflock)(int fd, int oper);
+int    (*pfnexecvp)(const char *cmdname, MSconst char *const *argv);
+void   (*pfnperror)(const char *str);
+void   (*pfnsetbuf)(FILE *pf, char *buf);
+int    (*pfnsetvbuf)(FILE *pf, char *buf, int type, size_t size);
+int    (*pfnflushall)(void);
+int    (*pfnfcloseall)(void);
+char*  (*pfnfgets)(char *s, int n, FILE *pf);
+char*  (*pfngets)(char *s);
+int    (*pfnfgetc)(FILE *pf);
+int    (*pfnputc)(int c, FILE *pf);
+int    (*pfnputs)(const char *s);
+int    (*pfngetchar)(void);
+int    (*pfnputchar)(int c);
+int    (*pfnfscanf)(FILE *pf, const char *format, ...);
+int    (*pfnscanf)(const char *format, ...);
+void*  (*pfnmalloc)(size_t size);
+void*  (*pfncalloc)(size_t numitems, size_t size);
+void*  (*pfnrealloc)(void *block, size_t size);
+void   (*pfnfree)(void *block);
+int    signature_end;
 } WIN32_IOSUBSYSTEM; 
 
 typedef WIN32_IOSUBSYSTEM      *PWIN32_IOSUBSYSTEM;
 
 #endif /* WIN32IO_H */
+