Commit Graph

1457 Commits

Author SHA1 Message Date
Corinna Vinschen 37f75da24d * uname.cc (uname): Eliminate os specific retrieving of x86
processor type.
2001-09-04 20:16:33 +00:00
Christopher Faylor fb7369b515 * winbase.h: Add missing closing parentheses to InterlockedExchangePointer
declaration.
2001-09-04 18:19:33 +00:00
Earnie Boyd 2d54484a72 2001-09-01 Danny Smith <dannysmith@users.sourceforge.net>
* include/shlobj.h (CFSTR_* ): Add new defines.
	Thanks to: "Ron" <ron@debian.org> .
	Unicode them.
2001-09-04 14:57:51 +00:00
Corinna Vinschen 29ebba7050 2001-09-04 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* fhandler_console.cc (fhandler_console::char_command): Save the cursor
        position relative to the top of the window.
        * fhandler_cc (fhandler_console::write): Ditto.
2001-09-04 10:45:54 +00:00
Christopher Faylor f90e39b55e * mount.cc (mount_commands): Don't write /cygdrive/u mount points. 2001-09-04 01:09:39 +00:00
Christopher Faylor bee722a5e7 * mount.cc (longopts): Add mount-commands to options list.
(usage): Add mount-commands option.
(mount_commands): New function.  Write commands to recreate current mounts.
2001-09-03 22:02:54 +00:00
Christopher Faylor 7170a41bc8 *** empty log message *** 2001-09-03 20:36:52 +00:00
Corinna Vinschen 2321ebb2aa * dir.cc (opendir): Write version information to __d_dirent->d_version. 2001-09-03 19:06:58 +00:00
Corinna Vinschen a71aee46c4 * cygwin.din: Add `dirfd'.
* dir.cc (dirfd): New function.
        (opendir): Open a directory file descriptor and save it in
        __d_dirent->d_fd.
        (closedir): Close directory file descriptor.
        * include/cygwin/version.h: Bump API minor version to 44.
2001-09-03 16:36:54 +00:00
Christopher Faylor 9867ecfdb3 * child_info.h: Modify magic number.
* dcrt0.cc (_cygwin_testing): Define.
(_dll_crt0): Set _cygwin_testing if CYGWIN_TESTING environment variable exists.
Don't issue "conflicting versions" error if _cygwin_testing is true.
* shared.cc (shared_name): Use _cygwin_testing global rather than testing the
environment.
* syscalls.cc (_write): Remove debugging info.
2001-09-03 02:13:05 +00:00
Christopher Faylor db8b09c306 * mount.cc (main): Eliminate excess arguments in printf. 2001-09-01 19:58:40 +00:00
Christopher Faylor 2bcd6fb89d * include/winnt.h: Use defined(_ANONYMOUS_STRUCT) to determine if anonymous
structs are available rather than just testing preprocessor variable directly.
2001-09-01 14:42:57 +00:00
Christopher Faylor 2496a3637f * tty.cc (tty::create_inuse): Eliminate unneeded argument.
* tty.h: Reflect above change.
* fhandler_tty.cc: Reflect argument reduction in tty::create_inuse, throughout.
Always make inuse inheritable.
2001-09-01 05:38:46 +00:00
Christopher Faylor e62ac9e869 * debug.cc (mark_closed): Rename from debug_mark_closed and make static.
(setclexec_pid): New function for marking saved handle as close-on-exec.
(delete_handle): New function.
(debug_fixup_after_fork): New function.
* debug.h: Declare new functions, remove obsolete ones.
* fork.cc (debug_fixup_after_fork): Call to cleanup close-on-exec handles.
* fhandler.cc (fhandler_disk_file::close): Minor reorg.
(fhandler_base::set_inheritance): Set flag appropriately for debugging when
close-on-exec so forked process can delete closed handles.
* tty.h (open_output_mutex): Eliminate unneeded argument.
(open_input_mutex): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): reflect open_*_mutex argument
changes.
* fhandler.h (fhandler_socket): Make saw_shutdown_* functions type bool.
* tty.cc (tty::get_event): Eliminate unneeded argument.
(tty::common_init): Reflect change to get_event.  Events should always be
inherited.
2001-09-01 05:17:34 +00:00
Corinna Vinschen dc8c4c68b7 * security.cc (create_token): Change initialization of `exp' to comply
with new LARGE_INTEGER definition in winnt.h.
2001-08-31 19:48:34 +00:00
Corinna Vinschen 75f259bfe3 * include/winnt.h: Change definition of `SYSTEM_LUID' to comply
with new `LARGE_INTEGER' definition.
2001-08-31 19:48:04 +00:00
Christopher Faylor 5ac73dfead * cygwin.sc: Revert to previous NO_COPY behavior.
* winsup.h: Ditto.
* sigproc.cc: Ditto.
* autoload.cc: Ditto.
2001-08-31 18:16:16 +00:00
Christopher Faylor 5e2ccd4bc2 minor wording change. 2001-08-31 05:24:36 +00:00
Christopher Faylor fcc46b19d3 space reduction. 2001-08-31 05:23:04 +00:00
Christopher Faylor fff42f4172 space reduction. 2001-08-31 05:17:47 +00:00
Christopher Faylor 5835f2cf8d * cygwin.sc: New file -- linker script for building cygwin DLL.
* Makefile.in: Use linker script to control location of cygheap.
* cygheap.cc (buckets): Make static.
(init_cheap): Remove special iswinnt handling.  Allocate cygheap at a fixed
location.  Display more info when allocation fails.
(cygheap_fixup_in_child): Try harder to move cygheap to correct location.
Display more info when allocation fails.
* fhandler.h (fhandler_socket): Add macros for tracking socket shutdown state.
* net.cc (cygwin_shutdown): Set appropriate shutdown value for future use.
* select.cc (select_stuff::cleanup): New method.
(cygwin_select): Call cleanup explicitly to avoid a race.
(select_stuff:~select_stuff): Call cleanup chain via cleanup method.
(fhandler_socket::select_read): Set *_ready when shutdown has been called on
the socket.
(fhandler_socket::select_write): Ditto.
(fhandler_socket::select_except): Ditto.
* winsup.h: Move NO_COPY to "COMMON" section.
* autoload.cc (wsock_started): Avoid initializing NO_COPY value.
* sigproc.cc: Remove initialization from NO_COPY variables.
(sigproc_init): Initialize sig_loop_wait here, rather than via initialization.
(subproc_init): Initialize proc_loop_wait here, rather than via initialization.
2001-08-31 05:06:14 +00:00
Egor Duda 33bc82476e * dumper.h: Update copyright notice.
* dumper.cc: Ditto.
* dumper.cc: (dumper::print_core_section_list): New function.
* dumper.h: (dumper::print_core_section_list): Declare it.
* dumper.cc (print_section_name): New function.
(dumper::collect_process_information): Augment debugging output.
Stop debugee processing if it posts double exception.
(usage): Fix typo in option name.
2001-08-30 16:47:51 +00:00
Christopher Faylor 4208d592f3 * include/winsock2.h: Remove "extra token" after #endif. 2001-08-30 13:37:23 +00:00
Corinna Vinschen f0b4b3865d * select.cc (select_read): Add setting read_ready flag.
(select_write): Add setting write_ready flag.
2001-08-30 08:21:09 +00:00
Earnie Boyd bca00ab4b6 * config.guess: Remove the \r from the end of line.
* config.sub: Ditto.
	* include/winnt.h: Allow anonymous struct in [U]LARGE_INTEGER
	if __cplusplus as well as if _ANONYMOUS_STRUCT.
	* config.guess: Add the MSYS system.
	* config.sub: Ditto.
	* include/winsock.h: Add the __INSIDE_MSYS__ protections.
	* incldue/winsock2.h: Ditto.
