X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32iop.h;h=6ddafa5bb5f462c45bfa8a09c56b2bab8840868f;hb=f224927c1e379a33cd6d5e0a5d25d0ecb9c9d964;hp=d7c2ac4f7432c3cd8ae906efb8a8d55e61624e8e;hpb=7766f1371a6d2b58d0f46fbe6a60785860a39c1e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32iop.h b/win32/win32iop.h index d7c2ac4..6ddafa5 100644 --- a/win32/win32iop.h +++ b/win32/win32iop.h @@ -7,8 +7,8 @@ # define END_EXTERN_C } # define EXTERN_C extern "C" #else -# define START_EXTERN_C -# define END_EXTERN_C +# define START_EXTERN_C +# define END_EXTERN_C # define EXTERN_C #endif #endif @@ -72,8 +72,9 @@ 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); @@ -120,10 +121,8 @@ DllExport void win32_seekdir(DIR *dirp, long loc); DllExport void win32_rewinddir(DIR *dirp); DllExport int win32_closedir(DIR *dirp); -#ifndef USE_WIN32_RTL_ENV DllExport char* win32_getenv(const char *name); DllExport int win32_putenv(const char *name); -#endif DllExport unsigned win32_sleep(unsigned int); DllExport int win32_times(struct tms *timebuf); @@ -146,8 +145,19 @@ DllExport int win32_getpid(void); DllExport char * win32_crypt(const char *txt, const char *salt); +DllExport void * win32_get_childenv(void); +DllExport void win32_free_childenv(void* d); +DllExport void win32_clearenv(void); +DllExport char * win32_get_childdir(void); +DllExport void win32_free_childdir(char* d); +DllExport Sighandler_t win32_signal(int sig, Sighandler_t subcode); + + END_EXTERN_C +#undef alarm +#define alarm win32_alarm + /* * the following six(6) is #define in stdio.h */ @@ -164,7 +174,6 @@ END_EXTERN_C #undef pause #undef sleep #undef times -#undef alarm #undef ioctl #undef unlink #undef utime @@ -278,7 +287,6 @@ END_EXTERN_C #define pause() win32_sleep((32767L << 16) + 32767) #define sleep win32_sleep #define times win32_times -#define alarm win32_alarm #define ioctl win32_ioctl #define link win32_link #define unlink win32_unlink @@ -300,13 +308,21 @@ END_EXTERN_C #undef crypt #define crypt(t,s) win32_crypt(t,s) -#ifndef USE_WIN32_RTL_ENV +#undef get_childenv +#undef free_childenv +#undef clearenv +#undef get_childdir +#undef free_childdir +#define get_childenv() win32_get_childenv() +#define free_childenv(d) win32_free_childenv(d) +#define clearenv() win32_clearenv() +#define get_childdir() win32_get_childdir() +#define free_childdir(d) win32_free_childdir(d) + #undef getenv #define getenv win32_getenv #undef putenv #define putenv win32_putenv -#endif #endif /* WIN32IO_IS_STDIO */ #endif /* WIN32IOP_H */ -