summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChip Salzenberg <chip@atlantic.net>1997-03-09 11:57:19 +1200
committerChip Salzenberg <chip@atlantic.net>1997-03-09 11:57:19 +1200
commitb226d704a95b67a31c9c67a9ab25966507c62295 (patch)
treebeab7dffe4465a1921d45f3fa08ac76cb8abb9f5
parent68dc074516a6859e3424b48d1647bcb08b1a1a7d (diff)
parent76a9873e006cf8f48f57062b2a0dd40b5ed45a95 (diff)
downloadperl-5.003_94.tar.gz
[differences between cumulative patch application and perl-5.003_94]perl-5.003_94
-rw-r--r--win32/README25
-rw-r--r--win32/win32aux.cpp251
-rw-r--r--win32/win32io.cpp231
3 files changed, 0 insertions, 507 deletions
diff --git a/win32/README b/win32/README
deleted file mode 100644
index aec049ab7b..0000000000
--- a/win32/README
+++ /dev/null
@@ -1,25 +0,0 @@
-How to build
-
-1. setup VC environment (VCVARS32)
-2. make sure you are in the win32 subdirectory
-3. NMAKE
-
-The resulting perl.exe , perl.dll, perlglob.exe would be put
-under the main directory.
-
-the LIB subdirectory is also properly handled which can be
-copy to the final location. If you make the directory structure as
-the following :
-
-perl.exe
-perl.dll
-perlglob.exe
-LIB\..... here goes all the module stuff
-
-
-you can save the PERLLIB= line in the environment. this port would
-search the LIB sub-directory where the perl.dll is located.
-
-
-That's it
-
diff --git a/win32/win32aux.cpp b/win32/win32aux.cpp
deleted file mode 100644
index feafbeb451..0000000000
--- a/win32/win32aux.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#define WIN32IO_IS_STDIO
-#define EXT
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <io.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <fcntl.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "win32iop.h"
-
-struct servent* win32_savecopyservent(struct servent*d, struct servent*s, const char *proto)
-{
- try {
- d->s_name = s->s_name;
- d->s_aliases = s->s_aliases;
- d->s_port = s->s_port;
- if (strlen(s->s_proto)) d->s_proto = s->s_proto;
- else if (proto && strlen(proto)) d->s_proto = (char *)proto;
- else d->s_proto = "tcp";
- }
- catch (...) {
- if (proto && strlen(proto)) d->s_proto = (char *)proto;
- else d->s_proto = "tcp";
- }
-
- return d;
-}
-#ifdef GARY
-//
-// The following is just a basic wrapping of the stdio
-//
-//
-//
-//
-//
-// redirected io subsystem for all XS modules
-//
-//
-
-static int * dummy_errno()
-{
- return (&(errno));
-}
-
-// the rest are the remapped stdio routines
-static FILE *dummy_stderr()
-{
- return stderr;
-}
-
-static FILE *dummy_stdin()
-{
- return stdin;
-}
-
-static FILE *dummy_stdout()
-{
- return stdout;
-}
-
-static int dummy_globalmode(int mode)
-{
- int o = _fmode;
- _fmode = mode;
-
- return o;
-}
-
-
-#if defined(_WIN32) && !defined(WIN95_OSFHANDLE_FIXED) && defined(_M_IX86)
-
-# ifdef __cplusplus
-#define EXT_C_FUNC extern "C"
-# else
-#define EXT_C_FUNC extern
-# endif
-
-EXT_C_FUNC int __cdecl _alloc_osfhnd(void);
-EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
-EXT_C_FUNC void __cdecl _lock_fhandle(int);
-EXT_C_FUNC void __cdecl _unlock_fhandle(int);
-EXT_C_FUNC void __cdecl _unlock(int);
-
-#if (_MSC_VER >= 1000)
- typedef struct
- {
- long osfhnd; /* underlying OS file HANDLE */
- char osfile; /* attributes of file (e.g., open in text mode?) */
- char pipech; /* one char buffer for handles opened on pipes */
-#if defined (_MT) && !defined (DLL_FOR_WIN32S)
- int lockinitflag;
- CRITICAL_SECTION lock;
-#endif /* defined (_MT) && !defined (DLL_FOR_WIN32S) */
- } ioinfo;
-
- EXT_C_FUNC ioinfo * __pioinfo[];
-
- #define IOINFO_L2E 5
- #define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
- #define _pioinfo(i) (__pioinfo[i >> IOINFO_L2E] + (i & (IOINFO_ARRAY_ELTS - 1)))
- #define _osfile(i) (_pioinfo(i)->osfile)
-#else
- extern "C" extern char _osfile[];
-#endif // (_MSC_VER >= 1000)
-
-#define FOPEN 0x01 // file handle open
-#define FAPPEND 0x20 // file handle opened O_APPEND
-#define FDEV 0x40 // file handle refers to device
-#define FTEXT 0x80 // file handle is in text mode
-
-#define _STREAM_LOCKS 26 // Table of stream locks
-#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_NSTREAM_-1) // Last stream lock
-#define _FH_LOCKS (_LAST_STREAM_LOCK+1) // Table of fh locks
-
-/***
-*int _patch_open_osfhandle(long osfhandle, int flags) - open C Runtime file handle
-*
-*Purpose:
-* This function allocates a free C Runtime file handle and associates
-* it with the Win32 HANDLE specified by the first parameter. This is a
-* temperary fix for WIN95's brain damage GetFileType() error on socket
-* we just bypass that call for socket
-*
-*Entry:
-* long osfhandle - Win32 HANDLE to associate with C Runtime file handle.
-* int flags - flags to associate with C Runtime file handle.
-*
-*Exit:
-* returns index of entry in fh, if successful
-* return -1, if no free entry is found
-*
-*Exceptions:
-*
-*******************************************************************************/
-
-int my_open_osfhandle(long osfhandle, int flags)
-{
- int fh;
- char fileflags; // _osfile flags
-
- // copy relevant flags from second parameter
- fileflags = FDEV;
-
- if(flags & _O_APPEND)
- fileflags |= FAPPEND;
-
- if(flags & _O_TEXT)
- fileflags |= FTEXT;
-
- // attempt to allocate a C Runtime file handle
- if((fh = _alloc_osfhnd()) == -1)
- {
- errno = EMFILE; // too many open files
- _doserrno = 0L; // not an OS error
- return -1; // return error to caller
- }
-
- // the file is open. now, set the info in _osfhnd array
- _set_osfhnd(fh, osfhandle);
-
- fileflags |= FOPEN; // mark as open
-
-#if (_MSC_VER >= 1000)
- _osfile(fh) = fileflags; // set osfile entry
- _unlock_fhandle(fh);
-#else
- _osfile[fh] = fileflags; // set osfile entry
- _unlock(fh+_FH_LOCKS); // unlock handle
-#endif
-
-
- return fh; // return handle
-}
-#else
-int __cdecl stolen_open_osfhandle(long osfhandle, int flags)
-{
- return _open_osfhandle(osfhandle, flags);
-}
-#endif // _M_IX86
-
-long my_get_osfhandle( int filehandle )
-{
- return _get_osfhandle(filehandle);
-}
-
-WIN32_IOSUBSYSTEM win32stdio = {
- 12345678L, // begin of structure;
- dummy_errno, // (*pfunc_errno)(void);
- dummy_stdin, // (*pfunc_stdin)(void);
- dummy_stdout, // (*pfunc_stdout)(void);
- dummy_stderr, // (*pfunc_stderr)(void);
- ferror, // (*pfunc_ferror)(FILE *fp);
- feof, // (*pfunc_feof)(FILE *fp);
- strerror, // (*strerror)(int e);
- vfprintf, // (*pfunc_vfprintf)(FILE *pf, const char *format, va_list arg);
- vprintf, // (*pfunc_vprintf)(const char *format, va_list arg);
- fread, // (*pfunc_fread)(void *buf, size_t size, size_t count, FILE *pf);
- fwrite, // (*pfunc_fwrite)(void *buf, size_t size, size_t count, FILE *pf);
- fopen, // (*pfunc_fopen)(const char *path, const char *mode);
- fdopen, // (*pfunc_fdopen)(int fh, const char *mode);
- freopen, // (*pfunc_freopen)(const char *path, const char *mode, FILE *pf);
- fclose, // (*pfunc_fclose)(FILE *pf);
- fputs, // (*pfunc_fputs)(const char *s,FILE *pf);
- fputc, // (*pfunc_fputc)(int c,FILE *pf);
- ungetc, // (*pfunc_ungetc)(int c,FILE *pf);
- getc, // (*pfunc_getc)(FILE *pf);
- fileno, // (*pfunc_fileno)(FILE *pf);
- clearerr, // (*pfunc_clearerr)(FILE *pf);
- fflush, // (*pfunc_fflush)(FILE *pf);
- ftell, // (*pfunc_ftell)(FILE *pf);
- fseek, // (*pfunc_fseek)(FILE *pf,long offset,int origin);
- fgetpos, // (*pfunc_fgetpos)(FILE *pf,fpos_t *p);
- fsetpos, // (*pfunc_fsetpos)(FILE *pf,fpos_t *p);
- rewind, // (*pfunc_rewind)(FILE *pf);
- tmpfile, // (*pfunc_tmpfile)(void);
- abort, // (*pfunc_abort)(void);
- fstat, // (*pfunc_fstat)(int fd,struct stat *bufptr);
- stat, // (*pfunc_stat)(const char *name,struct stat *bufptr);
- _pipe, // (*pfunc_pipe)( int *phandles, unsigned int psize, int textmode );
- _popen, // (*pfunc_popen)( const char *command, const char *mode );
- _pclose, // (*pfunc_pclose)( FILE *pf);
- setmode, // (*pfunc_setmode)( int fd, int mode);
- lseek, // (*pfunc_lseek)( int fd, long offset, int origin);
- tell, // (*pfunc_tell)( int fd);
- dup, // (*pfunc_dup)( int fd);
- dup2, // (*pfunc_dup2)(int h1, int h2);
- open, // (*pfunc_open)(const char *path, int oflag,...);
- close, // (*pfunc_close)(int fd);
- eof, // (*pfunc_eof)(int fd);
- read, // (*pfunc_read)(int fd, void *buf, unsigned int cnt);
- write, // (*pfunc_write)(int fd, const void *buf, unsigned int cnt);
- dummy_globalmode,// (*pfunc_globalmode)(int mode)
- my_open_osfhandle,
- my_get_osfhandle,
- 87654321L, // end of structure
-};
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/win32/win32io.cpp b/win32/win32io.cpp
deleted file mode 100644
index db3eb292d9..0000000000
--- a/win32/win32io.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#define WIN32IO_IS_STDIO
-#define EXT
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <io.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <fcntl.h>
-#include <assert.h>
-#include <errno.h>
-#include <process.h>
-
-#include "win32iop.h"
-
-//
-// The following is just a basic wrapping of the stdio
-//
-//
-// redirected io subsystem for all XS modules
-//
-//
-
-static int * dummy_errno()
-{
- return (&(errno));
-}
-
-static FILE *dummy_stderr()
-{
- return stderr;
-}
-
-static FILE *dummy_stdin()
-{
- return stdin;
-}
-
-static FILE *dummy_stdout()
-{
- return stdout;
-}
-
-static int dummy_globalmode(int mode)
-{
- int o = _fmode;
- _fmode = mode;
-
- return o;
-}
-
-
-#if defined(_WIN32) && !defined(WIN95_OSFHANDLE_FIXED) && defined(_M_IX86)
-
-# ifdef __cplusplus
-#define EXT_C_FUNC extern "C"
-# else
-#define EXT_C_FUNC extern
-# endif
-
-EXT_C_FUNC int __cdecl _alloc_osfhnd(void);
-EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
-EXT_C_FUNC void __cdecl _lock_fhandle(int);
-EXT_C_FUNC void __cdecl _unlock_fhandle(int);
-EXT_C_FUNC void __cdecl _unlock(int);
-
-#if (_MSC_VER >= 1000)
- typedef struct
- {
- long osfhnd; /* underlying OS file HANDLE */
- char osfile; /* attributes of file (e.g., open in text mode?) */
- char pipech; /* one char buffer for handles opened on pipes */
-#if defined (_MT) && !defined (DLL_FOR_WIN32S)
- int lockinitflag;
- CRITICAL_SECTION lock;
-#endif /* defined (_MT) && !defined (DLL_FOR_WIN32S) */
- } ioinfo;
-
- EXT_C_FUNC ioinfo * __pioinfo[];
-
- #define IOINFO_L2E 5
- #define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
- #define _pioinfo(i) (__pioinfo[i >> IOINFO_L2E] + (i & (IOINFO_ARRAY_ELTS - 1)))
- #define _osfile(i) (_pioinfo(i)->osfile)
-#else
- extern "C" extern char _osfile[];
-#endif // (_MSC_VER >= 1000)
-
-#define FOPEN 0x01 // file handle open
-#define FAPPEND 0x20 // file handle opened O_APPEND
-#define FDEV 0x40 // file handle refers to device
-#define FTEXT 0x80 // file handle is in text mode
-
-#define _STREAM_LOCKS 26 // Table of stream locks
-#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_NSTREAM_-1) // Last stream lock
-#define _FH_LOCKS (_LAST_STREAM_LOCK+1) // Table of fh locks
-
-/***
-*int _patch_open_osfhandle(long osfhandle, int flags) - open C Runtime file handle
-*
-*Purpose:
-* This function allocates a free C Runtime file handle and associates
-* it with the Win32 HANDLE specified by the first parameter. This is a
-* temperary fix for WIN95's brain damage GetFileType() error on socket
-* we just bypass that call for socket
-*
-*Entry:
-* long osfhandle - Win32 HANDLE to associate with C Runtime file handle.
-* int flags - flags to associate with C Runtime file handle.
-*
-*Exit:
-* returns index of entry in fh, if successful
-* return -1, if no free entry is found
-*
-*Exceptions:
-*
-*******************************************************************************/
-
-int my_open_osfhandle(long osfhandle, int flags)
-{
- int fh;
- char fileflags; // _osfile flags
-
- // copy relevant flags from second parameter
- fileflags = FDEV;
-
- if(flags & _O_APPEND)
- fileflags |= FAPPEND;
-
- if(flags & _O_TEXT)
- fileflags |= FTEXT;
-
- // attempt to allocate a C Runtime file handle
- if((fh = _alloc_osfhnd()) == -1)
- {
- errno = EMFILE; // too many open files
- _doserrno = 0L; // not an OS error
- return -1; // return error to caller
- }
-
- // the file is open. now, set the info in _osfhnd array
- _set_osfhnd(fh, osfhandle);
-
- fileflags |= FOPEN; // mark as open
-
-#if (_MSC_VER >= 1000)
- _osfile(fh) = fileflags; // set osfile entry
- _unlock_fhandle(fh);
-#else
- _osfile[fh] = fileflags; // set osfile entry
- _unlock(fh+_FH_LOCKS); // unlock handle
-#endif
-
-
- return fh; // return handle
-}
-#else
-int __cdecl stolen_open_osfhandle(long osfhandle, int flags)
-{
- return _open_osfhandle(osfhandle, flags);
-}
-#endif // _M_IX86
-
-long my_get_osfhandle( int filehandle )
-{
- return _get_osfhandle(filehandle);
-}
-
-WIN32_IOSUBSYSTEM win32stdio = {
- 12345678L, // begin of structure;
- dummy_errno, // (*pfunc_errno)(void);
- dummy_stdin, // (*pfunc_stdin)(void);
- dummy_stdout, // (*pfunc_stdout)(void);
- dummy_stderr, // (*pfunc_stderr)(void);
- ferror, // (*pfunc_ferror)(FILE *fp);
- feof, // (*pfunc_feof)(FILE *fp);
- strerror, // (*strerror)(int e);
- vfprintf, // (*pfunc_vfprintf)(FILE *pf, const char *format, va_list arg);
- vprintf, // (*pfunc_vprintf)(const char *format, va_list arg);
- fread, // (*pfunc_fread)(void *buf, size_t size, size_t count, FILE *pf);
- fwrite, // (*pfunc_fwrite)(void *buf, size_t size, size_t count, FILE *pf);
- fopen, // (*pfunc_fopen)(const char *path, const char *mode);
- fdopen, // (*pfunc_fdopen)(int fh, const char *mode);
- freopen, // (*pfunc_freopen)(const char *path, const char *mode, FILE *pf);
- fclose, // (*pfunc_fclose)(FILE *pf);
- fputs, // (*pfunc_fputs)(const char *s,FILE *pf);
- fputc, // (*pfunc_fputc)(int c,FILE *pf);
- ungetc, // (*pfunc_ungetc)(int c,FILE *pf);
- getc, // (*pfunc_getc)(FILE *pf);
- fileno, // (*pfunc_fileno)(FILE *pf);
- clearerr, // (*pfunc_clearerr)(FILE *pf);
- fflush, // (*pfunc_fflush)(FILE *pf);
- ftell, // (*pfunc_ftell)(FILE *pf);
- fseek, // (*pfunc_fseek)(FILE *pf,long offset,int origin);
- fgetpos, // (*pfunc_fgetpos)(FILE *pf,fpos_t *p);
- fsetpos, // (*pfunc_fsetpos)(FILE *pf,fpos_t *p);
- rewind, // (*pfunc_rewind)(FILE *pf);
- tmpfile, // (*pfunc_tmpfile)(void);
- abort, // (*pfunc_abort)(void);
- fstat, // (*pfunc_fstat)(int fd,struct stat *bufptr);
- stat, // (*pfunc_stat)(const char *name,struct stat *bufptr);
- _pipe, // (*pfunc_pipe)( int *phandles, unsigned int psize, int textmode );
- _popen, // (*pfunc_popen)( const char *command, const char *mode );
- _pclose, // (*pfunc_pclose)( FILE *pf);
- setmode, // (*pfunc_setmode)( int fd, int mode);
- lseek, // (*pfunc_lseek)( int fd, long offset, int origin);
- tell, // (*pfunc_tell)( int fd);
- dup, // (*pfunc_dup)( int fd);
- dup2, // (*pfunc_dup2)(int h1, int h2);
- open, // (*pfunc_open)(const char *path, int oflag,...);
- close, // (*pfunc_close)(int fd);
- eof, // (*pfunc_eof)(int fd);
- read, // (*pfunc_read)(int fd, void *buf, unsigned int cnt);
- write, // (*pfunc_write)(int fd, const void *buf, unsigned int cnt);
- dummy_globalmode,// (*pfunc_globalmode)(int mode)
- my_open_osfhandle,
- my_get_osfhandle,
- spawnvpe,
- 87654321L, // end of structure
-};
-
-
-#ifdef __cplusplus
-}
-#endif