2001-08-30 04:29:49 +00:00
Earnie Boyd d1b093d567 * include\winnt.h: Allow anonymous (Xxx.LowPart) or
non-anonymous (Xxx.u.LowPart) access to HighPart and
	LowPart of a LARGE_INTEGER or ULARGE_INTEGER.
	* include/wingdi.h (HANGUL_CHARSET): Add define.
2001-08-29 13:45:46 +00:00
Earnie Boyd 375dab8418 * include/stdarg.h (va_list): Typedef as __builtin_va_list if
__GNUC__ >= 3.
	* include/varargs.h (va_list): Ditto.
	* include/stdio.h (va_list): Ditto.
2001-08-29 13:43:59 +00:00
Christopher Faylor 41d53c9845 * path.cc (path_conv::check): Avoid splitting off leading '/' in path component
when building a symlink.
2001-08-29 04:43:19 +00:00
Corinna Vinschen e4a17c6d11 * resource.cc (getrlimit): Return actual values on RLIMIT_STACK. 2001-08-28 22:48:23 +00:00
Christopher Faylor 955dfa520a oops 2001-08-28 20:39:22 +00:00
Christopher Faylor ffe94510f5 * dir.cc (rmdir): Report ENOENT when file doesn't exist rather than ENOTDIR. 2001-08-28 20:38:07 +00:00
Christopher Faylor 34971f0f8c * mount.cc (main): Issue correct warning for 'not enough arguments'. 2001-08-28 18:48:38 +00:00
Christopher Faylor 8d661d3658 * select.cc (cygwin_select): Ensure that arguments are zeroed on timeout.
(select_stuff::wait): Ditto.
2001-08-27 15:59:26 +00:00
Christopher Faylor e32b4e81cb * syscalls.cc (check_tty_fds): New function. Check whether there is a fd
referring to pty slave.
(setsid): Don't detach console if the process has a pty slave.
2001-08-25 17:27:31 +00:00
Corinna Vinschen 5d0fe6351a * net.cc (free_addr_list): Add define for symmetry.
(free_hostent_ptr): Use free_addr_list to free h_addr_list element.
        (dup_addr_list): New static function.
        (dup_hostent_ptr): Use dup_addr_list instead of dup_char_list in order
        to handle embedded null characters.
2001-08-24 06:57:53 +00:00
Christopher Faylor ecaff08ccd * dtable.cc (dtable::dup2): Allow extension of fd table by dup2.
* syscalls.cc: Minor code cleanup.
(fpathconf): Check for bad fd before doing anything else.
* termios.cc (tcsetattr): Don't convert to new termios if bad fd.
(tcgetattr): Minor debugging tweak.
2001-08-23 02:27:01 +00:00
Corinna Vinschen cb19ccf4b5 * net.cc (cygwin_inet_ntoa): Rearrange previous patch to use
thread local buffer space when compiled thread safe.
        (cygwin_getprotobyname): Ditto.
        (cygwin_getprotobynumber): Ditto.
        (cygwin_getservbyname): Ditto.
        (cygwin_getservbyport): Ditto.
        (cygwin_gethostbyname): Ditto.
        (cygwin_gethostbyaddr): Ditto. Move near to cygwin_gethostbyname.
        * thread.h (struct _winsup_t): Add pointers for above used buffer space.
        * passwd.cc (getpwduid): Remove initializing passwd.
        (setpwent): Ditto.
        (endpwent): Ditto.
        (setpassent): Ditto.
