summaryrefslogtreecommitdiff
path: root/win32/win32.h
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-01-29 18:11:00 +1200
committerChip Salzenberg <chip@atlantic.net>1997-01-29 18:11:00 +1200
commit0a753a764065f2260004b6e6975085378b850346 (patch)
treee5163ab53209cc4bf655cabaf4067f18036a9106 /win32/win32.h
parent4b094ceb80288fc9f7c15ae78fc662051510284d (diff)
downloadperl-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.h109
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