diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1997-01-29 18:11:00 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-01-29 18:11:00 +1200 |
commit | 0a753a764065f2260004b6e6975085378b850346 (patch) | |
tree | e5163ab53209cc4bf655cabaf4067f18036a9106 /win32/win32.h | |
parent | 4b094ceb80288fc9f7c15ae78fc662051510284d (diff) | |
download | perl-0a753a764065f2260004b6e6975085378b850346.tar.gz |
[inseparable changes from patch from perl5.003_23 to perl5.003_24]perl-5.003_24
CORE LANGUAGE CHANGES
Subject: glob defaults to $_
Date: Mon, 27 Jan 1997 03:09:13 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: op.c opcode.pl pod/perlfunc.pod t/op/glob.t
private-msgid: <199701270809.DAA00934@aatma.engin.umich.edu>
Subject: Re: an overloading bug
Date: Sun, 26 Jan 1997 19:07:45 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perldiag.pod pod/perlfunc.pod pp_ctl.c
private-msgid: <199701270007.TAA26525@aatma.engin.umich.edu>
CORE PORTABILITY
Subject: Win32 port
From: Gary Ng <71564.1743@compuserve.com>
Files: MANIFEST win32/*
Subject: Amiga files
Date: Sun, 26 Jan 1997 17:42:15 +0100
From: Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de>
Files: MANIFEST README.amiga hints/amigaos.sh
private-msgid: <77724712@Armageddon.meb.uni-bonn.de>
DOCUMENTATION
Subject: perldelta Fcntl enhancement
Date: Sat, 25 Jan 1997 17:05:34 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perldelta.pod
private-msgid: <199701251505.RAA22159@alpha.hut.fi>
Subject: Updates to perldelta re: Fcntl, DB_File, Net::Ping
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
Files: pod/perldelta.pod
Subject: Document restrictions on gv_fetchmethod() and perl_call_sv()
From: Chip Salzenberg <chip@atlantic.net>
Files: pod/perldelta.pod pod/perlguts.pod
Subject: perldiag.pod: No comma allowed after %s
Date: Sat, 25 Jan 1997 17:41:53 +0200 (EET)
From: Jarkko Hietaniemi <Jarkko.Hietaniemi@cc.hut.fi>
Files: pod/perldiag.pod
private-msgid: <199701251541.RAA04120@alpha.hut.fi>
Subject: perlfunc.pod: localtime
Date: Sat, 25 Jan 1997 18:29:37 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perlfunc.pod
private-msgid: <199701251629.SAA08114@alpha.hut.fi>
Subject: perlfunc diff: gmtime
Date: Tue, 28 Jan 1997 14:52:08 +0000
From: Peter Haworth <pmh@edison.ioppublishing.com>
Files: pod/perlfunc.pod
private-msgid: <32EE1298.7B90@edison.ioppublishing.com>
Subject: Updates to guts
Date: Sun, 26 Jan 1997 19:34:18 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perlguts.pod
private-msgid: <199701270034.TAA13177@monk.mps.ohio-state.edu>
TESTS
Subject: New test op/closure.t
From: Tom Phoenix <rootbeer@teleport.com>
Files: MANIFEST t/op/closure.t
Diffstat (limited to 'win32/win32.h')
-rw-r--r-- | win32/win32.h | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/win32/win32.h b/win32/win32.h new file mode 100644 index 0000000000..a051bc7261 --- /dev/null +++ b/win32/win32.h @@ -0,0 +1,109 @@ +// WIN32.H + +// (c) 1995 Microsoft Corporation. All rights reserved. +// Developed by hip communications inc., http://info.hip.com/info/ + +// You may distribute under the terms of either the GNU General Public +// License or the Artistic License, as specified in the README file. + +#ifndef _INC_WIN32_PERL5 +#define _INC_WIN32_PERL5 + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + +#ifdef WIN32_LEAN_AND_MEAN // C file is NOT a Perl5 original. +#define CONTEXT PERL_CONTEXT // Avoid conflict of CONTEXT defs. +#define index strchr // Why 'index'? +#endif //WIN32_LEAN_AND_MEAN + +#include <dirent.h> +#include <io.h> +#include <process.h> +#include <stdio.h> +#include <direct.h> + +// For UNIX compatibility. + +typedef long uid_t; +typedef long gid_t; + +extern char *staticlinkmodules[]; + +extern uid_t getuid(void); +extern gid_t getgid(void); +extern uid_t geteuid(void); +extern gid_t getegid(void); + +extern int setuid(uid_t uid); +extern int setgid(gid_t gid); +extern int kill(int pid, int sig); + +#define USE_SOCKETS_AS_HANDLES +#ifndef USE_SOCKETS_AS_HANDLES +extern FILE *myfdopen(int, char *); + +#undef fdopen +#define fdopen myfdopen +#endif // USE_SOCKETS_AS_HANDLES + +#define STANDARD_C 1 // Perl5 likes standard C. +#define DOSISH 1 // Take advantage of DOSish code in Perl5. + +#define OP_BINARY _O_BINARY // Mistake in in pp_sys.c. + +#undef mkdir +#define mkdir(nm, md) _mkdir(nm) // For UNIX compatibility. + +#undef chdir +#define chdir(nm) _chdir(nm) + +#undef rmdir +#define rmdir(nm) _rmdir(nm) + +#undef pipe +#define pipe(fd) win32_pipe((fd), 512, _O_BINARY) // the pipe call is a bit different + +#undef pause +#define pause() sleep((32767L << 16) + 32767) + + +#undef times +#define times mytimes + +#undef alarm +#define alarm myalarm + +struct tms { + long tms_utime; + long tms_stime; + long tms_cutime; + long tms_cstime; + }; + +unsigned int sleep(unsigned int); +char *win32PerlLibPath(); +int mytimes(struct tms *timebuf); +unsigned int myalarm(unsigned int sec); +int do_aspawn(void* really, void** mark, void** arglast); +int do_spawn(char *cmd); + +typedef char * caddr_t; // In malloc.c (core address). + +// +// Extension Library, only good for VC +// + +#define DllExport __declspec(dllexport) + + +// +// handle socket stuff, assuming socket is always available +// + +#include <sys/socket.h> +#include <netdb.h> + +#pragma warning(disable: 4018 4035 4101 4102 4244 4245 4761) + +#endif // _INC_NT_PERL5 |