summaryrefslogtreecommitdiff
path: root/win32/win32iop.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove duplicate declaration of win32_stat from win32/win32iop.hSteve Hay2015-02-111-1/+0
| | | | The same declaration appears slightly higher up in the same file.
* Silence compiler warnings with gcc 4.7.2 and 4.8.1 from www.mingw.orgSteve Hay2015-02-111-2/+2
| | | | | | | | | | | These compilers (with other contemporaneous packages, I forget exactly which versions of everything I have installed) contain #define fstat _fstat in include/sys/stat.h, which clashes with win32/win32iop.h's #define and causes "warning: "fstat" redefined [enabled by default]" for just about every .c file compiled. Likewise for stat.
* fix killpg on Win32, to meet posix expectations for killpgDaniel Dragan2014-03-271-0/+5
| | | | | | | | | | | | | | | | On Win32 Perls built without PERL_IMPLICIT_SYS, killpg from win32.c was directly called by Perl_apply, yet killpg's return value had Win32 behavior, not POSIX behavior. Modify killpg token to have same meaning as PerlProcKillpg/PerlProc_killpg has on PERL_IMPLICIT_SYS builds. Use a macro rather than create a win32_killpg C function since win32_killpg would be nothing but a call to win32_kill anyways. win32_kill contains the Win32 to POSIX semantics conversion code. Rename old killpg to my_killpg since it has no use outside of win32.c. The psuedo-PID code in win32_kill also played a factor in not writing a separate win32_killpg that calls my_killpg. This fix is tested by kill0.t passing on no-PERL_IMPLICIT_SYS builds. [perl #121230]
* WinCE Makefile and make_ext.pl general and XS fixesDaniel Dragan2013-10-211-0/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a WinCE build. On the 2nd nmake run, using Makefile.ce, eventually calls the Extensions target which calls make_ext.pl. What happens is nmake for CE for each module is called on the Desktop per module makefile from the earlier Desktop build. Since the Desktop Perl already was built sucessfully, all rules/deps are met in the Desktop per module makefile, and nothing happens during the module building phase for a CE build. Previously I used external file management tools to delete the per module Makefiles before running Makefile.ce. *make_ext.pl - implement deleting and rebuilding the per module makefile on a Cross build - use constants for constant folding, there are opportunities for other variables to be converted to constants in the future - fix a bug from commit baff067e71 where unlink() on a file with an open handle ($mfh) didn't delete the file from disk and a new per module makefile would be not be built by make_ext.pl later since the per module makefile was still on disk. This was observed on Win32. Also harden the unlink code with a new _unlink sub that is fatal if the file is still on disk after unlink supposedly deleted it. - var $header and the quotemeta is because of an issue in Perl #119793 *Makefile.ce - bring the debugging symbol generation flags and optimization flags to be closer to a Dekstop VC Perl build - ICWD is obsolete as of commit f6b3c354c9 , remove it - MINIMOD is obsolete as of commit 7b4d95f74b , remove it - make a poisoned config.h so if there is a XS building mixup between a desktop and CE perl, the poisoned config.h for CE will stop the build gracefully - $(MINIPERL) has never been defined in Makefile.ce from day 1 (10 years) replace with $(HPERL) everywhere, this was causing things to not run silently since $(MINIPERL) was empty string. Use HPERL instead of MINIPERL to allow flexibility to use the full perl binary if necessery one day - better cleaning on root makefile clean target *win32/win32.h *win32/win32iop.h - silence alot of redefinition warnings which gave pages of warnings on each WinCE compliand *mg.c - win32_get_errno is only on WIN32 build not WINCE a "nmake -f Makefile.ce all" will now build the CE interp and all modules in 1 shot with no user intervention
* win32_freeenvironmentstrings: convert nonpublic exported function to macroDaniel Dragan2012-10-171-1/+3
| | | | | | | | | win32_freeenvironmentstrings was added in commit 4f46e52b008. It is not documented as public api but is exported. Since it is nothing more than a renaming of win32_free, replace it with a macro to win32_free. This saves an entry in the export table, and the string name of the export from perl517.dll. Also see http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192954.html
* We don't support compilers other than MS VC++ and MinGW/gcc on WindowsSteve Hay2012-08-181-5/+1
|
* Use GetEnvironmentStringsW(..) instead of GetEnvironmentStringsA(..).Karthik Rajagopalan2012-06-151-0/+2
| | | | | | | | GetEnvironmentStringsA(..) return strings in the OEM code page. This can actually mangle the environment strings if it contain special characters. A better approach would be to get the utf-16 strings through GetEnvironmentStringsW(..) and convert them to ANSI code page. This is now done by win32_getenvironmentstrings(..). To free the block, you can use win32_freeenvironmentstrings(..).
* The Borland Chainsaw MassacreSteve Hay2011-09-101-9/+1
| | | | | Remove support for the Borland C++ compiler on Win32, as agreed here: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-09/msg00034.html
* Implement DIR* cloning on WindowsJan Dubois2010-10-251-0/+1
| | | | | | | | | | | | | | | | | | There doesn't seem to be a mechanism to clone FileFind handles on Windows. Therefore this implementation just reads all remaining entries into a cache buffer and closes the handle. All further readdir() requests will be fulfilled from the cache buffer, in both the original and the new interpreter. This fixes bug 75154 on Windows (all tests in t/op/threads-dirh.t pass). This commit also changes the return value of win32_telldir() to -1 for directory handles that have been read until the end. The previous return value was (NULL - dirp->start), which technically is not valid C code. API change alert: Perl_dirp_dup() gets an additional CLONE_PARAMS parameter in this change (like all the other Perl_*_dup() functions).
* Implement win32_isatty()Jan Dubois2009-12-171-0/+2
| | | | | | | | Commit 827da6a38 added a custom isatty() implementation in win32/perlhost.h, but that code will only be used when perl is compiled with -DPERL_IMPLICIT_SYS. This change makes sure that the custom implementation will be used on Windows for all choices of build options.
* Support $! stringification of socket error codes on Windows.Jan Dubois2009-11-131-2/+7
| | | | | | | | | | | | | | | | | The winsock error codes from WSAGetLastError() are stored by Perl in errno, and there is some code in win32_strerror() that would stringify them, but that code is never called when Perl is built with the default WIN32IO_IS_STDIO setting. This patch enables the win32_strerror() override unconditionally and also fixes a potential memory corruption issue by using the FORMAT_MESSAGE_IGNORE_INSERTS flag to ignore any parameter substitution codes that may be embedded in the error message. This now works as expected: C:\git\perl>perl -Ilib -MPOSIX -E "$!=POSIX::EWOULDBLOCK; say $!" A non-blocking socket operation could not be completed immediately.
* [PATCH] Use short pathnames in $^X and @INC if the long form cannot be ↵Jan Dubois2007-01-031-0/+2
| | | | | | | | | | | | | represented in the current codepage Date: Thu, 28 Dec 2006 18:59:40 -0800 Message-ID: <vq09p2p09k6rcu6c9t0mab3vnc335ghg9m@4ax.com> Subject: Re: [PATCH] Use short pathnames in $^X and @INC if the long form cannot be represented in the current codepage From: Jan Dubois <jand@ActiveState.com> Date: Wed, 03 Jan 2007 08:12:35 -0800 Message-ID: <orknp2pj17265modfosjkp2qtt4bdgtgjp@4ax.com> p4raw-id: //depot/perl@29675
* Avoid redefinition warning for MinGWMattia Barbon2005-06-271-0/+3
| | | | | Message-ID: <Mahogany-0.66.0-1232-20050627-220727.00@rbnet.it> p4raw-id: //depot/perl@24999
* Make opendir() filename const in Win32-land & friendsSteve Hay2005-06-241-1/+1
| | | | | | | | That fact that it wasn't const already was highlighted by a warning from pp_open_dir() generated by change 24743. Rather than undo the const change in pp_open_dir(), this seems to make more sense. Hope I haven't broken Netware or WinCE. p4raw-id: //depot/perl@24974
* Salvage parts of #19667.Jarkko Hietaniemi2003-06-031-0/+1
| | | p4raw-id: //depot/perl@19673
* Retract #19667, #19660, #19659, #19658, #19657, #19656,Jarkko Hietaniemi2003-06-031-1/+0
| | | | | | #19655, #19418; File::Temp no more used internally. Some parts of these will be salvaged later. p4raw-id: //depot/perl@19670
* don't use File::Temp to implement PerlIO_tmpfile() on windows;Gurusamy Sarathy2003-06-021-0/+1
| | | | | | | | | | reuse the straightforward native implementation instead this fixes the warning from io_xs.t NOTE: File::Temp has a less-than-robust implementation on windows that relies on END blocks being run (this may not happen always) p4raw-id: //depot/perl@19667
* windows: support for large filesGurusamy Sarathy2002-12-181-0/+2
| | | | | | | | note that this change will break binary compatibility with the default 5.8.0 build options; nevertheless I think it is worth having in 5.8.1 (people who want the compatibility can disable the option in the makefile) p4raw-id: //depot/perl@18327
* make the gettimeofday() implementation in Time::HiRes availableGurusamy Sarathy2002-05-081-0/+3
| | | | | from perl p4raw-id: //depot/perl@16503
* fixes for various warnings identified by Visual C++Gurusamy Sarathy2002-05-071-0/+1
| | | p4raw-id: //depot/perl@16460
* Windows 64-bit support:Gurusamy Sarathy2002-04-211-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * support for building it in the regular makefiles * large files support via the _*i64() functions (this should be portable to the 32-bit universe too, but quite untested and and binary-incompatible, therefore not enabled there) * three additional test failures in addition to the t/end.t one (see README.win32) * sprintf() on Windows gets %I{32,64,}[xoud] format that parallel the ones available from the CRT (needed because Perl uses the UVxf macros in both sprintf() *and* in sv_catpvf() et al.) * add a few 64-bit notes to README.win32 The following general problems were also fixed: * s/struct stat/Stat_t/g * Data::Dumper had some naughty 'long' typecasts * Errno_pm.PL didn't work safe when winsock.h was not in the same directory as errno.h * various tell/seek things were incorrectly prototyped * squelch ugly looking noise when running tests * Embed.t wasn't linking in all the libraries * perl57.dll is now perl58.dll (anticipating 5.8.0-RC1) * re-enable all the disabled warnings (additional fixes may be needed for the warnings uncovered by this) p4raw-id: //depot/perl@16033
* Win32 signal emulation cleanup.Nick Ing-Simmons2002-01-261-3/+4
| | | p4raw-id: //depot/perlio@14428
* (Re-)implement alarm() for Win32.Nick Ing-Simmons2002-01-091-2/+3
| | | p4raw-id: //depot/perlio@14151
* Integrate maintperl changes #12268 and #12669;Jarkko Hietaniemi2001-10-261-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | final touches to the audit for statics and thread-unsafe code * make DB_File, ODBM_File thread-safe * remove unnecessary/dangerous statics and protect others from not getting accidentally enabled under threaded perls windows support functions get_childdir() et al aren't exported correctly under vanilla build Testing under win32 appreciated since changes there had to be manually merged and I cannot test how badly did I do. p4raw-link: @12268 on //depot/perlio: bb407f0b8769c638c05e60ebfd157a1e676a6c22 p4raw-id: //depot/perl@12678 p4raw-integrated: from //depot/maint-5.6/perl@12677 'copy in' win32/vmem.h (@5902..) 'merge in' ext/DB_File/DB_File.xs (@8693..) win32/win32iop.h (@8917..) ext/ODBM_File/ODBM_File.xs (@8995..) iperlsys.h (@9154..) scope.c (@9584..) makedef.pl (@11425..) gv.c (@12026..) op.c (@12145..) util.c (@12220..) toke.c (@12550..) ext/B/B.xs ext/File/Glob/Glob.xs ext/Opcode/Opcode.xs ext/re/re.xs (@12653..) mg.c win32/win32.c (@12668..)
* PerlIO fixups for Win32:Nick Ing-Simmons2001-03-241-0/+1
| | | | | | | | | - provide win33_popenlist() - non-functional as yet. - avoid need for aTHX in PerlIO_debug calls - even if not enabled args are still evaluated so Win32 has trouble during fork(). - Add PerlIO/Scalar to list of extensions in win32/makefile.mk - Fixup makedef.pl for latest set of symbols. p4raw-id: //depot/perlio@9321
* Abolish USE_WIN32_RTL_ENV.Jarkko Hietaniemi2001-02-231-4/+0
| | | p4raw-id: //depot/perl@8916
* PERL_IMPLICIT_SYS compiles but does not work.Nick Ing-Simmons2000-12-031-2/+2
| | | p4raw-id: //depot/perlio@7970
* more complete pseudo-fork() support for WindowsGurusamy Sarathy1999-12-011-0/+10
| | | p4raw-id: //depot/perl@4602
* [5.005_62 PATCH] support link() on WinNT and NTFSJan Dubois1999-11-131-0/+2
| | | | | | | | To: perl5-porters@perl.org, Perl-Win32-Porters@activestate.com Cc: Douglas Lankshear <dougl@activestate.com>, Gurusamy Sarathy <gsar@activestate.com> Message-ID: <382b5d24.10899522@smtprelay.t-online.de> p4raw-id: //depot/cfgperl@4571
* win32 symbol export tweakGurusamy Sarathy1999-11-081-5/+1
| | | p4raw-id: //depot/perl@4540
* yet more cleanups of the PERL_OBJECT, MULTIPLICITY and USE_THREADSGurusamy Sarathy1999-07-121-0/+7
| | | | | | | | | | | | | | | | builds; passing the implicit context is unified among the three flavors; PERL_IMPLICIT_CONTEXT is auto-enabled under all three flavors (see the top of perl.h) for testing; all varargs functions foo() have a va_list-taking variant vfoo() for generating the context-free versions; the PERL_OBJECT build should now be hyper-compatible with CPAN extensions (C++ is totally out of the picture) result has only been tested on Windows TODO: write docs on the THX rationale and idiomatic usage of the Perl API p4raw-id: //depot/perl@3667
* somewhat untested PERL_OBJECT cleanups (C++isms mostlyGurusamy Sarathy1999-06-271-0/+3
| | | | | | | | | gone from the public API); PERL_OBJECT builds again on windows TODO: namespace-clean the typedefs in iperlsys.h and elsewhere; remove C++ remnants from public headers p4raw-id: //depot/perl@3553
* more bulletproof workaround for mangled paths (updates changes#3345,3350);Gurusamy Sarathy1999-05-101-0/+2
| | | | | | | | provide Win32::GetLongPathName() to complement Win32::GetShortPathName() p4raw-link: @3350 on //depot/perl: b5ce6607ab4b332cfeb9911174599b4208a0bc29 p4raw-link: @3345 on //depot/perl: 95140b9803ddf95b050f1d52936f19393a6b541c p4raw-id: //depot/perl@3353
* support POSIX::uname() via win32_uname()Gurusamy Sarathy1999-03-241-0/+3
| | | p4raw-id: //depot/perl@3134
* support win32_putenv()Gurusamy Sarathy1999-02-121-0/+3
| | | p4raw-id: //depot/perl@2898
* support optional crypt() with PERL_OBJECTDouglas Lankshear1998-07-221-1/+1
| | | | | | Message-Id: <000701bdb584$5b57c070$a32fa8c0@tau.Active> Subject: [PATCH 5.005 maybe] for crypt with PERL_OBJECT p4raw-id: //depot/perl@1641
* various tweaks for PERL_OBJECT build & testGurusamy Sarathy1998-07-121-1/+1
| | | p4raw-id: //depot/perl@1450
* add win32_rename() that does what docs sayGurusamy Sarathy1998-07-101-0/+2
| | | p4raw-id: //depot/perl@1403
* back out change#1289 (additional pollution breaks things on win32)Gurusamy Sarathy1998-07-041-31/+31
| | | | | p4raw-link: @1289 on //depot/perl: e031fa27bae468c1d1f1c2f63947de150db520aa p4raw-id: //depot/perl@1308
* win32iop.h #definesAnton Berezin1998-07-041-31/+31
| | | | | Message-Id: <199806301822.SAA09899@lion.plab.ku.dk> p4raw-id: //depot/perl@1289
* export opendir() set of functions on win32Gurusamy Sarathy1998-07-021-0/+7
| | | p4raw-id: //depot/perl@1273
* various win32 odds and endsGurusamy Sarathy1998-06-151-0/+4
| | | | | | | | | | | | - added support for waitpid(), open2/open3, and a bugfix for kill() from Ronald Schmidt <RonaldWS@aol.com> - tweak testsuite mods of above - regenerate win32/config_H.?c - change kill() to win32_kill() and export it - coalesce common code in win32.c - add PerlProc_waitpid() and export win32_waitpid() result builds and passes on the three win32 compilers p4raw-id: //depot/perl@1134
* Re: execv in toke.c [PATCH]: win32 wrapper for _66Jan Dubois1998-06-121-0/+2
| | | | | Message-ID: <35842ac5.7883075@smtp1.ibm.net> p4raw-id: //depot/perl@1126
* [asperl] fix various shenanigans with C<environ>, BC and VC builds now passGurusamy Sarathy1998-05-291-4/+0
| | | | | all tests p4raw-id: //depot/asperl@1049
* [asperl] integrate latest win32 branchGurusamy Sarathy1998-02-221-1/+1
|\ | | | | p4raw-id: //depot/asperl@569
| * [win32] fix mingw32 gcc 2.8.0 build (DLLs generated seem to be brokenGurusamy Sarathy1998-02-161-1/+1
| | | | | | | | | | in this version of gcc!) p4raw-id: //depot/win32/perl@529
* | [asperl] integrate win32 branch contentsGurusamy Sarathy1998-02-091-0/+9
|\ \ | |/ | | p4raw-id: //depot/asperl@493
| * [win32] win32_utime() tweaks to avoid warningsGurusamy Sarathy1998-02-091-1/+7
| | | | | | p4raw-id: //depot/win32/perl@487
| * [win32] integrate mainline, plus a few small win32 enhancementsGurusamy Sarathy1998-02-071-0/+3
| | | | | | | | | | | | | | - remove Win32::GetCurrentDirectory() - add Win32::Sleep() for compat - add smarter utime() from Jan Dubois, and export it as win32_utime() p4raw-id: //depot/win32/perl@486
* | [asperl] added AS patch#2Gurusamy Sarathy1998-01-301-0/+9
|/ | | p4raw-id: //depot/asperl@443