[PATCH: perl@11564] introducing perlivp
[p5sagit/p5-mst-13.2.git] / win32 / win32iop.h
index a5021de..4d78839 100644 (file)
@@ -72,8 +72,10 @@ DllExport  void              win32_abort(void);
 DllExport  int         win32_fstat(int fd,struct stat *sbufptr);
 DllExport  int         win32_stat(const char *name,struct stat *sbufptr);
 DllExport  int         win32_pipe( int *phandles, unsigned int psize, int textmode );
-DllExport  FILE*       win32_popen( const char *command, const char *mode );
-DllExport  int         win32_pclose( FILE *pf);
+DllExport  PerlIO*     win32_popen( const char *command, const char *mode );
+DllExport  PerlIO*     win32_popenlist(const char *mode, IV narg, SV **args);
+DllExport  int         win32_pclose( PerlIO *pf);
+DllExport  int         win32_rename( const char *oname, const char *newname);
 DllExport  int         win32_setmode( int fd, int mode);
 DllExport  long                win32_lseek( int fd, long offset, int origin);
 DllExport  long                win32_tell( int fd);
@@ -112,23 +114,36 @@ DllExport  void           win32_free(void *block);
 DllExport  int         win32_open_osfhandle(long handle, int flags);
 DllExport  long                win32_get_osfhandle(int fd);
 
-#ifndef USE_WIN32_RTL_ENV
+DllExport  DIR*                win32_opendir(char *filename);
+DllExport  struct direct*      win32_readdir(DIR *dirp);
+DllExport  long                win32_telldir(DIR *dirp);
+DllExport  void                win32_seekdir(DIR *dirp, long loc);
+DllExport  void                win32_rewinddir(DIR *dirp);
+DllExport  int         win32_closedir(DIR *dirp);
+
 DllExport  char*       win32_getenv(const char *name);
-#endif
+DllExport  int         win32_putenv(const char *name);
 
 DllExport  unsigned    win32_sleep(unsigned int);
 DllExport  int         win32_times(struct tms *timebuf);
 DllExport  unsigned    win32_alarm(unsigned int sec);
 DllExport  int         win32_stat(const char *path, struct stat *buf);
+DllExport  char*       win32_longpath(char *path);
 DllExport  int         win32_ioctl(int i, unsigned int u, char *data);
+DllExport  int          win32_link(const char *oldname, const char *newname);
+DllExport  int         win32_unlink(const char *f);
 DllExport  int         win32_utime(const char *f, struct utimbuf *t);
+DllExport  int         win32_uname(struct utsname *n);
 DllExport  int         win32_wait(int *status);
 DllExport  int         win32_waitpid(int pid, int *status, int flags);
 DllExport  int         win32_kill(int pid, int sig);
+DllExport  unsigned long       win32_os_id(void);
+DllExport  void*       win32_dynaload(const char*filename);
+DllExport  int         win32_access(const char *path, int mode);
+DllExport  int         win32_chmod(const char *path, int mode);
+DllExport  int         win32_getpid(void);
 
-#ifdef HAVE_DES_FCRYPT
 DllExport char *       win32_crypt(const char *txt, const char *salt);
-#endif
 
 END_EXTERN_C
 
@@ -150,7 +165,9 @@ END_EXTERN_C
 #undef times
 #undef alarm
 #undef ioctl
+#undef unlink
 #undef utime
+#undef uname
 #undef wait
 
 #ifdef __BORLANDC__
@@ -165,8 +182,8 @@ END_EXTERN_C
 #define stderr                         win32_stderr()
 #define stdout                         win32_stdout()
 #define        stdin                           win32_stdin()
-#define feof                                   win32_feof
-#define ferror                         win32_ferror
+#define feof(f)                                win32_feof(f)
+#define ferror(f)                      win32_ferror(f)
 #define errno                          (*win32_errno())
 #define environ                                (*win32_environ())
 #define strerror                       win32_strerror
@@ -179,47 +196,49 @@ END_EXTERN_C
 #define        vfprintf                win32_vfprintf
 #define        printf                  win32_printf
 #define        vprintf                 win32_vprintf
-#define fread                          win32_fread
-#define fwrite                  win32_fwrite
+#define fread(buf,size,count,f)        win32_fread(buf,size,count,f)
+#define fwrite(buf,size,count,f)       win32_fwrite(buf,size,count,f)
 #define fopen                  win32_fopen
 #undef fdopen
 #define fdopen                 win32_fdopen
 #define freopen                        win32_freopen