2001-08-22 21:51:48 +00:00
Christopher Faylor 0a047e8f32 * smallprint.c (console_printf): New function.
* dcrt0.cc (dll_crt0_1): Use console_printf for debugging output.
* debug.cc (debug_mark_closed): New function.
(close_handle): Use debug_mark_closed.
* debug.h: Declare new functions.
* dtable.cc (dtable::build_fhandler): Remove unneeded extern.
* spawn.cc: Cosmetic changes.
* winsup.h: Define NO_COPY for C files, too.  Declare a global.
2001-08-22 17:50:22 +00:00
Corinna Vinschen 1fdc8df95d * net.cc (free_char_list): New static function.
(dup_char_list): Ditto.
        (free_protoent_ptr): Ditto.
        (dup_protoent_ptr): Ditto.
        (free_servent_ptr): Ditto.
        (dup_servent_ptr): Ditto.
        (free_hostent_ptr): Ditto.
        (dup_hostent_ptr): Ditto.
        (cygwin_inet_ntoa): Use local static buffer to allow propagating of
        the result to child processes.
        (cygwin_getprotobyname): Ditto.
        (cygwin_getprotobynumber): Ditto.
        (cygwin_getservbyname): Ditto.
        (cygwin_getservbyport): Ditto.
        (cygwin_gethostbyname): Ditto.
        (cygwin_gethostbyaddr): Ditto.
2001-08-22 15:31:59 +00:00
Christopher Faylor d4d65813a7 fix typo. 2001-08-22 02:40:22 +00:00
Earnie Boyd de8e9cfb39 * include/setupapi.h : New file.
* lib/setupapi.def:New file.
	* lib/test.c: Include setupapi.h.
	* include/winioctl.h (_DISK_PERFORMANCE): Correct typo.
	* include/richedit.h (ENLINK): Add structure definition.
	(EM_AUTOURLDETECT, EN_LINK, ENM_LINK): Add defines.
	* include/shlobj.h (CMIC_*): Remove duplicate defines.
	(CMDSTR_*): Remove duplicates; UNICODE string constants.
	(GCS_*): Make UNICODE.
	(CSIDL_*): Add more defines.
	* include/winioctl.h (_MEDIA_TYPE): Add pointer typedef.
	(_DISK_GEOMETRY): Ditto.
	(_DISK_PERFORMANCE): Ditto.
	* include/winbase.h (HasOverlappedIoCompleted): Add macro.
	* include/winnt.h: Move CHAR, SHORT and LONG typedefs outside
	of block protected by #ifndef VOID.
	(This reverts 1998-12-01 Anders Norlander change.)
	* include/odbcinst.h: End file with newline.
	* include/raserror.h: Ditto.
	* include/winsock2.h (#include <wtypes.h): Don't.
	(_BLOB): Define instead, if not already done.
	(__BLOB_T_DEFINED: New define for guarding _BLOB.
	* include/wtypes.h (_BLOB): Guard against prior definition.
	* include/oaidl.h (tagVARIANT): Mark anonymous structs and unions
	 as 	__extension__.
	(tagTYPEDESC): Ditto.
	(_wireBRECORD): Add structure definition.
	(_wireSAFEARR_BRECORD): Ditto.
	(_wireSAFEARR_HAVEIID): Ditto.
	(_wireSAFEARRAY_UNION.u): Add fields SAFEARR_BRECORD RecordStr,
	SAFEARR_HAVEIID HaveIidStr.
	(tagVariant): Add fields _VARIANT_BOOL bool,*pbool.
	(_wireVARIANT): Change field parray to type wirePSAFEARRAY,
	pparray to wirePSAFEARRAY*.
	(_wireVARIANT): Add field wireBRECORD brecVal.
	(wireVARIANT): Change typedef to struct _wireVariant*.
	(IRecordInfo): Add interface definition.
	(LPRECORDINFO): Add typedef for IRecordInfo*.
	(IID_IRecordInfo): Add forward decalaration.
	* include/lmcons.h: Guard CNLEN and UNCLEN against prior definition.
	* include/nddeapi.h: Likewise.
	* ChangeLog: Formatting and typo fixes.
2001-08-21 13:58:52 +00:00
Christopher Faylor d9b68c2c7d debug 2001-08-20 16:03:54 +00:00
Christopher Faylor b1d0b9073c * cygheap.cc (init_cheap): Allocate cygheap in shared memory for Windows NT. 2001-08-20 15:58:16 +00:00
Egor Duda 933cbf6213 * fhandler_socket.cc (fhandler_socket::create_secret_event): Relax
security of secret_event so AF_UNIX socket clients can connect to
servers even if running under a different user account.
(fhandler_socket::check_peer_secret_event): Ditto.
2001-08-16 14:34:27 +00:00
Corinna Vinschen 1457739a63 * resource.cc (getrlimit): Return getdtablesize () as current limit
on RLIMIT_NOFILE.
        * syscalls.cc (getdtablesize): Return OPEN_MAX if current dtable size
        is less than OPEN_MAX, the current dtable size otherwise.
        * sysconf.cc (sysconf): Return getdtablesize () on _SC_OPEN_MAX.
2001-08-16 14:29:21 +00:00
Corinna Vinschen 3171175e90 * resource.cc (getrlimit): Return OPEN_MAX as current limit
on RLIMIT_NOFILE.
        * syscalls.cc (getdtablesize): Return OPEN_MAX.
        * sysconf.cc (sysconf): Return OPEN_MAX on _SC_OPEN_MAX.
        * include/limits.h (OPEN_MAX): Define as 256.
2001-08-16 14:20:09 +00:00
Corinna Vinschen 91a1423a87 * times.cc (utimes): Revert previous change. Just open the
file using FILE_WRITE_ATTRIBUTES instead of GENERIC_WRITE
        on NT/W2K.
2001-08-15 10:48:43 +00:00
Corinna Vinschen 2a9366ff49 * security.cc (set_nt_attribute): Return always -1 in case of
a failure.
        * times.cc (utimes): On NTFS with ntsec ON, change the file's
        security descriptor temporarily to acquire write access if
        opening the file failed.
2001-08-15 10:21:39 +00:00
Corinna Vinschen 5fd12fb0cc * fhandler.cc (fhandler_base::is_nonblocking): New method.
(fhandler_base::set_nonblocking): Ditto.
        * fhandler.h (fhandler_base): Declare new methods `is_nonblocking' and
        `set_nonblocking'.
        * fhandler_socket.cc (fhandler_socket::ioctl): Use `set_nonblocking'.
        * fhandler_tty.cc (fhandler_pty_master::process_slave_output):
        Use `is_nonblocking'.
        (fhandler_tty_slave::read): Ditto.
        (fhandler_tty_slave::ioctl): Use `set_nonblocking'.
        (fhandler_pty_master::ioctl): Ditto.
        * net.cc (cygwin_sendto): Fallback to winsock 1 functionality
        in case of nonblocking IO.
        (cygwin_recvfrom): Ditto.
        (cygwin_recv): Ditto.
        (cygwin_send): Ditto.
        * syscalls.cc (_read): Use `is_nonblocking'.
2001-08-15 07:49:15 +00:00
Christopher Faylor da3ea61edd * cygpath.cc (main): Support -w for Windows (System) directories and return
physical correct orthography for the Windows System dir.
2001-08-15 03:24:18 +00:00
Christopher Faylor 3ca6bcc4d0 * include/cygwin/version.h: Bump API version. 2001-08-14 15:05:43 +00:00
Egor Duda 7da232abd7 * spawn.cc (spawn_guts): Enable appropriate privilege before
loading user's registry hive.
2001-08-14 14:57:44 +00:00
Corinna Vinschen 6a574f1ad6 * fhandler.cc (fhandler_base::fcntl): Use new O_NONBLOCK_MASK define.
* fhandler.h: Move definitions of O_NOSYMLINK, O_DIROPEN and
        OLD_O_NDELAY from winsup.h to here. Add O_NONBLOCK_MASK define.
        * fhandler_socket.cc (fhandler_socket::close): Add hack to allow
        a graceful shutdown even if shutdown() hasn't been called by the
        application. Add debug output.
        (fhandler_socket::ioctl): Set fhandler's NONBLOCK flag according
        to FIONBIO setting.
        (fhandler_socket::fcntl): Use new O_NONBLOCK_MASK define. Actually
        set `request' before using it.
        * fhandler_tty.cc: Use new O_NONBLOCK_MASK define throughout.
        (fhandler_tty_slave::ioctl): Set fhandler's NONBLOCK flag according
        to FIONBIO setting.
        (fhandler_pty_master::ioctl): Ditto.
        * net.cc (wsock_event::prepare): Compare WSACreateEvent return code
        with `WSA_INVALID_EVENT' according to MSDN.
        * syscalls.cc (_read): Use new O_NONBLOCK_MASK define.
2001-08-14 07:41:45 +00:00
Christopher Faylor 29a075260a Oops. Forgot to check in include/wchar.h??? 2001-08-11 01:56:53 +00:00
Earnie Boyd 6286806473 * lib/kernels.c: New file. 2001-08-10 11:52:35 +00:00
Earnie Boyd 5b9d54bf97 * lib/test.c (Win32_Winsock): Replace with __USE_W32_SOCKETS.
Add more includes of w32api headers.
	* include/winnt.h (GetCurrentFiber): Change __inline to __inline__.
	Swap asm code with that of GetFiberData.
	(GetFiberData): Ditto.
	* lib/kernels.c: New file, containing library versions of
	GetCurrentFiber and GetFiberData.
	* lib/makefile.in: Add kernel32.o as static object to libkernal32.a.
2001-08-10 11:51:03 +00:00
Christopher Faylor f11db2f4fa * include/wchar.h: Define __need_wint_t. 2001-08-08 19:26:24 +00:00
Earnie Boyd 89500585f7 * include/winuser.h (GET_WHEEL_DELTA_WPARAM): Add macro.
* lib/oleaut32.def: Regenerate.
2001-08-08 17:25:23 +00:00
Corinna Vinschen 8c62297ac5 * security.cc (alloc_sd): Revert to setting inheritance attribute for
permissions given to directories. Never set inheritance on NULL ACE.
2001-08-08 10:00:35 +00:00
Corinna Vinschen c0ae23dc47 * security.cc (alloc_sd): Don't set FILE_DELETE_CHILD for group
if S_ISVTX attribute is given.
        * dir.cc (mkdir): Allow immediate setting of S_ISUID, S_ISGID and
        S_ISVTX attribute.
        * syscalls.cc (_open): Ditto.
2001-08-07 16:14:59 +00:00
Corinna Vinschen 86fb039324 * dir.cc (mkdir): Set security attributes correctly for
CreateDirectoryA () call if ntsec is on. Don't call
        set_file_attributes () then.
        * fhandler.cc (fhandler_base::open): Ditto for CreateFileA () call.
        * path.cc (symlink): Ditto.
        * security.cc (set_security_attribute): New function.
        * security.h: Add declaration for `allow_ntea' and
        `set_security_attribute'.
2001-08-07 15:09:54 +00:00
Corinna Vinschen f5e8e2be4a * grp.cc (class grp_check): New class. Make `group_state'
a member of class grp_check.
        (read_etc_group): Free former allocated memory on reread.
        * passwd.cc (class pwd_check): New class Make `passwd_state'
        a member of class pwd_check.
        (read_etc_passwd): Free former allocated memory on reread.
2001-08-07 08:56:22 +00:00
Christopher Faylor 300624d4f3 * fhandler_console.cc (get_tty_stuff): Don't initialize shared memory console
area if it is already initialized.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Augment debugging info.
2001-08-07 05:15:59 +00:00
Christopher Faylor 96a3f4ae68 * cygheap.cc (cygheap_root::set): Avoid treating '/' specially.
* fhandler.cc (fhandler_base::fcntl): Only set specific O_NDELAY style flag
passed in from application.
* fhandler_socket.cc (fhandler_socket::fcntl): Ditto.
* fhandler.h: Set constant for future use.
* winsup.h: Define OLD_O_NDELAY only for old programs.
* include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_OLD_O_NONBLOCK.
2001-08-07 00:01:42 +00:00
Earnie Boyd 386abb05d9 * include/stdlib.h (_wpgmptr): Don't declare ifndef __MSVCRT__.
* include/stdio.h (_IORW): Change constant to 0x0080.
	(TMP_MAX): Add new define.
	(_P_tmpdir): Ditto.
	(_wP_tmpdir): Ditto.
	(L_tmpnam): Change constant to 16.
	* include/malloc.h: Fix non-ANSI comment after #endif.
	* profile/Makefile.in (mkinstalldirs): Correct relative path.
2001-08-05 12:52:43 +00:00
Earnie Boyd 54580e6a88 * include/wtypes.h: (DECIMAL_SETZERO): Correct typo.
* include/oleidl.h (ISupportErrorInfo, ICreateInfo): Move from here
	* include/oaidl.h: ... to here.
	* include/oaidl.h ICreateErrorInfo): Add interface definition.
	(IErrorInfo::GetGUID): Change arg to GUID.
	(LPSUPPORTERRORINFO): Add typedef.
	(IID_ISupportErrorInfo): Change forward decl. of type to IID.
	* include/winsock2.h (WSAGET* and WSAMAKE*): Remove duplicate
	defines.
	* include/commctrl.h (TreeView_SetIndent): Correct typo.
	* include/commctrl.h (TBSTYPE_FLAT): Remove define.
	* include/commctrl.h (TBBUTTONINFO[AW]): Add struct definitions,
	and UNICODE mappings, if _WIN32_IE >= 0x400.
	(TBIF_* and TB_SETBUTTONINFO): Add defines, if _WIN32_IE >= 0x400.
	(CDIS_*,CDDS_*,CDRF_*) : Add defines.
	(tagNMCUSTOMDRAWINFO): Add struct definition and typedefs.
	(tagNMLVCUSTOMDRAW): Likewise.
	(tagNMTVCUSTOMDRAW): Likewise.
	(tagNMLVCACHEHINT): Likewise.
	* include/basetsd.h (#include <_mingw.h>): Remove.
	(__int64): Define.
	* include/wingdi.h (AC_SRC_OVER): Add define.
	(struct _BLENDFUNCTION): Add.
	* include/shlobj.h:  Add BIF_* defines.
	* include/winerror.h (E_PENDING): Add error code define.
	* include/basetsd.h (#include <_mingw.h>): Add directive.
	* include/winbase.h(InterlockedCompareExchange): Change args
	and return value from PVOID to LONG.
	(InterlockedExchange): Change first arg to LPLONG.
	(InterlockedCompareExchangePointer): New macro.
	(InterlockedExchangePointer): New macro.
2001-08-05 12:47:53 +00:00
Christopher Faylor e5ba4c060e Throughout, change check for running under Windows NT to 'iswinnt'.
* dcrt0.cc (set_os_type): Set 'iswinnt' appropriately.
* cygheap.cc (init_cheap): Revert to using VirtualAlloc for allocating cygheap.
(cygheap_setup_for_child_cleanup): New function.  Standard function to call
after calling CreateProcess to cleanup cygheap info passed to child.
(cygheap_fixup_in_child): Copy cygheap from shared memory into allocated space
under Windows 9x or if can't relocate shared space under NT.
* cygheap.h: Declare new function.
* spawn.cc (spawn_guts): Use cygheap_fixup_in_child.
* fork.cc (fork_parent): Ditto.
* winsup.h: Declare iswinnt.
2001-08-04 21:10:52 +00:00
Egor Duda 17195d08bc * dtable.cc (dtable::release): Avoid messing with console when
closing socket.
2001-08-04 18:53:53 +00:00
Corinna Vinschen 7eb971a561 * net.cc (cygwin_accept): Allow NULL peer and len parameters.
* include/cygwin/socket.h: Define socklen_t as int.
2001-08-03 12:06:29 +00:00
Corinna Vinschen dce6f56397 * path.cc (fchdir): Set the fhandler's path to absolute value to
ensure changing to the correct directory even if the fhandler originally
        points to a relative path.
2001-08-03 11:14:09 +00:00
Corinna Vinschen 842c741f98 * security.cc (set_file_attribute): Clean up. Don't call
`set_nt_attribute' when ntsec isn't set.
2001-08-02 16:01:47 +00:00
Christopher Faylor e13ea3343d * dcrt0.cc (alloc_stack_hard_way): Make half-hearted attempt to deal with
growing stack under Windows 95.
* Makefile.in: Add install-lib and install-headers.
2001-07-29 02:33:30 +00:00
Christopher Faylor 8e4e3874c4 * cygwin.din: Export sys_errlist, sys_nerr.
* include/cygwin/version.h: Bump minor version number.
2001-07-27 16:33:20 +00:00
Corinna Vinschen 8b43d2722b * security.cc (get_user_primary_group): Fix compiler warning.
(alloc_sd): Add DELETE permission for user when S_IWUSR is given.
2001-07-27 09:17:57 +00:00
Christopher Faylor f9f2c11985 * thread.cc (__pthread_equal): Invert return value so that true is returned
when threads are equal.
2001-07-26 20:47:05 +00:00
Christopher Faylor 351a85482c Christopher Faylor <cgf@cygnus.com>
* cygwin.din: Export __signgam.
* include/cygwin/version.h: Bump minor version number.
2001-07-26 20:42:52 +00:00
Christopher Faylor 6b91b8d53b Throughout, reorganize header file inclusion to put security.h prior to
fhandler.h.
* fhandler.h (fhandler_base::get_inheritance): New method.
* fhandler_socket.cc (fhandler_socket::create_secret_event): Use proper
close-on-exec inheritance when creating.
(fhandler_socket::check_peer_secret_event): Create handle as non-inheritable.
2001-07-26 19:22:24 +00:00
Christopher Faylor 0cc642a5f1 * syscalls.cc (setsid): Detach process from its console if the current
controlling tty is the console and already closed.
* dtable.h (class dtable): Add members to count descriptors referring to the
console.
* dtable.cc (dtable::dec_console_fds): New function to detach process from its
console.
(dtable::release): Decrement the counter of console descriptors.
(dtable::build_fhandler): Increment it.
* exception.cc (ctrl_c_handler): Send SIGTERM to myself when catch
CTRL_SHUTDOWN_EVENT.
2001-07-26 00:10:52 +00:00
Robert Collins 811bf2902d Tue 24 Jul 2001 02:28:00 PM Trevor Forbes <t4bs@hotmail.com>
* thread.cc (verifyable_object_isvalid): Don't validate
	PTHREAD_MUTEX_INITIALIZER pointer as it will cause an exception
	in IsBadWritePtr() when running GDB.
2001-07-25 23:46:25 +00:00
Corinna Vinschen 09ff05f7f9 * localtime.c: Changed whole file to become C++ clean. Rename to
localtime.cc.
        * localtime.cc (tzload): Preserve errno.
2001-07-25 21:58:21 +00:00
Christopher Faylor a7670c1e82 * cygheap.cc (cygheap_fixup_in_child): Attempt Win95 workaround.
* dtable.cc (dtable::dup_worker): Add debugging output.
(dtable::vfork_child_dup): Correctly set close_on_exec.
* fhandler.cc (fhandler_base::fork_fixup): Don't mess with handle if there is
no need to get it from the parent.
* fhandler_tty.cc (fhandler_tty_common::close): Add debugging output.
2001-07-21 03:20:01 +00:00
Corinna Vinschen 1801eae1b1 * dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE. 2001-07-20 07:24:02 +00:00
Christopher Faylor aea57aa057 fix typo. 2001-07-19 15:27:59 +00:00
Christopher Faylor 16828fc5d4 * cygheap.cc (_cmalloc): Use correct constants for size calculation.
* dcrt0.cc (dll_crt0_1): Move uid initialization earlier.
* fork.cc (fork_parent): Move cygheap_setup_in_child to just prior to
CreateProcess so that all contents of cygheap are copied.
* spawn.cc (spawn_guts): Ditto.
2001-07-18 17:05:34 +00:00
Corinna Vinschen c9fbce2641 * security.cc (get_user_groups): Call Net function with NULL server
name under specific error conditions.
        (is_group_member): Ditto.
        (get_user_local_groups): Ditto.
        (get_user_primary_group): Ditto.
2001-07-18 12:56:26 +00:00
Corinna Vinschen 5564cd7a89 * syscalls.cc (_unlink): Explicitely check for non-existant file. 2001-07-18 11:00:05 +00:00
Corinna Vinschen 3ef6288c74 * delqueue.h: Remove obsolete file. 2001-07-17 08:28:27 +00:00
Christopher Faylor 5457dfcb81 * child_info.h: Bump magic number.
(class child_info): Add an element.
* cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area.
(cygheap_fixup_in_child): Map cygwin heap, passed from parent via shared memory
into correct address.
(cygheap_setup_for_child): New function.
* cygheap.h: Declare new functions.
* dcrt0.cc (dll_crt0_1): Accomodate new cygheap_fixup_in_child arguments.
Avoid protecting subproc_ready unless it is spawn/nowait.
* fork.cc (fork_parent): Use new cygheap_setup_for_child function to setup
cygwin heap info.  Close passed cygheap shared memory handle.
* spawn.cc (spawn_guts): Ditto.  Also, reorganize to avoid synchronization
between parent and child in non-P_OVERLAY case.
* sigproc.cc (wait_sig): Only signal subproc_ready when execing.
2001-07-17 03:41:52 +00:00
Corinna Vinschen 27ea31cde4 * grp.cc: Add missing Copyright date 2001. 2001-07-16 13:22:29 +00:00
Corinna Vinschen 3a157c0d0d Change well_known_admin_sid to well_known_admins_sid throughout.
* sec_acl.cc (setacl): Never set DELETE permission. Set
        FILE_DELETE_CHILD only on readable and executable directories.
        * sec_helper.cc: Add constructor for `well_known_null_sid'.
        * security.cc (get_nt_attribute): Set S_ISVTX for directories if
        FILE_WRITE_DATA and FILE_EXECUTE but not FILE_DELETE_CHILD is set.
        Add evaluation of S_ISVTX, S_ISGID and S_ISUID from NULL ACE.
        (alloc_sd): Never set DELETE permission. Set FILE_DELETE_CHILD
        only on readable and executable directories.
        Add creation of NULL ACE for S_ISVTX, S_ISGID and S_ISUID permissions.
        * security.h: Add extern declaration for `well_known_null_sid'.
2001-07-15 22:40:07 +00:00
Corinna Vinschen 4c61c04cd3 * regtool.cc (find_key): Handle keys with only one subkey. 2001-07-15 11:27:23 +00:00
Christopher Faylor fc901253d1 * syscalls.cc (stat_worker): Simplify previous change. 2001-07-14 00:09:33 +00:00
Christopher Faylor 2aa2adb2d2 * syscalls.cc (_unlink): Correct (?) logic which determines when to report an
access violation and when to queue file for eventual deletion.
(stat_worker): Check for invalid buf argument.
2001-07-13 17:22:15 +00:00
Corinna Vinschen 8595942c8e * mmap.cc (fhandler_disk_file::mmap): Try to open file mappings
by a unified name when running under 9x/ME. If that failes, create
        the file mapping using the unified name.
2001-07-10 21:04:14 +00:00
Corinna Vinschen a8506a1917 * uinfo.cc (internal_getlogin): Add pointer check. 2001-07-09 09:05:17 +00:00
Corinna Vinschen 5d0cbc17db * security.cc (alloc_sd): Don't set inheritance attribute for
permissions given to directories.
2001-07-09 09:02:41 +00:00
David Starks-Browning a761b473ad WinME also affected by missing pipe key 2001-07-06 00:57:52 +00:00
David Starks-Browning a79001009b New entry "Why doesn't Cygwin tcl/tk understand Cygwin paths?" 2001-07-06 00:40:38 +00:00
David Starks-Browning 25c06979ef New entry: "Why don't international (8-bit) characters work?" 2001-07-06 00:30:23 +00:00
David Starks-Browning 0acab04bbe New "Known Problems" entry: Pipe key doesn't work on non-US kbds on Win9x.
Some cosmetic changes.
2001-07-06 00:16:13 +00:00
David Starks-Browning 9fbb1738c4 better instructions for installing cygwin snapshots 2001-07-05 23:58:34 +00:00
David Starks-Browning 3f5ab6915c New entry "Where is the su command?" 2001-07-05 23:29:43 +00:00
David Starks-Browning c3ac95e258 "How do I rebuild the tools on my NT box?": texi2html now provided. 2001-07-04 23:36:16 +00:00
David Starks-Browning 0ef44b84e6 "Why the weird directory structure?": new mount output format.
"Why can't I run bash as a shell under NT Emacs?": new title.
2001-07-04 23:30:17 +00:00
David Starks-Browning 7414c97eb3 Update "Can I use setup to install snapshots?" (now 'no') with new instructions. 2001-07-04 23:21:49 +00:00
David Starks-Browning d3f2880903 Add caveat that contents list is always out of date.
Remove entry "Setup screwed up my mounts!"
2001-07-04 23:00:31 +00:00
David Starks-Browning a43d0f3e07 just a bit more... 2001-07-04 22:54:16 +00:00
David Starks-Browning 7b49219617 Add more to entry "How do I print under Cygwin"? 2001-07-04 22:52:58 +00:00
David Starks-Browning f215088f81 Add apropos and /usr/sbin/makewhatis to "Why doesn't man work?" entry. 2001-07-04 21:14:41 +00:00
Christopher Faylor 2113bf6c1a * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Return 0 for success. 2001-06-29 02:20:01 +00:00
Christopher Faylor 288f125efd * regtool.cc (find_key): Revert previous change. 2001-06-28 02:46:11 +00:00
Christopher Faylor 7a4078ee34 Change check_null_empty_path* to check_null_empty_str* throughout.
* path.cc (path_conv::check): Add signal protection here since retrieving info
about remote shares can take some time.
* path.h (check_null_empty_str_errno): Convert to a function prototype.
* path.cc (check_null_empty_str): Move to miscfuncs.cc.
* miscfuncs.cc (check_null_empty_str_errno): New function.
(__check_null_invalid_struct): Ditto.
(__check_null_invalid_struct_errno): Ditto.
(check_null_empty_str): Change from VirtualQuery to IsBadWritePtr.
* thread.cc (check_valid_pointer): Ditto.
* resource.cc (getrlimit): Use check_null_invalid_struct macro for checking
validity of pointer.
(setrlimit): Ditto.
2001-06-28 02:19:57 +00:00
Christopher Faylor c135faa8b3 * regtool.cc (find_key): Allow '/' as a synonym for '\\'. 2001-06-27 17:38:40 +00:00
Christopher Faylor 07c3cd5bb1 * fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3 characters
being read for executable test since we could be checking for less than that.
* syscalls.cc (stat_worker): Try opening the file the "correct" way first so
that #! processing can potentially happen.  If that fails, then use "query
open" method.
* spawn.cc (spawn_guts): Delay processing of signal until after we've notified
parent about reparenting.
2001-06-26 21:03:08 +00:00
Christopher Faylor 32c3034969 Remove trailing tabs. 2001-06-26 14:57:33 +00:00
Christopher Faylor 462f4effb1 * mmap.cc: Clean up *ResourceLock calls throughout.
* thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well as
WAIT_ABANDONED.
(__pthread_cond_timedwait): Calculate a relative wait from the abstime
parameter.
2001-06-26 14:47:48 +00:00
Christopher Faylor d006404dae forced commit 2001-06-24 22:26:53 +00:00
Christopher Faylor 7333875c53 Fix typo 2001-06-24 22:00:04 +00:00
Christopher Faylor 125205875b * exceptions.cc (interrupt_setup): Move actions from setup_handler to here.
(setup_handler): Move actions after a successful interrupt to interrupt_setup.
* fork.cc (vfork): Augment debugging output.
* sigproc.cc (proc_subproc): Ditto.
* spawn.cc (spawn_guts): Ditto.  Correctly fill out progname when spawn
NO_WAIT.  Call signal handler when a signal arrives.
* sigproc.h: Declare a function.
2001-06-24 21:57:50 +00:00
Corinna Vinschen 50b1264871 * fhandler.h class fhandler_socket): Declare new method
`set_close_on_exec'.
        * fhandler_socket.cc (fhandler_socket::set_close_on_exec):
        New method.
2001-06-22 20:53:45 +00:00
Corinna Vinschen 3b295174e3 * fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set size
parameter to value expected by GetTapeParameters().
2001-06-22 20:13:00 +00:00
Corinna Vinschen 26da27a5f6 * fhandler_console.cc (fhandler_console::read): Detect AltGr more
robustly on WinNT.
2001-06-22 20:08:06 +00:00
Robert Collins b643afa4c7 2001-06-22 Robert Collins rbtcollins@hotmail.com
* thread.cc (__pthread_cond_timedwait): Lock the waiting mutex before
	the condition protect mutex to avoid deadlocking. (Found by Greg Smith).
	(__pthread_cond_wait): Ditto.
2001-06-21 22:27:20 +00:00
Egor Duda 9cc97acbd0 * fhandler.cc (fhandler_base::open): Work around windows bug when
CreateFile() with dwDesiredAccess == 0 called on remote share returns
valid handle even if file doesn't exist.
2001-06-20 07:44:33 +00:00
Egor Duda ae036f47c5 * fhandler_socket.cc (fhandler_socket::signal_secret_event): New
function.
* fhandler.h: Declare it.
* fhandler_socket.cc (fhandler_socket::create_secret_event): Don't
signal secret event immediately.
(fhandler_socket::check_peer_secret_event): Do it after peer event
was opened.
* net.cc (cygwin_connect): Or if socket is non-blocking.
(cygwin_accept): Ditto.
2001-06-20 06:50:13 +00:00
Earnie Boyd 4abaaac33c * lib/kernel32.def: Add LanguageGroup and UILanguage symbols.
Thanks to Kevin Chase <kevincha99@hotmail.com>.
2001-06-19 13:49:40 +00:00
Christopher Faylor 20a2c44362 * fhandler_tty.cc (fhandler_tty_slave::init): Revert 2001-06-16 change.
* fork.cc (fork_copy): Print more debugging info.
(fork_parent): Change order of arguments to accomdate buggy gcc.
(fork): Ditto.
* syscalls.cc (_unlink): Reorganize to try harder to delete file with
DeleteFile and to recover more gracefully if FILE_FLAG_DELETE_ON_CLOSE doesn't
work properly.
2001-06-18 21:18:59 +00:00
Christopher Faylor 36623e6535 Remove blank line. 2001-06-18 01:41:08 +00:00
Christopher Faylor 99a5bd2fab * exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not actually
stopping.
* fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set
controlling terminal if just inheriting a handle.
(fhandler_console::fixup_after_exec): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
* signal.cc (kill_worker): Set appropriate errno if proc_exists determines that
process does not really exist.
2001-06-16 17:09:19 +00:00
Christopher Faylor 947ab99ee9 * path.cc (path_conv::check): Deal more robustly with foo/ behavior. 2001-06-15 20:35:51 +00:00
Corinna Vinschen 4d52d5b0fb * fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size
parameter to value expected by GetTapeParameters().
2001-06-15 09:17:10 +00:00
Christopher Faylor 12a9c87480 * mkpasswd.c (main): Output passwd file in binary mode so that there are no CRs
in the file.
* umount.cc (remove_all_user_mounts): Don't try to remove /cygdrive mounts.
2001-06-15 04:50:57 +00:00
Christopher Faylor e8d6e78f34 * fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits for
directory when !ntsec && !ntea.  Also move common code prior to call to
get_attributes.
2001-06-15 00:21:06 +00:00
Christopher Faylor 47132198ad * thread.cc (pthread_cond::Signal): Release the condition access variable
correctly.
2001-06-14 23:53:27 +00:00
Egor Duda 96d95e535e * fhandler.cc (fhandler_base::open): Set win32 access flags
to 0, when requested.
* fhandler.h: New status flag FH_QUERYOPEN.
(fhandler::get_query_open): New function.
(fhandler::set_query_open): Ditto.
* syscalls.cc (stat_worker): Request query-only open mode.
2001-06-14 18:21:17 +00:00
David Starks-Browning c66261a731 Remove reference to Cygnus. 2001-06-14 08:43:42 +00:00
David Starks-Browning f87da0d4f3 teeny tiny typo 2001-06-14 08:38:24 +00:00
Christopher Faylor 340d35ad0b * who.texinfo: Oops. Add a couple of important folk. 2001-06-13 17:54:55 +00:00
Christopher Faylor 40ec4c5cdb * who.texinfo: Remove email addresses. Modernize. 2001-06-13 17:50:25 +00:00
Egor Duda 4c15b7aba0 * environ.cc (set_file_api_mode): New function. Move setting
of file APIs mode (OEM/ANSI) here.
(codepage_init): From here.
* winsup.h (set_file_api_mode): Declare it.
* fork.cc (fork_child): Set file APIs mode in forkee.
2001-06-12 11:31:05 +00:00
Earnie Boyd 66a7fbe263 * objidl.h (IMalloc::ReAlloc()): Correct declaration.
(IMalloc::Free()): Ditto.
2001-06-11 20:06:54 +00:00
Earnie Boyd 13a01ce06a * include/shlobj.h (REGSTR_PATH_EXPLORER): Unicode it.
(REGSTR_PATH_SPECIAL_FOLDERS): Ditto.
	* include/regstr.h (REGSTR_PATH_EXPLORER): Add #ifndef guard.
2001-06-11 19:18:52 +00:00
Earnie Boyd a1dd161b72 * profile/configure.in: Make msvcrt.dll version default.
* profile/makefile.in: Build both gcrt1.o and gcrt2.o.
	* provile/configure: Regenerate.
2001-06-11 18:57:39 +00:00
Earnie Boyd 05763a593c * include/shlobj.h (struct _browseinfo): UNICODE it.
(SHBrowseForFolder): Ditto.
	(SHGetPathFromIDList): Ditto.
2001-06-11 18:28:19 +00:00
Christopher Faylor f569bfcfb2 Add missing entry. 2001-06-11 18:20:53 +00:00
Earnie Boyd 37fb7a2ccb * include/stdio.h (swscanf): Make first arugument const.
* include/wchar.h (swscanf): Ditto.
	* include/tchar.h (_tfopen): New _UNICODE define.
	(_tgetenv): Ditto.
	(_tsetlocale): Ditto.
2001-06-11 18:13:15 +00:00
Christopher Faylor 3ecfcf5715 * pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x.
* autoload.cc: Autoload ToolHelp functions.
2001-06-11 17:57:10 +00:00
Earnie Boyd a179327987 * include/basetsd.h: RC_INVOKED protection and realignment.
Thanks to: Colin Peters <colinpeters@users.sourceforge.net>
2001-06-11 17:29:54 +00:00
Christopher Faylor f375b8d9f4 * path.cc (chdir): Fix call to path_conv constructor so that it REALLY doesn't
check for the null/non-empty path.
2001-06-11 15:20:49 +00:00
Christopher Faylor fc633b63a2 * path.cc (path_conv::update_fs_info): Don't consider remote drives to be NTFS.
Set root_dir before invoking GetDriveType (from Kazuhiro Fujieda
<fujieda@jaist.ac.jp>).  Eliminate extra checks for rootdir.
2001-06-11 03:38:32 +00:00