-#define        fclose                  win32_fclose
-#define fputs                  win32_fputs
-#define fputc                  win32_fputc
-#define ungetc                 win32_ungetc
+#define        fclose(f)               win32_fclose(f)
+#define fputs(s,f)             win32_fputs(s,f)
+#define fputc(c,f)             win32_fputc(c,f)
+#define ungetc(c,f)            win32_ungetc(c,f)
 #undef getc
-#define getc                           win32_getc
-#define fileno                 win32_fileno
-#define clearerr               win32_clearerr
-#define fflush                 win32_fflush
-#define ftell                  win32_ftell
-#define fseek                  win32_fseek
-#define fgetpos                win32_fgetpos
-#define fsetpos                win32_fsetpos
-#define rewind                 win32_rewind
-#define tmpfile                win32_tmpfile
-#define abort                          win32_abort
-#define fstat                  win32_fstat
-#define stat                   win32_stat
-#define setmode                win32_setmode
-#define lseek                  win32_lseek
-#define tell                   win32_tell
-#define dup                    win32_dup
-#define dup2                   win32_dup2
+#define getc(f)                        win32_getc(f)
+#define fileno(f)              win32_fileno(f)
+#define clearerr(f)            win32_clearerr(f)
+#define fflush(f)              win32_fflush(f)
+#define ftell(f)               win32_ftell(f)
+#define fseek(f,o,w)           win32_fseek(f,o,w)
+#define fgetpos(f,p)           win32_fgetpos(f,p)
+#define fsetpos(f,p)           win32_fsetpos(f,p)
+#define rewind(f)              win32_rewind(f)
+#define tmpfile()              win32_tmpfile()
+#define abort()                        win32_abort()
+#define fstat(fd,bufptr)       win32_fstat(fd,bufptr)
+#define stat(pth,bufptr)       win32_stat(pth,bufptr)
+#define longpath(pth)          win32_longpath(pth)
+#define rename(old,new)                win32_rename(old,new)
+#define setmode(fd,mode)       win32_setmode(fd,mode)
+#define lseek(fd,offset,orig)  win32_lseek(fd,offset,orig)
+#define tell(fd)               win32_tell(fd)
+#define dup(fd)                        win32_dup(fd)
+#define dup2(fd1,fd2)          win32_dup2(fd1,fd2)
 #define open                   win32_open
-#define close                  win32_close
-#define eof                    win32_eof
-#define read                   win32_read
-#define write                  win32_write
+#define close(fd)              win32_close(fd)
+#define eof(fd)                        win32_eof(fd)
+#define read(fd,b,s)           win32_read(fd,b,s)
+#define write(fd,b,s)          win32_write(fd,b,s)
 #define _open_osfhandle                win32_open_osfhandle
 #define _get_osfhandle         win32_get_osfhandle
 #define spawnvp                        win32_spawnvp
 #define mkdir                  win32_mkdir
 #define rmdir                  win32_rmdir
 #define chdir                  win32_chdir
-#define flock                  win32_flock
+#define flock(fd,o)            win32_flock(fd,o)
 #define execv                  win32_execv
 #define execvp                 win32_execvp
 #define perror                 win32_perror
@@ -239,6 +258,9 @@ END_EXTERN_C
 #define getchar                        win32_getchar
 #undef putchar
 #define putchar                        win32_putchar
+#define access(p,m)            win32_access(p,m)
+#define chmod(p,m)             win32_chmod(p,m)
+
 
 #if !defined(MYMALLOC) || !defined(PERL_CORE)
 #undef malloc
@@ -257,7 +279,10 @@ END_EXTERN_C
 #define times                  win32_times
 #define alarm                  win32_alarm
 #define ioctl                  win32_ioctl
+#define link                   win32_link
+#define unlink                 win32_unlink
 #define utime                  win32_utime
+#define uname                  win32_uname
 #define wait                   win32_wait
 #define waitpid                        win32_waitpid
 #define kill                   win32_kill
@@ -268,16 +293,16 @@ END_EXTERN_C
 #define seekdir                        win32_seekdir
 #define rewinddir              win32_rewinddir
 #define closedir               win32_closedir
+#define os_id                  win32_os_id
+#define getpid                 win32_getpid
 
-#ifdef HAVE_DES_FCRYPT
 #undef crypt
-#define crypt                  win32_crypt
-#endif
+#define crypt(t,s)             win32_crypt(t,s)
 
-#ifndef USE_WIN32_RTL_ENV
 #undef getenv
 #define getenv win32_getenv
-#endif
+#undef putenv
+#define putenv win32_putenv
 
 #endif /* WIN32IO_IS_STDIO */
 #endif /* WIN32IOP_H */