Commit Graph

4637 Commits

Author SHA1 Message Date
Earnie Boyd ef72590eb1 * include/limits.h: Change to new file header preamble. 2004-07-13 11:11:36 +00:00
Earnie Boyd aa726b09ae * include/_mingw.h: Increment minor version for 3.4 release.
* Makefile.in: Ditto.
2004-07-13 11:04:25 +00:00
Corinna Vinschen e3118d880b * mkgroup.cc (netapibufferallocate,netgroupgetinfo): New function
pointers.
	(load_netapi): Load NetApiBufferAllocate and NetGroupGetInfo.
	(enum_local_groups,enum_groups): Add disp_groupname parameter.
	Load info for disp_groupname if specified.
	(usage): Add description of "-g/--group" option.
	(longopts,opts): Add "-g/--group" option.
	(main): Process "-g/--group" option.
	* utils.sgml (mkgroup): Add description of "-g/--group" option
2004-07-12 16:52:16 +00:00
Danny Smith e4cb4efab3 * mingwex/math/cephes_emath.h (__etens): Remove declaration. 2004-07-12 07:33:17 +00:00
Danny Smith 1b0314715b * include/unistd.h (ftruncate): Add inline definition.
* mingwex/ftruncate.c: New file.
	* mingwex/Makefile.in: Add ftruncate.o to libmingwex.a.
2004-07-11 10:01:41 +00:00
Danny Smith 8261a23149 * include/time.h: Do not include sys/types.h. 2004-07-10 04:06:09 +00:00
Corinna Vinschen 1d4707111a * spawn.cc (spawn_guts): Check if script is executable. 2004-07-08 09:18:29 +00:00
Corinna Vinschen 95db28a454 * winbase.h (IsWow64Process): Add missing WINAPI qualifier. 2004-07-06 15:33:46 +00:00
Danny Smith 64b9893f0d 2 * mingwex/Makefile.in (MATH_DISTFILES): Remove pow.c,
(MATH_OBJS): Remove pow,o.
	* include/math.h (pow): Declare with _CRTIMP.
	Add comment on how to avoid excess precision problems.
2004-07-02 10:01:51 +00:00
Corinna Vinschen 78c6a5b53a * times.cc (hires_ms::usecs): Don't overreact. 2004-06-30 16:00:32 +00:00
Corinna Vinschen fbd5a0b8da * times.cc (hires_ms::usecs): Reinit timer when system time overflows. 2004-06-30 15:50:08 +00:00
Danny Smith 81223d017f 2004-06-30 Kees Zeelenberg <kzlg@users.sourceforge.net>
Danny Smith  <dannysmith@users.sourceforge.net>

	* include/stdio.h (fopen64): Add inline function.
	(fseeko64): Add prototype.
	(ftello64): Add inline function.
	* include/io.h (lseek64): Add inline function.
	* include/sys/types (off64_t): Add typedef.
	(fpos64_t): Add typedef.
        * mingwex/fopen64.c: New file.
        * mingwex/fseeko64.c: New file.
        * mingwex/ftello64.c: New file.
        * mingwex/lseek64.c: New file.
	* mingwex/Makefile.in (STDIO_DISTFILES): Add fopen64.c,
	fseeko.64.c, ftello64.c, lseek64.c.
	(STDIO_OBJS): Add fopen64.o, fseeko.64.o, ftello64.o, lseek64.o.

2004-06-30  Danny Smith  <dannysmith@users.sourceforge.net>

	* include/stdio.h (__mingw_fseeko64): Add prototype.
	* mingwex/mingw-fseek.c (__mingw_fseeko64): Add definition.
	(__mingw_fwrite): Handle huge files.
2004-06-30 04:51:18 +00:00
Christopher Faylor 76a3f968a5 * thread.cc (__cygwin_lock_lock): Don't bother locking when there is only one
known thread.
(__cygwin_lock_unlock): Ditto for unlocking.
2004-06-27 19:16:48 +00:00
Corinna Vinschen c624912e3e * fhandler_proc.cc (format_proc_cpuinfo): Test CPU vendor and print
AMD specific 3dnow capabilities.
2004-06-23 16:09:32 +00:00
Corinna Vinschen f0d14ca96d * fhandler_socket.cc (fhandler_socket::release): Call
WSASetLastError last.
2004-06-23 07:36:21 +00:00
Christopher Faylor c0508da25a * autoload.cc (wsock_init): Keep lock while modifying return address. 2004-06-22 04:00:16 +00:00
Corinna Vinschen 456afc5dd5 * fhandler.cc (fhandler_base::open): Remove 9x specific code. 2004-06-17 15:25:09 +00:00
Pierre Humblet bd0e9c7aa6 2004-06-17 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.cc (fhandler_base::open_9x): Do not check for null name.
        Move debug_printf to common code line.
        (fhandler_base::open): Ditto. Initialize upath. Remove second argument
        of pc.get_nt_native_path.
        * path.h (path_conv::get_nt_native_path): Remove second argument.
        * path.cc (path_conv::get_nt_native_path): Ditto. Call str2uni_cat.
        * security.h (str2buf2uni_cat): Delete declaration.
        (str2uni_cat): New declaration.
        * security.cc (str2buf2uni): Get length from sys_mbstowcs call.
        (str2buf2uni_cat): Delete function.
        (str2uni_cat): New function.
        * miscfuncs.cc (sys_mbstowcs): Add debug_printf.
2004-06-17 13:34:26 +00:00
Corinna Vinschen f6d9664b63 * fhandler.cc (fhandler_base::open): Substitute FILE_SUPERSEDE with
FILE_OVERWRITE_IF.
2004-06-17 07:03:09 +00:00
Danny Smith 3adfd50973 2004-06-16 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (IMAGE_ORDINAL_FLAG): Map to ...
	(IMAGE_ORDINAL_FLAG{32,64}: New defines.
	(IMAGE_SNAP_BY_ORDINAL): Map to ...
	(IMAGE_SNAP_BY_ORDINAL{32,64}: New defines.
	(IMAGE_ORDINAL): Map to ...
	(IMAGE_ORDINAL{32,64}: New defines.
	(IMAGE_THUNK_DATA):  Map to ...
	(IMAGE_THUNK_DATA{32,64}: New structures.
	(IMAGE_THUNK_DATA): Map to ...
	(IMAGE_THUNK_DATA{32,64}: New structures.
	(IMAGE_IMPORT_DESCRIPTOR):  Map to ...
	(IMAGE_IMPORT_DESCRIPTOR{32,64}: New structures.
	(IMAGE_IMAGE_TLS_DIRECTORY)  Map to ...
	(IMAGE_IMAGE_TLS_DIRECTORY{32,64}: New structures.

2004-06-16  Bang Jun-Young <junyoung@NetBSD.org>

	* w32api/include/winnt.h (WAITORTIMERCALLBACKFUNC): Protect with 
	_WIN32_WINNT >= 0x0500.
2004-06-16 08:27:04 +00:00
Joshua Daniel Franklin 8caaf6cd6f Fix faq-faq0 snafu. 2004-06-15 03:23:23 +00:00
Joshua Daniel Franklin e52db4e16d * how-programming.texinfo: Add section about Visual Studio linking. 2004-06-15 03:19:23 +00:00
Alan Modra 64b49cceb5 * dumper.cc (dumper::prepare_core_dump): Use bfd_get_section_size
instead of _raw_size.
	(dumper::write_core_dump): Likewise.
	* parse_pe.cc (select_data_section): Likewise.
2004-06-15 02:18:51 +00:00
Joshua Daniel Franklin bad8e625b8 2004-06-13 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* faq.texinfo: Move outdated calls.texinfo to readme.texinfo.
	* how-api.texinfo: Fix typos.
	* how-programming.texinfo: Fix typos.
	* how-resources.texinfo: Fix typos.
	* how-using.texinfo: Fix typos.
	* install.texinfo: Fix typos.
	* readme.texinfo: Move outdated calls.texinfo to readme.texinfo.
2004-06-14 02:42:05 +00:00
Joshua Daniel Franklin af6b55758b Define ps status flags 2004-06-11 18:25:06 +00:00
Christopher Faylor cc24f9b669 * include/cygwin/version.h: REALLY bump dll minor version to 11. 2004-06-09 16:03:51 +00:00
Corinna Vinschen 35fe2c0811 * include/cygwin/ipc.h: Make IPC_INFO visible only for ipc system
utilities, to make it consistent with declaration of struct seminfo.
2004-06-08 10:53:40 +00:00
Corinna Vinschen 694a67c4e1 * path.cc (fchdir): Pass the Posix path to chdir. 2004-06-08 07:20:04 +00:00
Christopher Faylor beffbc5efd * dtable.cc (dtable::find_fifo): Release lock after fifo found (still racy).
* fhandler.h (fhandler_fifo::get_io_handle): New fifo-specific method.
* fhandler_fifo.cc (fhandler_fifo::close): Close output_handle only if it is
open.
(fhandler_fifo::open_not_mine): Reorganize slightly.  Don't call _pinfo methods
when the fifo is owned by me or suffer dtable lock_cs deadlock.
(fhandler_fifo::open): Call open_not_mine first, otherwise open myself
(racy).
* pinfo.cc (_pinfo::commune_recv): Duplicate fifo handles here in requesting
processes arena to avoid one potential race (of many).
(_pinfo::commune_send): Move all PICOM_FIFO code under one case statement.
* thread.cc (pthread::init_mainthread) Use existing hMainProc handle rather
than calling GetCurrentProcess.
2004-06-07 04:26:32 +00:00
Luke Dunstan 6a02213b52 2004-06-05 Luke Dunstan <infidel@users.sourceforge.net>
* include/winbase.h (GetWriteWatch): Correct prototype.
	(WRITE_WATCH_FLAG_RESET): Define.
	Thanks to Sergey Philippov <phis@users.sourceforge.net>.
2004-06-05 13:39:35 +00:00
Luke Dunstan 99745be758 2004-06-02 Rocher Laurent <lrocher@users.sourceforge.net>
* include/commctrl.h (Animate_OpenEx): Define.
	(DateTime_GetSystemTime, DateTime_SetSystemTime): Correct names.
	(ListView_GetNumberOfWorkAreas): Correct macro.
	(ListView_SetUnicodeFormat, ListView_GetUnicodeFormat,
	ListView_SetItemCountEx, ListView_GetISearchString,
	TreeView_GetLastVisible, Header_CreateDragImage,
	Header_SetImageList, Header_GetImageList): Define.
	(LVM_SETUNICODEFORMAT, LVM_GETUNICODEFORMAT,
	MCM_GETUNICODEFORMAT, MCM_SETUNICODEFORMAT,
	TBSTATE_ELLIPSES): Define.
	(MonthCal_SetRange): Correct macro.
	(ImageList_Duplicate): Declare.
2004-06-05 13:01:07 +00:00
Christopher Faylor cf4bfdb2f8 * winbase.h (ilockincr): Add more neverending changes from the inexplicable
world of gcc asm constraint magic.  Should stop random crashes.
(ilockdecr): Ditto.
2004-06-04 23:55:44 +00:00
Christopher Faylor 04612c69eb * autoload.cc (IsDosDeviceName_U): Define.
* ntdll.h (IsDosDeviceName_U): Declare.
* fhandler.cc (fhandler_base::open): Check to see if win32_name is a dos device
and just call the 9x open if so.
2004-06-03 22:27:25 +00:00
Christopher Faylor 1633289656 revert accidental checkin 2004-06-03 21:33:29 +00:00
Christopher Faylor 604ca5fa17 * winbase.h (ilockincr): More changes from the inexplicable world of gcc asm
magic.
(ilockdecr): Ditto.
2004-06-03 21:29:43 +00:00
Christopher Faylor ee94df3ecc * winbase.h (ilockincr): YA correction to ensure correct operation with no
optimization.
(ilockdecr): Ditto.
2004-06-03 20:48:02 +00:00
Corinna Vinschen 414bfc1072 * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. 2004-06-03 19:52:12 +00:00
Corinna Vinschen 378e5a0271 * include/cygwin/ipc.h (IPC_KEY_IS_SHMID): Redefine to a more sensible
value.
2004-06-03 19:51:10 +00:00
Corinna Vinschen e9054f3f7f * shm.cc (shmget): Explicitely set td_retval[0] to -1 on error. 2004-06-03 19:49:54 +00:00
Christopher Faylor e6f751a5a9 remove erroneous ChangeLog entry 2004-06-03 18:56:49 +00:00
Christopher Faylor a864f241f1 * winbase.h: Fix all ilock defs as per cygwin 1.5.10 release. 2004-06-03 18:55:56 +00:00
Christopher Faylor e847fe136d add missing changelog entry 2004-06-02 21:25:57 +00:00
Christopher Faylor 1a21f33188 * spawn.cc (find_exec): Use has_slash to determine if path has a slash rather
than calculating this twice.
2004-06-02 21:20:54 +00:00
Luke Dunstan cdb055db02 2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
* include/limits.h (_I64_MIN, _I64_MAX, _UI64_MAX): Add defines.
2004-06-01 14:09:20 +00:00
Luke Dunstan b188d0f595 2004-05-29 Filip Navara <xnavara@volny.cz>
* include/winnt.h (IMAGE_EXPORT_DIRECTORY): Fixed declaration.
2004-05-31 14:10:20 +00:00
Luke Dunstan 814a8765fb 2004-05-25 Al Slater <al.slater@scluk.com>
* include/httpext.h (HSE_SEND_HEADER_EX_INFO,
 HSE_REQ_SEND_RESPONSE_HEADER_EX): Define.
2004-05-31 13:57:30 +00:00
Pierre Humblet 2d5afa98a2 2004-05-30 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (mount_info::add_item): Make sure native path has drive
	or UNC form. Call normalize_xxx_path instead of [back]slashify.
	Remove test for double slashes. Reorganize to always debug_print.
2004-05-31 02:20:39 +00:00
Joshua Daniel Franklin e3c1b77980 * pathnames.sgml: Remove /dev/kmem from the supported POSIX
device list.

	* cygwinenv.sgml: Fix typo in check_case description.
2004-05-30 06:47:09 +00:00
Joshua Daniel Franklin 1a8b65e301 2004-05-29 John Paul Wallington <jpw@gnu.org>
* ssp.c (usage): Add missing linefeed.
2004-05-30 06:33:02 +00:00
Christopher Faylor c4c9eb5fd6 * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only try to open the file
if it uses an acl.
2004-05-29 00:51:16 +00:00
Christopher Faylor e3778517d9 * path.cc (chdir): Always use the normalized_path as posix_cwd, except if it
starts with a drive.

Also perform whitespace cleanup.
2004-05-28 19:50:07 +00:00
Christopher Faylor 1973881114 clarify last entry slightly. 2004-05-27 15:58:29 +00:00
Christopher Faylor 0512945eb5 * kill.cc (listsig): NSIG includes Signal 0, so we need to avoid calling
strtosigno with NSIG - 1.
2004-05-27 15:15:51 +00:00
Christopher Faylor 37eadb6fb1 * winbase.h: Semi-revert previous patch as it caused strange behavior. Use
syntax similar to that recommended in mingw-dvlpr.
2004-05-25 20:00:19 +00:00
Christopher Faylor 9a17d61b09 * include/cygwin/version.h: Bump DLL minor number to 11. 2004-05-25 16:01:49 +00:00
Christopher Faylor 1b1f85fa0c * winbase.h: Add proper attributions for memory operands throughout. 2004-05-25 04:00:49 +00:00
Christopher Faylor 41bba72eb4 * include/cygwin/version.h: Bump api minor version number.
* cygwin.din: Export atoll.
2004-05-25 03:21:34 +00:00
Christopher Faylor bfa768973c * tty.cc (tty_list::allocate_tty): Leave tty_mutex armed on successful return
from !with_console
* fhandler_tty.cc (fhandler_pty_master::open): Release tty_mutex here after all
initialization is done.
2004-05-20 17:32:12 +00:00
Corinna Vinschen aac9c88c24 * grp.cc (getgrgid_r): Replace struct group by struct __group32 in
argument definition.
	(getgrnam_r): Ditto.
2004-05-17 16:14:01 +00:00
Corinna Vinschen 68509b303e * cygwin.din: Add symbols flockfile, ftrylockfile, funlockfile,
getgrgid_r, getgrnam_r and getlogin_r.
	* grp.cc (getgrgid_r): New function.
	(getgrnam_r): Ditto.
	* syscalls.cc (flockfile): Ditto.
	(ftrylockfile): Ditto.
	(funlockfile): Ditto.
	* sysconf.cc (sysconf): Return LOGIN_NAME_MAX in case of
	_SC_LOGIN_NAME_MAX.
	* thread.cc (__cygwin_lock_trylock): Define int.  Return value from
	call to pthread_mutex_trylock.
	* uinfo.cc (getlogin_r): New function.
	* include/limits.h: Define LOGIN_NAME_MAX.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/lock.h: Add declarations for __cygwin_lock_xxx functions.
	* include/sys/stdio.h: Add define for _ftrylockfile.
2004-05-17 16:06:02 +00:00
Christopher Faylor 3271e9f9e3 * tty.cc (tty_list::init): Move hmaster initialization earlier to prevent
compilation error.
2004-05-17 15:55:42 +00:00
Christopher Faylor 641654f72a Change the name "title_mutex" to "tty_mutex" throughout.
* tty.h (tty_list::allocate_tty): Turn argument into a boolean.
* tty.cc (tty_list::init): Protect entire allocation operation with tty_mutex
(formerly title_mutex) to protect against allocation races.
2004-05-17 15:27:56 +00:00
Christopher Faylor fb4489a53f add missing file 2004-05-16 16:38:27 +00:00
Corinna Vinschen 32880f1e4a * fhandler_socket.cc (fhandler_socket::recvfrom): Use original flags
value in each WSARecvFrom call.
	(fhandler_socket::recvmsg): Ditto.  Reformat slightly.
2004-05-16 15:38:03 +00:00
Christopher Faylor 0c565ab35b * cygthread.cc (cygthread::is): Eliminate.
* cygthread.h (cygthread::is): Eliminate declaratin.
* fhandler_console.cc (fhandler_console::read): Only wait for signal_arrived in
the main thread.
* fhandler_socket.cc: Include new "wininfo.h".
(fhandler_socket::ioctl): Use 'winmsg' rather than 'gethwnd()'.
* sync.cc (muto::grab): Define new function.
(muto::acquire): Use tls pointer rather than tid.
(muto::acquired): Ditto.
(muto::reset): Delete.
(muto::release): Ditto.  Also implement "close on last release".
* sync.h (muto::tid): Delete.
(muto::tls): New field.
(muto::ismine): Delete.
(muto::owner): Delete.
(muto::unstable): Delete.
(muto::reset): Delete.
(muto::upforgrabs): New method.
(muto::grab): Ditto.
(new_muto_name): New define.
* wininfo.h: New file.
(wininfo): New class.
* window.cc: Rework throughout to use winfo class for controlling invisible
window operation.
(gethwnd): Delete definition.
* winsup.h (gethwnd): Delete declaration.
2004-05-16 04:18:50 +00:00
Christopher Faylor aafd8a545f revert previous not-ready-for-primetime checkin. 2004-05-15 16:10:41 +00:00
Christopher Faylor 71af2ed39e * cygheap.h: Remove some parameter names from declarations throughout.
(cygheap::set): Reflect changes in declaration for arguments and return value
from previous checkin.
2004-05-15 16:09:04 +00:00
Christopher Faylor 982c8ecdb4 * cygheap.h (cwdstuff::set): Modify return value and arguments.
* path.cc (chdir): Specify PC_POSIX.  Do not call SetCurrentDirectory.  Set
posix_cwd in a way that does not break find.exe.  Change call to cwd.set.
(cwdstuff::get_initial): Do not call GetCurrentDirectory here.
(cwdstuff::set): Call SetCurrentDirectory and GetCurrentDirectory as needed.
2004-05-15 15:55:43 +00:00
Danny Smith 99189153b3 2004-05-15 Filip Navara <xnavara@volny.cz>
* include/ddk/kbdmou.h: New file.
	* lib/ddk/videoprt.def (VideoPortMapBankedMemory,
	VideoPortMapDmaMemory, VideoPortMapMemory): Correct suffix.
	* lib/ddk/ntoskrnl.def (_snprintf, _snwprintf, _vsnprintf,
	_vsnwprintf, sprintf, swprintf): Export.
2004-05-15 10:08:06 +00:00
Danny Smith 34f35cf5e0 2004-05-15 Filip Navara <xnavara@volny.cz>
* include/ddk/ntddk.h: Don't set 4-byte alignment on included
	headers.
2004-05-15 09:47:02 +00:00
Christopher Faylor f30298c13b remove keyword stuff 2004-05-12 16:21:18 +00:00
Corinna Vinschen 8d8bc1e139 * path.cc (path_conv::check): Don't bail out with error if path is "//". 2004-05-12 14:04:23 +00:00
Corinna Vinschen 191ea07aa5 * cygheap.h (struct init_cygheap): Add mt_h member.
* fhandler_tape.cc (mt_h): Drop in favor of cygheap based handle.
	(mtinfo_init): Use cygheap->mt_h handle.  Protect it.
2004-05-12 12:28:59 +00:00
Pierre Humblet 8bdfa78a69 2004-05-12 Pierre Humblet <pierre.humblet@ieee.org>
* tty.h: Remove the %d or %x from all cygtty strings.
	(tty::open_output_mutex): Only declare.
	(tty::open_input_mutex): Ditto.
	(tty::open_mutex): New definition.
	* fhandlet_tty.cc (fhandler_tty_slave::open): Declare buf with
	size CYG_MAX_PATH and replace __small_printf calls by shared_name.
	* tty.cc (tty::create_inuse): Ditto.
	(tty::get_event): Ditto.
	(tty::common_init): Ditto.
	(tty::open_output_mutex): New method definition.
	(tty::open_input_mutex): Ditto.
	(tty::open_mutex): New method.
2004-05-12 01:44:11 +00:00
Corinna Vinschen 0175b5311e * fhandler.cc (fhandler_base::open): Set file attributes to correct
value when creating files.
	* path.h (class path_conv): Add write accessor for file_attributes.
2004-05-11 15:39:50 +00:00
Corinna Vinschen 75b5f30fdd * fhandler.h (class fhandler_socket): Add "owner" status flag.
* fhandler_socket.cc (wait): Take flag parameter to take FD_OOB into
	account.  Don't wait infinitely.
	(fhandler_socket::recvfrom): Also wait for FD_OOB if socket owner.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	(fhandler_socket::fcntl): Set owner status flag if F_SETOWN with own
	pid is called.
2004-05-10 15:21:01 +00:00
Pierre Humblet 94f29ccdf6 2004-05-09 Pierre Humblet <pierre.humblet@ieee.org>
* environ.cc (build_env): Only try to construct required-but-missing
        variables while issetuid.
2004-05-09 15:17:15 +00:00
Christopher Faylor ac3003157b * syscalls.cc: Include environ.h.
(chroot): Set errno in case of path error.  Call getwinenv.
* environ.cc: Remove the NO_COPY attribute of conv_envvars.
2004-05-08 02:55:38 +00:00
Corinna Vinschen f8aae275a4 * fhandler_mem.cc (fhandler_dev_mem::fhandler_dev_mem): Move
initialization of "mem_size" from here...
	(fhandler_dev_mem::open): ...to here.  Fix typo in FH_PORT case.
2004-05-07 21:28:53 +00:00
Corinna Vinschen 367ff06ea4 * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Move delete of
bigwavebuffer_ so that it is always cleaned, also in child processes.
	(fhandler_dev_dsp::Audio_in::stop): Ditto.
	(fhandler_dev_dsp::close): Stop audio play immediately in case of
	abnormal exit.
2004-05-07 07:54:28 +00:00
Corinna Vinschen 3e101fb2cd Revert code reversion from 2004-04-03. So, revert to async I/O again.
* fhandler.h (status): Add "closed" flag.
	(prepare): New method declaration.
	(wait): Ditto.
	(release): Ditto.
	* fhandler_socket.cc: Don't include wsock_event.h.
	(fhandler_socket::prepare): New method, moved from wsock_event.
	(fhandler_socket::wait): Ditto.
	(fhandler_socket::release): New method.
	(fhandler_socket::recvfrom): Simplify loop.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc: Don't include wsock_event.h.
	(wsock_event::prepare): Remove.
	(wsock_event::wait): Ditto.
	* wsock_event.h: Remove.
2004-05-07 07:51:31 +00:00
Christopher Faylor dab22ff6e6 fix entry 2004-05-07 03:51:22 +00:00
Christopher Faylor 9b0b76ba92 * thread.cc (pthread::create): Move postcreate call to avoid a potential race.
(pthread::cancelable_wait): Don't allow signal interrupt unless main thread.
2004-05-07 03:31:04 +00:00
Christopher Faylor 1940656ab9 Christopher Faylor <cgf@timesys.com>
* path.cc (mount_info::conv_to_posix_path): Add return.
2004-05-07 03:27:37 +00:00
Danny Smith 718123fada * include/wingdi.h: Correct non-unicode typedefs of
ENUMLOGFONTEXDV, PENUMLOGFONTEXDV, LPENUMLOGFONTEXDV.
2004-05-06 21:04:26 +00:00
Danny Smith bbf3df482a 2004-05-07 Pascal Obry <obry@act-europe.fr>
* include/winsock.h (IN_CLASSA): Fix macro.
	* include/winsock2.h (IN_CLASSA): Fix macro.
2004-05-06 20:54:50 +00:00
Pierre Humblet 14017d5313 2004-05-06 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (path_conv::check): Strip trailing dots and spaces and
        return error if the final component had only dots and spaces.
        (normalize_posix_path): Revert 2004-04-30.
        (chdir): Do not check for trailing spaces. Do not set native_dir
        to c:\ for virtual devices. Pass only native_dir to cwd.set.
        (cwdstuff::set): Assume posix_cwd is already normalized.
2004-05-06 16:26:10 +00:00
Christopher Faylor 6767691ff0 fix changelog dates 2004-05-05 03:55:48 +00:00
Christopher Faylor 5cc2189c09 * path.cc (normalize_win32_path): Detect components with only dots. Remove a
final .  if it follows '\\'.
(mount_info::conv_to_win32_path): Only backslashify the path when no mount is
found.
(chdir): Do not look for components with only dots.
2004-05-04 15:14:48 +00:00
Christopher Faylor 3dcb399b58 * path.cc (is_unc_share): Remove redundant tests. 2004-05-04 15:09:58 +00:00
Corinna Vinschen 423ea473f4 * crt0.o (mainCRTStartup): 16 byte align stack for main function. 2004-05-04 14:46:25 +00:00
Corinna Vinschen ad7ba32b2d * path.cc (check_sysfile): Don't scan string twice. 2004-05-04 10:54:06 +00:00
Corinna Vinschen 1e98729b2a * dir.cc (writable_directory): Remove.
(mkdir): Remove call to writable_directory.
	* syscalls.cc (unlink): Ditto.
	(rename): Ditto.
	* winsup.h (writable_directory): Remove declaration.
2004-05-03 11:53:07 +00:00
Luke Dunstan 2d465f741f 2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
* include/winbase.h (EXECUTION_STATE): Add typedef.
	(SetThreadExecutionState): Declare.
	* include/wingdi.h (_WINGDI_): Define.
	* include/objbase.h (_OBJBASE_H_): Define.
2004-05-01 01:52:58 +00:00
Corinna Vinschen 43b2d5bace * fhandler.cc (fhandler_base::open): Call path_conv::get_nt_native_path
for evaluating NT path.
	* path.cc (normalize_posix_path): Remove trailing dots and spaces.
	(path_conv::get_nt_native_path): New function.
	* path.h (class path_conv): Declare get_nt_native_path method.
2004-04-30 17:36:36 +00:00
Luke Dunstan ed8dd3c858 2004-04-29 Bart Oldeman <bartoldeman@users.sourceforge.net>
* include/objbase.h (STGOPTIONS): Correct pwcsTemplateFile type.
	* include/aclui.h: Remove '\r', throughout.
	* include/msacm.h: Likewise.
	* lib/aclui.def: Likewise.
2004-04-30 17:06:21 +00:00
Corinna Vinschen e6b21dafc1 * fhandler.cc (fhandler_base::open): Fix NT native path evaluation
to allow opening serial ports.
2004-04-30 14:02:37 +00:00
Corinna Vinschen 72f3756e07 * init.cc (threadfunc_fe): Hack to make thread stacks always 16
byte aligned.
2004-04-30 13:27:27 +00:00
Luke Dunstan 4163fce83f 2004-04-28 Luke Dunstan <infidel@users.sourceforge.net>
* lib/comctl32.def (SetWindowSubclass): Add stub.
	Thanks to Eugene <egladysh@users.sourceforge.net>.

2004-04-24  Luke Dunstan  <infidel@users.sourceforge.net>

	* include/winbase.h (EXECUTION_STATE): Add typedef.
	(SetThreadExecutionState): Declare.
	* include/wingdi.h (_WINGDI_): Define.
	* include/objbase.h (_OBJBASE_H_): Define.
2004-04-28 14:18:13 +00:00
Luke Dunstan 7ed02aabd1 2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
* include/winuser.h (SM_IMMENABLED, SM_CXFOCUSBORDER,
	SM_CYFOCUSBORDER, SM_TABLETPC, SM_MEDIACENTER): Add defines.
	(SM_CMETRICS): Adjust value.
	* include/winnt.h (PROCESSOR_ARCHITECTURE_MSIL): Correct define.
	(PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA32_ON_WIN64):
	Add defines.
	Thanks to Benoit Blanchon <benoit.blanchon@free.fr>
2004-04-23 18:24:03 +00:00
Luke Dunstan a0e6bb2a39 2004-04-24 Justin Forest <vhex@users.sourceforge.net>
* include/winsock2.h (LUP_DEEP, LUP_CONTAINERS,
	LUP_NOCONTAINERS, LUP_NEAREST, LUP_RETURN_NAME,
	LUP_RETURN_TYPE, LUP_RETURN_VERSION, LUP_RETURN_COMMENT,
	LUP_RETURN_ADDR, LUP_RETURN_BLOB, LUP_RETURN_ALIASES,
	LUP_RETURN_QUERY_STRING, LUP_RETURN_ALL, LUP_RES_SERVICE,
	LUP_FLUSHCACHE, LUP_FLUSHPREVIOUS): Add defines.
2004-04-23 18:01:08 +00:00
Luke Dunstan e1f9606d7b 2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
* include/windns.h (DNSREC_QUESTION, DNSREC_ANSWER, DNSREC_AUTHORITY,
	DNSREC_ADDITIONAL): Add defines.
2004-04-23 17:31:32 +00:00
Luke Dunstan f59f3bc1c0 2004-04-23 Robert Wruck <wruck@tweerlei.de>
* include/commctrl.h (LPNMLVDISPINFO): Add defines.
2004-04-23 17:17:14 +00:00
Luke Dunstan 3704b2de4d 2004-04-23 Robert Wruck <wruck@tweerlei.de>
* include/aclui.h: New file.
	* lib/aclui.def: New file.
	* lib/test.c: Add aclui.h to includes.
2004-04-23 16:03:43 +00:00
Earnie Boyd b2e2d5d98c * strncasecmp.c: Reword copyright and disclaimer. Move Contributors
section to CONTRIBUTORS file.  Remove RCS tags.
2004-04-22 16:34:31 +00:00
Earnie Boyd 956235ae2b CORRECTION:
* Makefile.in (SRCDIST_FILES): Add DISCLAIMER and CONTRIBUTORS.
2004-04-22 16:27:00 +00:00
Earnie Boyd 00a85098c4 * DISCLAIMER: Add words about "free to use".
* README: Modify "Win32 runtime" to "Microsoft C Runtime".
	* Makefile.in (SRCDIST_FILES): Add DISCLAIMER and README.
	(inst_docdir): New variable.
	(INSTDOCS): Ditto.
	(FLAGS_TO_PASS): Include inst_docdir.
	(install-dirs): Add inst_docdir.
	(install): Add loop for INSTDOCS.
2004-04-22 16:16:25 +00:00
Danny Smith 1a4b7623f4 * mingwex/math/lround.c: Rewrite.
* mingwex/math/lroundf.c: Rewrite.
	* mingwex/math/lroundl.c: Rewrite.
	* mingwex/math/llround.c: Rewrite.
	* mingwex/math/llroundf.c: Rewrite.
	* mingwex/math/llroundl.c: Rewrite.
2004-04-22 04:38:24 +00:00
Corinna Vinschen b7ede86cfe * syscalls.cc (lseek64): Fix debug_printf format string.
(truncate64): Ditto.

	* fhandler.cc (fhandler_base::lseek): Force res to -1 on error.
2004-04-21 08:16:13 +00:00
Danny Smith c55888059d * include/winuser.h (SPI_GETACTIVEWINDOWTRACKING,
SPI_GETACTIVEWNDTRKZORDER, SPI_SETACTIVEWINDOWTRACKING,
	SPI_SETACTIVEWNDTRKZORDER): Remove duplicate defines.
2004-04-21 07:14:57 +00:00
Earnie Boyd 4d6c899474 * CONTRIBUTORS: New file.
* DISCLAIMER: Ditto.
	* CRT_noglob.c: Reword copyright and disclaimer.  Move Contributors
	section CONTRIBUTORS file.  Remove RCS tags.
	* CRTFmode.c: Ditto.
	* CRTglob.c: Ditto.
	* CRTinit.c: Ditto.
	* crt1.c: Ditto.
	* crtdll.dev: Ditto.
	* dllcrt1.c: Ditto.
	* dllmain.c: Ditto.
	* gccmain.c: Ditto.
	* init.c: Ditto.
	* isascii.c: Ditto.
	* iscsym.c: Ditto.
	* iscsymf.c: Ditto.
	* jamfile: Ditto.
	* main.c: Ditto.
	* msvcrt.def.in: Ditto.
	* strcasecmp.c: Ditto.
	* toascii.c: Ditto.
	* wcscmpi.c: Ditto.
	* include/assert.h: Ditto.
	* include/conio.h: Ditto.
	* include/ctype.h: Ditto.
	* include/direct.h: Ditto.
	* include/dirent.h: Ditto.
	* include/dos.h: Ditto.
	* include/errno.h: Ditto.
	* include/excpt.h: Ditto.
	* include/fcntl.h: Ditto.
	* include/float.h: Ditto.
	* include/io.h: Ditto.
	* include/locale.h: Ditto.
	* include/malloc.h: Ditto.
	* include/math.h: Ditto.
	* include/process.h: Ditto.
	* include/setjmp.h: Ditto.
	* include/share.h: Ditto.
	* include/signal.h: Ditto.
	* include/stdio.h: Ditto.
	* include/stdlib.h: Ditto.
	* include/string.h: Ditto.
	* include/tchar.h: Ditto.
	* include/time.h: Ditto.
	* include/wchar.h: Ditto.
	* include/sys/locking.h: Ditto.
	* include/sys/param.h: Ditto.
	* include/sys/stat.h: Ditto.
	* include/sys/timeb.h: Ditto.
	* include/sys/types.h: Ditto.
	* include/sys/utime.h: Ditto.
	* mingwex/dirent.c: Ditto.
2004-04-20 22:49:32 +00:00
Christopher Faylor f4a395ef78 fix comment 2004-04-20 18:46:15 +00:00
Christopher Faylor 9f9231b314 * path.cc (is_unc_share): Rename from slash_unc_prefix_p throughout.
* path.cc (normalize_posix_path): Process all Posix paths and map three or more
initial slashes to a single one.  Simplify processing following two initial
slashes.
(normalize_win32_path): Make last argument non-optional and do not check for
NULL value.
2004-04-20 18:45:16 +00:00
Corinna Vinschen c8daf9983b * fhandler_disk_file.cc (fhandler_base::open_fs): Change
set_file_attribute call to indicate that NT security isn't used.
	(fhandler_disk_file::fchmod): Rearrange to isolate 9x related
	statements.
	Do not set FILE_ATTRIBUTE_SYSTEM.
	(fhandler_disk_file::fchown): Check noop case first.
	* fhandler.cc (fhandler_base::open9x): Remove ntsec related statements.
	(fhandler_base::set_name): Do not set namehash.
	* fhandler.h (fhandler_base::get_namehash): Compute and set namehash if
	needed.
	* syscalls.cc (access): Verify that fh is not NULL. Do not set PC_FULL.
	(chmod): Ditto.
	(chown_worker): Ditto.
	(stat_worker): Ditto. Verify if the path exists.
2004-04-20 15:51:24 +00:00
Christopher Faylor 4cc12c5630 * include/wingdi.h: Protect non-unicode case of below. 2004-04-20 15:17:36 +00:00
Christopher Faylor 43fb8fbb0a * include/wingdi.h: Protect use of ENUMLOGFONTEXDV, PENUMLOGFONTEXDV,
LPENUMLOGFONTEXDV with appropriate version check.
2004-04-20 15:10:26 +00:00
Luke Dunstan 8d6679f27e 2004-04-18 Hans Leidekker <hans@it.vu.nl>
* lib/directx/dxguid.c (CLSID_DirectSoundPrivate,
	DSPROPSETID_DirectSoundDevice): Add defines.
2004-04-20 12:08:47 +00:00
Corinna Vinschen 1b557b4333 * fhandler.cc (fhandler_base::open): Remove special DEV_FLOPPY_MAJOR
treatment.
	* fhandler_raw.cc (fhandler_dev_raw::open): Simplify write-only case.
	* fhandler_tape.cc (fhandler_dev_tape::raw_write): Add accidentally
	dropped condition.
2004-04-20 11:01:22 +00:00
Corinna Vinschen fc0ac9dfe6 * fhandler.cc (fhandler_base::open): Add FILE_READ_ATTRIBUTES when
only GENERIC_WRITE access is requested.
2004-04-20 10:24:37 +00:00
Luke Dunstan b6fc88d639 2004-04-20 Adrian Sandor <aditsu@users.sourceforge.net>
* include/msacm.h: New file.
2004-04-20 09:48:52 +00:00
Corinna Vinschen f9e8db240f * include/cygwin/mtio.h (GMT_ASYNC): New define.
(MT_ST_ASYNC_WRITES): Remove "Not supported" comment.
2004-04-19 19:41:13 +00:00
Corinna Vinschen 0c8731b8f4 * errno.cc (errmap): Handle ERROR_IO_PENDING.
* fhandler.cc (fhandler_base::open): Make tape I/O asynchronous.
	* fhandler.h (class fhandler_dev_tape): Add mt_evt member.
	* fhandler_tape.cc (mtinfo_drive::initialize): Initialize async_writes.
	(mtinfo_drive::close): Handle async writes.
	(mtinfo_drive::read): Add mt_evt parameter.  Use overlapped I/O.
	(mtinfo_drive::async_wait): New function.
	(mtinfo_drive::write): Add mt_evt parameter.  Use overlapped I/O.
	Handle async writes.
	(mtinfo_drive::_set_pos): Handle async writes.
	(mtinfo_drive::set_partition): Ditto.
	(mtinfo_drive::prepare): Ditto.
	(mtinfo_drive::get_status): Drop useless "else".  Handle async_writes
	flag.
	(mtinfo_drive::set_options): Handle async_writes flags.
	(fhandler_dev_tape::close): Close mt_evt handle.
	(fhandler_dev_tape::raw_read): Create mt_evt handle and use in call
	to mtinfo_drive::read.
	(fhandler_dev_tape::raw_write): Create mt_evt handle and use in call
	to mtinfo_drive::write.
	* mtinfo.h (MTINFO_VERSION): Bump.
	(enum dirty_state): Add async_write_pending state.
	(class mtinfo_drive): Add OVERLAPPED struct "ov".  Add async_writes
	flag.
	(mtinfo_drive::async_wait): Add declaration.
	(mtinfo_drive::read): Add mt_evt parameter.
	(mtinfo_drive::write): Ditto.

	* registry.cc (load_registry_hive): Call enable_restore_privilege
	instead of set_process_privilege.
2004-04-19 19:29:10 +00:00
Earnie Boyd da3c66eb9a * include/_mingw.h: Revert to primary release 3 and increment minor
release to 3.
	* Makefile.in (VERSION): Ditto.
2004-04-19 17:01:27 +00:00
Earnie Boyd 81e7a69f5a * include/_mingw.h: Revert to primary release 3 and increment minor
release to 3.
2004-04-19 16:58:40 +00:00
Corinna Vinschen 1facc71a35 * fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait
parameter.  Use in call to SetTapePosition.
	(mtinfo_drive::set_pos): Accomodate _set_pos calls to above change.
	(mtinfo_drive::set_partition): Ditto.
	* mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
2004-04-19 13:07:55 +00:00
Danny Smith 6f3375a5bf Clean up ChangeLog punctuation and typeo.
Thanks to Filip Navara  <xnavara@volny.cz>.
2004-04-18 20:48:29 +00:00
Luke Dunstan a05a34ef1e 2004-01-09 Stuart Cunningham <stuart_hc@users.sourceforge.net>
* include/objbase.h (STGFMT): Declare enum.
	(STGOPTIONS): Declare structure.
	(StgCreateStorageEx, StgOpenStorageEx): Declare.
	(STGOPTIONS_VERSION): Define.
	* lib/ole32.def (StgCreateStorageEx, StgOpenStorageEx): Add stubs.
2004-04-18 07:29:39 +00:00
Luke Dunstan 08ed58a023 Merge numerous changes from ReactOS. Submitted by Filip Navara. 2004-04-18 07:07:57 +00:00
Luke Dunstan 4d60e6d231 2004-04-18 Allan Bazinet <bazineta@users.sourceforge.net>
* include/winuser.h (MONITORINFOEX[AW]): Change to be derived from
	MONITORINFO when compiling as C++.
2004-04-18 04:32:13 +00:00
Christopher Faylor ebd2f65c4e fix comments 2004-04-17 17:53:29 +00:00
Luke Dunstan de6871ee10 2004-04-17 Luke Dunstan <infidel@users.sourceforge.net>
* README.w32api: List separate copyright conditions for some headers.
	* include/(winsock2.h, wsipx.h): Minor change to copyright header.
2004-04-17 13:44:05 +00:00
Corinna Vinschen e859706578 * autoload.cc (NtCreateFile): Add.
* dir.cc (mkdir): Change set_file_attribute call to indicate that
	NT security isn't used.
	* fhandler.cc (fhandler_base::open_9x): New method, created from
	fhandler_base::open.
	(fhandler_base::open): Rearrange to use NtCreateFile instead of
	CreateFile.
	* fhandler.h (enum query_state): Redefine query_null_access to
	query_stat_control.  query_null_access isn't allowed in NtCreateFile.
	(fhandler_base::open_9x): Declare.
	* fhandler_disk_file.cc (fhandler_base::fstat_fs): Use
	query_stat_control first, query_read_control if that fails.
	(fhandler_disk_file::fchmod): Call enable_restore_privilege before
	trying to open for query_write_control.  Don't fall back to
	opening for query_read_control.
	(fhandler_disk_file::fchown): Ditto.
	(fhandler_disk_file::facl):  Only request restore privilege and query
	access necessary for given cmd.
	* fhandler_raw.cc (fhandler_dev_raw::open): Call fhandler_base::open
	instead of opening device here.
	* ntdll.h (NtCreateFile): Declare.
	* path.cc (symlink_worker): Change set_file_attribute call to indicate
	that NT security isn't used.
	* sec_acl.cc (getacl): Fix bracketing.
	* sec_helper.cc (enable_restore_privilege): New function.
	* security.cc (str2buf2uni_cat): New function.
	(write_sd): Don't request restore permission here.
	* security.h (set_process_privileges): Drop stale declaration.
	(str2buf2uni): Declare.
	(str2buf2uni_cat): Declare.
	(enable_restore_privilege): Declare.
	* syscalls.cc (fchown32): Return immediate success on 9x.
2004-04-16 21:22:13 +00:00
Christopher Faylor 4be0ce3219 . 2004-04-16 01:48:37 +00:00
Christopher Faylor 45f41f1720 Check in missed file. 2004-04-15 17:38:23 +00:00
Christopher Faylor ee0afa428a * autoload.cc (dll_chain1): Rename to dll_chain. Remove old dll_chain code.
(wsock_init): Avoid unneeded winsock_active tests.
* winsup.h (winsock_active): Delete.
2004-04-15 17:38:02 +00:00
Corinna Vinschen 703b16e3ab * fhandler_disk_file.cc (fhandler_disk_file::fchmo): Try opening
in query_read mode if query_write fails.
	* fhandler_disk_file.cc (fhandler_disk_file::fchown): Ditto.
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Ditto.
2004-04-15 15:56:52 +00:00
Luke Dunstan 7af28dc49a 2004-04-15 Danny Smith <dannysmith@users.sourceforge.net>
* include/wingdi.h (RGB): Correct macro.
2004-04-15 11:51:00 +00:00
Corinna Vinschen ca1b76b8c2 Fix case. 2004-04-14 21:16:31 +00:00
Corinna Vinschen e84c7766c3 * ntdll.h: Fix copyright date.
* sec_acl.cc (acl_worker): delete allocated fhandler.
	* syscalls.cc (chown_worker): Ditto.
	(chmod): Ditto.
	(stat_worker): Use get_namehash instead of hash_path_name.
2004-04-14 21:11:45 +00:00
Corinna Vinschen a653f600f5 * sec_acl.cc (getacl): Avoid compiler warning.
* security.cc (write_sd): Ditto.  Fix error handling.
2004-04-14 20:16:29 +00:00
Corinna Vinschen 0c5f00f98a * syscalls.cc (fstat64): Use get_namehash instead of hash_path_name. 2004-04-14 16:51:28 +00:00
Corinna Vinschen e3d1d51579 * fhandler.cc (fhandler_base::open): Simplify access evaluation
expression.
	(fhandler_base::facl): New method.
	* fhandler.h: Declare facl method in fhandler_base,
	fhandler_disk_file and fhandler_virtual.
	* fhandler_disk_file.cc (fhandler_disk_file::facl): New method.
	* fhandler_virtual.cc (fhandler_virtual::facl): New method.
	* sec_acl.cc: Remove forward declaration for aclsort32 and acl32.
	(setacl): Remove static.  Add and use handle parameter.
	(getacl): Ditto.
	(acl_worker): Reorganize to call fhandler's facl method eventually.
	(facl32): Ditto.
	* security.cc (get_nt_object_security): Remove static.
	* security.h: Add extern declarations for get_nt_object_security,
	aclsort32, acl32, getacl and setacl.


	Apply missing syscalls.cc patch and ChangeLog of previous check in.
	* syscalls.cc (chown_worker): Reorganize to call fhandler's fchown
	method eventually.
	(fchown): Ditto.
2004-04-14 16:36:26 +00:00
Corinna Vinschen ddf9c4a744 * fhandler.cc (fhandler_base::open): Accomodate query_write_control
query_state.
	(fhandler_base::fchown): New method.
	* fhandler.h: Declare fchown method in fhandler_base,
	fhandler_disk_file and fhandler_virtual.
	(enum query_state): Add query_write_control.
	* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Set query_state
	to query_write_control.  Only remove FILE_ATTRIBUTE_READONLY if not
	setting security descriptor.
	(fhandler_disk_file::fchown): New method.
	* fhandler_virtual.cc (fhandler_virtual::fchown): New method.
	* sec_acl.cc (setacl): Call write_sd with additional handle attribute.
	* security.cc (write_sd): Take handle argument.  Only request owner
	if getting SE_RESTORE_NAME privilege failed.  Only open file if
	NtSetSecurityObject failed or handle is NULL.
	(set_nt_attribute): Call write_sd with additional handle attribute.
	* security.h (write_sd): Declare with additional handle argument.
2004-04-14 13:40:07 +00:00
Danny Smith ba1a97a18b 2004-04-14 Robert Wruck <rwruck@users.sourceforge.net>
* include/ddk/winddk.h (RtlEqualLuid): Correct macro.
2004-04-14 10:53:17 +00:00
Corinna Vinschen f4ae6dc62c * autoload.cc (NtSetSecurityObject): Add.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only request
	READ_CONTROL rights when opening the file.
	* ntdll.h (NtSetSecurityObject): Add declaration.
	* security.cc (write_sd): Call NtSetSecurityObject instead of
	BackupWrite.
	(get_nt_object_security): Don't free security descriptor here.

	* syscalls.cc (ttyname): Use buffer of length TTY_NAME_MAX + 1.
	* sysconf.cc (sysconf): Handle _SC_TTY_NAME_MAX request.
	* include/limits.h: Define TTY_NAME_MAX and _POSIX_TTY_NAME_MAX.
2004-04-14 10:20:26 +00:00
Corinna Vinschen 93d66ddc20 * cygwin.din: Export rand_r and ttyname_r.
* syscalls.cc (ttyname_r): New function.
	(ttyname): Move functionality to ttyname_r.  Call it from here.
	* include/cygwin/version.h: Bump API minor number.
2004-04-14 09:12:04 +00:00
Pierre Humblet b923181eca 2004-04-14 Pierre Humblet <pierre.humblet@ieee.org>
* path.h (path_conv::set_symlink): Add argument.
        (path_conv::get_symlink_length): New method.
        (path_conv::symlink_length): New member.
        * path.cc (path_conv::check): Pass symlen to set_symlink.
        * fhandler_disk_file.cc (fhandler_base::fstat_helper): For symlinks
        set st_size from get_symlink_length.
2004-04-14 03:08:00 +00:00
Corinna Vinschen 29b6b8ca64 * security.cc (set_nt_attribute): Only call get_nt_object_security
if handle is NULL.
2004-04-13 20:45:14 +00:00
Corinna Vinschen 854c870051 * dir.cc (mkdir): Call set_file_attribute with additional handle
argument.
	* fhandler.cc (fhandler_base::fchmod): New method.
	* fhandler.h: Declare fchmod method in fhandler_base,
	fhandler_disk_file and fhandler_virtual.
	* fhandler_disk_file.cc (fhandler_disk_file::fchmod): New method.
	(fhandler_base::open_fs): Call set_file_attribute with additional
	handle argument.
	* fhandler_virtual.cc (fhandler_virtual::fchmod): New method.
	* path.cc (symlink_worker): Call set_file_attribute with additional
	handle argument.
	* security.cc (get_nt_object_security): New function.
	(get_nt_object_attribute): Call get_nt_object_security.
	(set_nt_attribute): Add handle argument.  Call get_nt_object_security
	first, read_sd only if that fails.
	(set_file_attribute): Add handle argument.
	* security.h (set_file_attribute): Declare with additional handle
	argument.
	* syscalls.cc (stat_suffixes): Move to beginning of file.
	(chown_worker): Call set_file_attribute with additional handle argument.
	(chmod): Reorganize to call fhandler's fchmod method eventually.
	(fchmod): Ditto.
2004-04-13 20:36:58 +00:00
Corinna Vinschen 71ffba498c * autoload.cc (NtQuerySecurityObject): Add.
* ntdll.h (STATUS_BUFFER_TOO_SMALL): Add definition.
	(NtQuerySecurityObject): Add declaration.
	* security.cc (get_nt_object_attribute): Always use
	NtQuerySecurityObject to retrieve security descriptor.
2004-04-13 12:14:59 +00:00
Corinna Vinschen 7e044afdaf * winsup.api/devdsp.c (forkrectest): Move synchronization with child
so that test passes also under high CPU load.
	(forkplaytest): Ditto.
	(abortplaytest): New function to test ioctl code SNDCTL_DSP_RESET.
2004-04-13 09:40:03 +00:00
Corinna Vinschen 37194b25f6 * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Add optional
boolean argument so that playing can be stopped without playing
	pending buffers.
	(fhandler_dev_dsp::ioctl): Stop playback immediately for
	SNDCTL_DSP_RESET.  Do not reset audio parameters in this case.
	Add support for ioctl SNDCTL_DSP_GETISPACE.
	(fhandler_dev_dsp::Audio_out::emptyblocks): Now returns the number of
	completely empty blocks.
	(fhandler_dev_dsp::Audio_out::buf_info): p->fragments is now the number
	of completely empty blocks. This conforms with the OSS specification.
	(fhandler_dev_dsp::Audio_out::parsewav): Ignore wave headers that are
	not aligned on four byte boundary.
	(fhandler_dev_dsp::Audio_in::buf_info): New, needed for
	SNDCTL_DSP_GETISPACE.
2004-04-13 09:38:32 +00:00
Corinna Vinschen 825b388289 * winsup.h (IMPLEMENT_STATUS_FLAG): New macro to define status flag
accessor methods unambiguously.
	* fhandler.h: Use IMPLEMENT_STATUS_FLAG throughout where possible.
	* fhandler_termios.cc (fhandler_termios::tcinit): Call corrected
	accessor for initialized status flag.
	* mtinfo.h (class mtinfo_drive): Use IMPLEMENT_STATUS_FLAG throughout.
	* path.cc (fs_info::update): Remove duplicate call to flags().
	* path.h (struct fs_info): Use IMPLEMENT_STATUS_FLAG where possible.
	(path_conv::is_auto_device): Fix spacing.
	* tty.h (class tty_min): Use IMPLEMENT_STATUS_FLAG throughout.
2004-04-13 09:04:22 +00:00
Christopher Faylor d84a4e2e71 * thread.cc (pthread::thread_init_wrapper): Wait later to get more parallel
behavior.
2004-04-13 03:25:50 +00:00
Christopher Faylor 3e78b5d75c * thread.cc (pthread::create): Use thread mutex to control synchronization
rather than creating a suspended thread.  Wait for "cancellation event" to
indicate that started thread has been properly initialized.
(pthread::thread_init_wrapper): Use set_tls_self_pointer() to set tid and
cygtls.  Signal with cancel_event when done.
2004-04-13 02:59:19 +00:00
Pierre Humblet b96dbd203d 2004-04-12 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (path_conv::check): Fix "tail filling" logic.
2004-04-12 23:59:23 +00:00
Christopher Faylor 1ed8d18733 * cygheap.h: Replace inexplicably removed closing brace. 2004-04-11 17:36:05 +00:00
Christopher Faylor 0cb38eb551 * cygheap.h (CYGHEAP_SLOP): Reduce drastically to avoid collisions. 2004-04-11 04:07:18 +00:00
Christopher Faylor 3301015bdb * dtable.cc (dtable::extend): Change order of memcpy and cfree. 2004-04-11 04:00:01 +00:00
Corinna Vinschen 66d9ac398a * syscalls.cc (sync): Define void according to SUSv3. 2004-04-10 20:40:41 +00:00
Corinna Vinschen bb0906507b * sec_acl.cc (setacl): Use correct offset when trying to combine
standard and default entry of same type.
2004-04-10 20:18:11 +00:00
Corinna Vinschen 7224437c62 * fhandler.cc (rootdir): Add and use second argument.
* winsup.h (rootdir): Add second argument in declaration.
	* path.cc (fs_info::update): Modify call to rootdir.
	* syscalls.cc (check_posix_perm): Ditto.
	(statfs): Ditto. Move syscall_printf near top.
2004-04-10 19:24:55 +00:00
Corinna Vinschen 56551a9bfb * Use new unified status_flag accessor methods from classes fhandler_*,
tty_min, mtinfo and fs_info thoroughout.
	* fhandler.h: Redefine all set_close_on_exec methods to take a bool
	argument.
	(enum conn_state): Rename from connect_state.
	(class fhandler_base): Rename some status flags to align with
	accessor method names.  Drop encoded flag entirely.  Unify status
	accessor methods.  Const'ify all read accessor methods.
	(class fhandler_socket): Ditto.
	(class fhandler_dev_raw): Ditto.
	* fhandler_disk_file.cc (fhandler_base::fstat_fs): Use fs.fs_is_fat()
	instead of evaluating FATness of file system here.
	(fhandler_disk_file::opendir): Drop call to set_encoded().
	(fhandler_disk_file::readdir): Use pc.isencoded() directly.
	* mtinfo.h (class mtinfo_drive): Const'ify all read accessor methods.
	* path.cc (fsinfo_cnt): Add.
	(fs_info::update): Accomodate class changes. Evaluate file system
	name specific flags right here. Add thread safety for reading and
	writing global fsinfo array.
	* path.h (enum path_types): Drop values for flags kept in fs already.
	(struct fs_info): Move status informatin into private struct type
	status_flags.  Add accessor methods. Remove path and file system
	name string arrays in favor of status bits.
	(class path_conv): Use new fs_info status information where
	appropriate.
	(path_conf::fs_has_ea): Rename from fs_fast_ea.
	(path_conf::fs_has_acls): New method.
	(path_conf::root_dir): Remove.
	(path_conf::volname): Remove.
	* syscalls (statfs): Evaluate root dir locally.
	* tty.h (class tty_min): Unify status accessor methods.  Const'ify
	all read accessor methods.
2004-04-10 13:45:10 +00:00
Christopher Faylor 56a188d1f3 * thread.h (pthread::init_mainthread): Remove parameter forked.
(pthread::set_tls_self_pointer): New static function.
* thread.cc (MTinterface::fixup_after_fork): Change call to
pthread::init_mainthread.
(pthread::init_mainthread): Remove parameter forked.  Simplify thread self
pointer handling.
(pthread::self): Set thread self pointer to null_pthread if thread has not been
initialized.
(pthread::set_tls_self_pointer): New static function.
2004-04-10 00:53:25 +00:00
Christopher Faylor 60210cc795 * path.cc (path_conv::check): Optimize symlink replacements.
* path.cc (normalize_posix_path): Add "tail" argument and set it.  Always have
a final slash for directories.  Pass 3rd argument to normalize_win32_path.
(path_conv::check): Pass tail to normalize_posix_path.  Set need_directory and
remove final slash after that call.  Remove last argument to
mount_table->conv_to_win32_path().  Remove noop dostail check.  Remove
fs.update() from inner loop.  Improve tail finding search.
(normalize_win32_path): Add and set tail argument.
(mount_item::build_win32): Avoid calling strcpy.
(mount_info::conv_to_win32_path): Remove third argument and simplify because
the source is normalized.  Keep /proc path in Posix form.  Call
win32_device_name() only once.
(mount_info::conv_to_posix_path): Add and use 3rd argument to
normalize_win32_path to avoid calling strlen.
(cwdstuff::set): Add 3rd argument to normalize_posix_path and remove final
slash if any.
* shared_info.h (mount_info::conv_to_win32_path): Remove last argument in
declaration.
2004-04-10 00:50:16 +00:00
Corinna Vinschen ff0843433a * fhandler.h (class fhandler_dev_raw): Move status bits into protected
bitfield struct type status_flags.  Drop unused has_written bit.
	Add accessor methods.
	(fhandler_dev_raw::clear): Remove.
	(fhandler_dev_raw::reset_devbuf): Remove.
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Use accessor method
	for is_writing.
	* fhandler_raw.cc: Use status accessor methods throughout.
	(fhandler_dev_raw::clear): Remove.
	(fhandler_dev_raw::fhandler_dev_raw): Drop clear call.
	(fhandler_dev_raw::~fhandler_dev_raw): Ditto.
	* fhandler_tape.cc: Use mtinfo::status accessor methods throughout.
	(mtinfo_drive::close): Fix conditional to enable BSD semantics
	correctly.
	(mtinfo_drive::get_status): Rename from mtinfo_drive::status.
	* mtinfo.h (class mtinfo_drive): Move status bits into private bitfield
	struct type status_flags.  Add accessor methods.
	Rename status method to get_status.
2004-04-09 20:39:19 +00:00
Corinna Vinschen 535309a6e3 * path.cc (fsinfo): Global storage for file system information.
(fs_info::update): Store file system information also in fsinfo and
	short circuit GetVolumeInformation by using alredy stored file system
	information.
2004-04-09 19:33:07 +00:00
Corinna Vinschen 7aa88267c1 * fhandler.h (fhandler_base::status): Declare private.
(fhandler_base::open_status): Ditto.
	(class fhandler_socket): Move status bits into private bitfield struct
	type status_flags.  Change accessor methods appropriately.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
	above status bit changes.
	* tty.h: Remove status bit enumerator.
	(TTYISSETF): Remove.
	(TTYSETF): Remove.
	(TTYCLEARF): Remove.
	(TTYCONDSETF): Remove.
	(tty_min::status): Define as private bitfield struct type status_flags.
	Add appropriate accessor methods.
	* fhandler_console.cc: Use tty_min::status accessor methods throughout.
	* fhandler_termios.cc: Ditto.
	* winsup.h (__ISSETF): Remove.
	(__SETF): Remove.
	(__CLEARF): Remove.
	(__CONDSETF): Remove.
2004-04-09 12:09:45 +00:00
Corinna Vinschen b79f85c28b * fhandler.cc (fhandler_base::write): Use bool parameter in calls to
set_did_lseek.
	(fhandler_base::fhandler_base): Accomodate new status and open_status
	constructor.
	* fhandler.h: Remove status bit enumerator.
	(FHDEVN): Remove.
	(FHISSETF): Remove.
	(FHSETF): Remove.
	(FHCLEARF): Remove.
	(FHCONDSETF): Remove.
	(FHSTATOFF): Remove.
	(UNCONNECTED, CONNECT_PENDING, CONNECTED): Substitute by enum
	connect_state.
	(fhandler_base::status): Define as bitfield struct type status_flags.
	Remove unused flags entirely.  Accomodate all status access methods.
	(open_status): Define as bitfield struct type status_flags.
	(fhandler_socket): Move socket related status bits to here.  Redefine
	had_connect_or_listen to be part of these status bits.  Accomodate
	related access methods.
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Use pc.issymlink
	instead of dropped method get_symlink_p.
	(fhandler_base::open_fs): Remove setting dropped status flags.
	* fhandler_socket.cc: Use values from enum connect_state throughout.
	(fhandler_socket::fhandler_socket): Initialize status bits.
	* fhandler_virtual.cc (fhandler_virtual::open): Remove setting dropped
	status flags.
	* net.cc: Use values from enum connect_state throughout.
	* select.cc: Ditto.
	* shared_info.h: Protect struct console_state using _FHANDLER_H_
	instead of FHDEVN.
2004-04-09 08:43:29 +00:00
Corinna Vinschen 00dd058f7e * security.cc (get_file_attribute): Fix conditional. 2004-04-09 07:55:56 +00:00
Christopher Faylor 6ea87bc144 * child_info.h: Update CHILD_INFO_MAGIC after 2004-04-03 change. 2004-04-08 15:44:53 +00:00
Christopher Faylor 1b957b1c9f fix email address 2004-04-08 13:34:37 +00:00
Corinna Vinschen 6eee18ea6e * path.cc (hash_path_name): Replace hash algorithm with SDBM. 2004-04-08 12:21:15 +00:00
Corinna Vinschen a9a5b2eab0 * fhandler.cc (fhandler_base::open): Set query access mode according
to query_open setting.
	(fhandler_base::fhandler_base): Initialize query_open.
	* fhandler.h (FH_QUERYOPEN): Drop.
	(enum query_state): Add.
	(class fhandler_base): Add query_open member.
	(fhandler_base::get_query_open): Redefine to use query_open.
	(fhandler_base::set_query_open): Ditto.
	* fhandler_disk_file.cc (fhandler_base::fstat_fs): Remove O_DIROPEN
	from open_flags since it's added in open_fs anyway.  Remove
	query_open_already.  Use new query_open settings.  Rearrange slightly.
	(fhandler_base::fstat_helper): Add get_io_handle as parameter to
	get_file_attribute.
	* security.cc (get_nt_object_attribute): Make returning an int.
	Return -1 on error, 0 otherwise.
	(get_file_attribute): Take an object handle as argument. Move down
	to allow calling get_nt_object_attribute in case a non-NULL handle
	is given.
	* security.h (get_file_attribute): Add handle to argument list.
	* syscalls.cc (chown_worker): Accomodate new definition of
	get_file_attribute.
2004-04-08 07:57:28 +00:00
Christopher Faylor 284a55c33e * path.cc (path_prefix_p): Optimize test order. 2004-04-08 01:33:00 +00:00
Corinna Vinschen 49294f009e * Makefile.in (EXTRALIBS): Add libtextreadmode.a.
(INSTOBJS): Add textreadmode.o.
	* textreadmode.c: New file.
2004-04-06 14:22:43 +00:00
Corinna Vinschen b8eac1dee4 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Request
compressed size only if the matching attributes are set.  Use
	NtQueryInformationFile instead of GetCompressedFileSize.
	(fhandler_base::fstat_by_handle): Remove NT 3.5 cruft since
	local.dwVolumeSerialNumber isn't used subsequently.
	* ntdll.h: Add typedefs for FILE_COMPRESSION_INFORMATION and
	FILE_INFORMATION_CLASS.
2004-04-06 10:19:31 +00:00
Corinna Vinschen cffd8968e3 * fhandler_raw.cc (fhandler_dev_raw::open): Actually use "options". 2004-04-06 07:57:59 +00:00
Luke Dunstan 7a1d1d90cd 2004-04-06 Luke Dunstan <infidel@users.sourceforge.net>
* include/ocidl.h (QACONTAINERFLAGS): Correct typedef.
2004-04-05 16:25:07 +00:00
Corinna Vinschen 7e57d6d268 * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Add implementation
for ioctl codes SNDCTL_DSP_CHANNELS and SNDCTL_DSP_GETCAPS.
2004-04-05 08:30:41 +00:00
Corinna Vinschen 63481100b1 * winsup.api/devdsp.c (ioctltest): Add 2 tests for ioctl codes
SNDCTL_DSP_CHANNELS and SNDCTL_DSP_GETCAPS.
2004-04-05 08:30:13 +00:00
Christopher Faylor 129c8a0e81 * child_info.h (child_info::cygheap_reserve_sz): Rename from cygheap_alloc_sz.
* cygheap.cc: Rename alloc_sz to reserve_sz throughout.
2004-04-04 04:14:11 +00:00
Corinna Vinschen 321ddf2422 * fhandler.h (class fhandler_socket): Remove has_been_closed member.
* fhandler_socket.cc (fhandler_socket::recvfrom): Revert to
	overlapped I/O.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc (wsock_event::prepare): Ditto.
	(wsock_event::wait): Ditto.  Evaluate overlapped result also after
	calling CancelIo (thanks to Patrick Samson <p_samson@yahoo.com>).
	(wsock_event::release): Remove.
	* wsock_event.h: Revert to overlapped I/O.
2004-04-03 19:07:59 +00:00
Corinna Vinschen f5da8224f6 * net.cc (wsock_event::release): Use NULL handle in call to
WSAEventSelect to resolve KB 168349.
2004-04-02 10:29:53 +00:00
Corinna Vinschen b6edea61f2 * fhandler_socket.cc (fhandler_socket::recvfrom): Rearrange loop
so that WSARecvFrom is always called before waiting.
	(fhandler_socket::recvmsg): Ditto.
2004-04-01 17:00:21 +00:00
Corinna Vinschen 4cfacffa79 * net.cc (wsock_event::wait): Make wsa_err an int. Don't set
ret to 0 if any error has happened.
2004-04-01 10:36:40 +00:00
Danny Smith 4fc406c935 * crt1.c (_mingw32_init_fmode): Set *_imp___fmode_dll to
_fmode if not __MSVCRT__.
2004-04-01 10:04:04 +00:00
Corinna Vinschen 54aefcc6bc * fhandler_socket.cc (fhandler_socket::sendto): Drop out of loop if
has_been_closed gets set.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc (wsock_event::wait): Don't initialize evts.  Don't try to
	evaluate network events if WSAEnumNetworkEvents fails.
	(wsock_event::release): Save last WSA error and set it again unless
	resetting to blocking socket fails.
	* wsock_event.h (class wsock_event): Remove destructor.
2004-04-01 09:48:15 +00:00
Corinna Vinschen fbba4780af * fhandler_tape.cc (mtinfo::initialize): Fix fatal error message. 2004-03-31 19:34:27 +00:00
Corinna Vinschen 455bbeae38 * fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize
ret to 0 when using in Winsock call.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
2004-03-31 15:33:33 +00:00
Corinna Vinschen decd3e5d72 * fhandler_tape.cc (mtinfo_drive::get_pos): Only set partition if
GetTapePosition returned a non-zero partition number.
	(mtinfo_drive::create_partitions): Reinitialize to partition 0.
	Support TAPE_DRIVE_INITIATOR and TAPE_DRIVE_FIXED partitioning.
	(mtinfo_drive::set_partition): Initialize new partition.
	(mtinfo_drive::status): Readd accidentally dropped setting of mt_resid.

	* net.cc (wsock_event::prepare): Always print debug output in case
	of error.
2004-03-31 12:04:07 +00:00
Corinna Vinschen 93ba120429 * fhandler_socket.cc (fhandler_socket::sendmsg): Add SIGPIPE handling. 2004-03-31 10:10:59 +00:00
Corinna Vinschen 4450172a6c * fhandler_socket.cc (fhandler_socket::recvfrom): Initialize res to
SOCKET_ERROR.  Use SOCKET_ERROR instead of -1 throughout.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc (wsock_event::prepare): Call WSASetLastError instead of
	SetLastError.
	(wsock_event::wait): Use SOCKET_ERROR instead of -1.
2004-03-31 09:13:54 +00:00
Danny Smith 4289ebdbfb 2004-03-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/io.h: (_findfirst): Correct prototype.

2004-03-30  Hans Leidekker  <hans@it.vu.nl>

	* include/io.h: (_findnext, _findclose): Correct prototype.
2004-03-30 21:49:12 +00:00
Christopher Faylor c83bdbf65e * thread.h (pthread::init_mainthread): Add parameter forked. Set forked
default to false..
* thread.cc (MTinterface::fixup_after_fork): Call pthread::init_mainthread with
forked = true.
(pthread::init_mainthread): Add parameter forked.  Do not change thread self
pointer when forked.
2004-03-30 21:27:50 +00:00
Joshua Daniel Franklin 7c1bb55ec0 2004-03-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* ntsec.sgml: Replace chapter numbers with <link>s,
        replace release-numbers in <title>s with descriptions.

2004-03-30  Ronald Landheer-Cieslak <ronald@landheer.com>

        * ntsec.sgml: Fix typos, correct chapter numbers.
2004-03-30 19:20:42 +00:00
Corinna Vinschen d2714c5eda * sysv_shm.cc (shmget): Allow to retrieve shared memory segments
by shmid when IPC_KEY_IS_SHMID is set.
2004-03-30 15:21:18 +00:00
Corinna Vinschen 5c7b73ed97 * shm.cc (shmat): If shmid is unknown, call a special variation
of shmget to retrieve the shared memory segment from Cygserver
	instead of failing immediately.
	* include/cygwin/ipc.h (IPC_KEY_IS_SHMID): New internal flag for
	shmget when called from shmat.
2004-03-30 15:20:08 +00:00
Danny Smith 7308c39e33 * lib/Makefile,in; Add directx to .PHONY target.
* lib/directx/dxerr.c: Remove dependence on mingw runtime.
	Don't include stdio.h or tchar.h.
	Replace _T() macro with TEXT() macro, throughout.
	Replace, _stprintf with wsprintf, throughout.
2004-03-29 22:39:46 +00:00
Corinna Vinschen 81f5200ba3 * fhandler.h (class fhandler_socket): Add has_been_closed member.
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
	has_been_closed to 0.
	(fhandler_socket::recvfrom): Use new asynchronous I/O driven
	wsock_event methods.
	(fhandler_socket::recvmsg): Ditto.
	(fhandler_socket::sendto): Ditto.
	(fhandler_socket::sendmsg): Ditto.
	* net.cc (wsock_event::prepare): Reimplement using asynchronous I/O.
	(wsock_event::wait): Ditto.
	(wsock_event::release): New method.
	* wsock_event.h (class wsock_event): Remove ovr member.  Accomodate
	new implementation of prepare and wait methods.  Add release method.
2004-03-29 19:41:17 +00:00
Christopher Faylor c7f060d0da * thread.cc (pthread::atforkprepare): Call MT_INTERFACE->fixup_before_fork at
the end of atforkprepare.
2004-03-29 15:14:07 +00:00
Corinna Vinschen 2b2cc75f6b * net.cc (wsock_event::wait): Change scope of local "len" variable. 2004-03-29 14:08:44 +00:00
Luke Dunstan da2cf24aba 2004-03-28 Hans Leidekker <hans@it.vu.nl>
* include/math.h (FP_*): Add defines.
2004-03-29 13:57:04 +00:00
Danny Smith 521a0aa9a8 * mingwex/math/round.c: Rewrite.
* mingwex/math/roundf.c: Rewrite.
	* mingwex/math/roundl.c: Rewrite.
2004-03-29 08:22:20 +00:00
Corinna Vinschen 20e0dcfb3e * pathnames.sgml: Fix /dev/srX description. 2004-03-29 08:07:39 +00:00
Joshua Daniel Franklin 680dacb164 2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-programming.texinfo: Make list in .lib FAQ enumerative.
2004-03-29 06:37:40 +00:00
Joshua Daniel Franklin 4341a703f6 2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-programming.texinfo: Add note about gcc .lib linking.
        * pathnames.sgml: Mention create_devices.sh for /dev/ creation.
2004-03-29 05:56:46 +00:00
Corinna Vinschen 83216c72ec * shm.cc (shmat): Return (void *) -1 on error instead of NULL. 2004-03-28 21:01:33 +00:00
Luke Dunstan f241377ee1 2004-03-27 Hosaka Yuji <hos@tamanegi.org>
* include/dbt.h (DBT_DEVTYP_DEVICEINTERFACE, DBT_DEVTYP_HANDLE):
	Add define.
	(DEV_BROADCAST_DEVICEINTERFACE, DEV_BROADCAST_HANDLE): Add struct.
	* include/winuser.h (UnregisterDeviceNotification): Add prototype.
	* lib/user32.def (UnregisterDeviceNotification): Add export stub.
2004-03-28 11:22:10 +00:00
Christopher Faylor f19da5f77d * fhandler_nodevice.cc (fhandler_nodevice::open): Assume that errno has already
been set if pc.error is nonzero.
2004-03-27 18:01:04 +00:00
Corinna Vinschen 82b78005eb * Fix ChangeLog formatting. 2004-03-27 16:02:04 +00:00
Corinna Vinschen 999ecb4cad * cygserver.sgml: New file.
* using.sgml: Include Cygserver docs.
2004-03-27 15:59:44 +00:00
Joshua Daniel Franklin 989ea48440 2004-03-26 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygwinenv.sgml: Add example for CYGWIN=error_start.
        * pathnames.sgml: Update list of /dev/ devices.
2004-03-27 06:48:11 +00:00
Luke Dunstan fec932591d 2004-03-27 Filip Navara <xnavara@volny.cz>
* include/directx: New subdir.
	* lib/directx: Ditto.
	* include/directx/(d3d9.h, d3d9caps.h, d3d9types.h, dxerr8.h,
	dxerr9.h): New files.
	* lib/ddk/(Makefile.in, d3d8.def, d3d9.def, d3dim.def, d3drm.def,
	d3dx8d.def, d3dx9d.def, d3dxof.def, ddraw.def, dinput.def,
	dinput_joy.c, dinput_joy2.c, dinput_kbd.c, dinput_mouse.c,
	dinput_mouse2.c, dinput_private.h, dinput8.def, dmoguids.c, dplayx.def,
	dpnaddr.def, dpnet.def, dpnlobby.def, dpvoice.def, dsetup.def,
	dsound.def, dxerr.c, dxerr8.c, dxerr8w.c, dxerr9.c, dxerr9w.c,
	dxguid.c, ksproxy.def, ksuser.c, ksuser.def, msdmo.def, quartz.def,
	strmiids.c, test.c): Ditto.
	* lib/(d3dim.def, d3drm.def, d3dxof.def, ddraw.def, dinput.c,
	dinput.def, dplayx.def, dsetup.def, dsound.def, dxguid.c): Removed.
2004-03-27 02:25:37 +00:00
Christopher Faylor 58ea4db2fa * cygheap.cc (cygheap_fixup_in_child): Improve strace output. 2004-03-26 22:48:47 +00:00
Corinna Vinschen dee563095d * errno.cc (errmap): Map ERROR_SHARING_VIOLATION to EBUSY,
ERROR_EOM_OVERFLOW and ERROR_NO_DATA_DETECTED to EIO.  Add mappings
	for ERROR_NO_MEDIA_IN_DRIVE, ERROR_DEVICE_REQUIRES_CLEANING and
	ERROR_DEVICE_DOOR_OPEN.
	* fhandler.h (class fhandler_dev_raw): Drop varblkop member.
	(fhandler_dev_raw::is_eom): De-virtualize.
	(fhandler_dev_raw::is_eof): Ditto.
	(class fhandler_dev_tape): Drop lasterr and dp member.  Add mt_mtx
	member.  Drop all private methods formerly used by ioctl.
	(fhandler_dev_tape::is_rewind_device): Use get_minor for clarity.
	(fhandler_dev_tape::driveno): New method.
	(fhandler_dev_tape::drive_init): New method.
	(fhandler_dev_tape::clear): Remove method.
	(fhandler_dev_tape::is_eom): Ditto.
	(fhandler_dev_tape::is_eof): Ditto.
	(fhandler_dev_tape::write_file): Ditto.
	(fhandler_dev_tape::read_file): Ditto.
	(fhandler_dev_tape::_lock): New method.
	(fhandler_dev_tape::unlock): New method.
	(fhandler_dev_tape::raw_read): New method.
	(fhandler_dev_tape::raw_write): New method.
	* fhandler_raw.cc (fhandler_dev_raw::is_eom): New method.
	(fhandler_dev_raw::is_eof): New method.
	(fhandler_dev_raw::open): Allow setting write through option by
	using the O_TEXT flag as ... flag.
	(fhandler_dev_raw::writebuf): Remove usage of varblkop and other
	tape specific code.
	(fhandler_dev_raw::raw_read): Ditto.
	(fhandler_dev_raw::dup): Ditto.
	* fhandler_tape.cc: Rewrite tape operations entirely.  Implement
	new tape driver classes mtinfo, mtinfo_drive and mtinfo_part.
	Reduce fhandler_dev_tape methods to mostly just calling appropriate
	mtinfo_drive methods.
	(mtinfo_init): New function adding the mtinfo shared memory area.
	* mtinfo.h: New file, containing the definition of the new tape
	driver classes.
	* shared.cc: Include mtinfo.h.
	(offsets): Add entry for mtinfo shared memory area.
	(memory_init): Call mtinfo_init.
	* shared_info.h (shared_locations): Add SH_MTINFO shared location.
	* include/cygwin/mtio.h: Change and add various comments.  Add GMT_xxx
	macros for new generic flags.  Add MT_ST_xxx bitfield definitions
	for MTSETDRVBUFFER ioctl.
	* include/cygwin/version.h: Bump API minor version number.
2004-03-26 21:43:49 +00:00
Christopher Faylor 359b6e4c49 add missing files 2004-03-26 21:17:07 +00:00
Christopher Faylor 11a9a1cfbd * path.cc (path_conv::check): Use 'strchr' rather than 'strrchr' to find end of
string, for efficiency.
* include/cygwin/_types.h: New file.
* include/sys/lock.h: Ditto.
* include/sys/stdio.h: Ditto.
* thread.cc: Include sys/lock.h
(__cygwin_lock_init): New function.
(__cygwin_lock_init_recursive): Ditto.
(__cygwin_lock_fini): Ditto.
(__cygwin_lock_lock): Ditto.
(__cygwin_lock_trylock): Ditto.
(__cygwin_lock_unlock): Ditto.
(pthread::atforkprepare): Lock file pointer before fork.
(pthread::atforkparent): Unlock file pointer after fork.
(pthread::atforkchild): Ditto.
2004-03-26 20:02:01 +00:00
Corinna Vinschen 6b0d86c56d * sem.cc (semget): Fix debug string.
(semop): Ditto.
	* shm.cc (fixup_shms_after_fork): Ditto.
	(shmat): Ditto.
	(shmdt): Ditto.
	(shmget): Ditto.
2004-03-26 16:24:24 +00:00
Christopher Faylor 85427a949a * sigproc.cc (wait_sig): Make sure that SIGCHLD is handled regardless of
whether a signal is queued.
2004-03-26 16:15:23 +00:00
Danny Smith ff9f5c8330 Add prototypes for new msvcrt.dll versions
* include/_mingw.h (__MSVCRT_VERSION__): Define default as 0x0600.

	* include/time.h (__time64_t): Add typedef.
	(_mktime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
	(_ctime64): Likewise.
	(_wctime64): Likewise.
	(_gmtime64): Likewise.
	(_localtime64): Likewise.
	(wcsftime): Move into _WTIME_DEFINED block.
	Regroup non-ANSI prototypes.

	* include/io.h: Include <stdint.h>.
	(__finddata64_t): Add struct definition.
	(__wfinddata64_t): Likewise.
	(_findfirst64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
	(_findnext64): Likewise.
	(_wfindfirst64): Likewise.
	(_wfindnext64): Likewise.

	* include/sys/timeb.h (__timeb64): Add struct definition.
	(_ftime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.

	* include/sys/utime.h (__utimbuf64): Add struct definition.
	(_utime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
	(_futime64): Likewise.
	(_wutime64): Likewise.

	* include/sys/stat.h (__stat64):  Add struct definition.
	(_fstat64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
	(_stat64): Likewise.
	(_wstat64): Likwise.

	* include/sys/types.h (__time64_t):  Add typedef.

	* include/wchar.h (__wfinddata64_t): Add structure definition.
	(__stat64): Likewise.
	(_wctime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
	(_wfindfirst64): Likewise.
	(_wfindnext64): Likewise.
	(_wutime64): Likewise.
	(_wstat64): Likwise.

	* include/malloc.h (_aligned_free): Add prototype for
	__MSVCRT_VERSION__ >= 0x0700.
	(_aligned_malloc): Likewise.
	(_aligned_offset_malloc): Likewise.
	(_aligned_offset_realloc): Likewise.
	(_aligned_realloc): Likewise.

	* include/string.h (_wcserror): Add prototype for
	__MSVCRT_VERSION__ >= 0x0700.
	(__wcserror): Likewise.

	* include/math.h (_set_SSE2_enable): Add prototype for
	__MSVCRT_VERSION__ >= 0x0701.
2004-03-26 11:30:24 +00:00
Christopher Faylor 27ec638b25 * sigproc.cc (wait_sig): Report if not trying to send signal due to queued
signal.
2004-03-26 05:43:11 +00:00
Danny Smith 4c42aaf277 * include/stdio.h (_fsopen): Add prototype.
* include/tchar.h (_tfsopen): Add defines.
	Thanks to "Gerik" <gerikr at users dot sourceforge dot net>
2004-03-25 20:30:19 +00:00
Christopher Faylor 474048c26e * path.cc (normalize_posix_path): Reorganize to short circuit to DOS path
handling whenever a '\' is detected.
* signal.cc (sigaction): Make strace output more informative.
* sigproc.cc (pending_signals::add): Just index directly into signal array
rather than treating the array as a heap.
(pending_signals::del): Ditto.
(wait_sig): Don't send signal if we already have a similar signal queued.
* sigproc.h (call_signal_handler_now): Remove obsolete declaration.
2004-03-25 15:15:27 +00:00
Dimitri Papadopoulos 3ca0d9b613 2004-03-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
* include/GL/glu.h (GLU_AUTO_LOAD_MATRIX, GLU_CULLING,
	GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_PARAMETRIC_TOLERANCE,
	GLU_SAMPLING_METHOD, GLU_U_STEP, GLU_V_STEP): Define.
2004-03-25 10:17:29 +00:00
Dimitri Papadopoulos 8a6c1eacd9 Typo. 2004-03-25 10:02:05 +00:00
Christopher Faylor 9b8c338884 update copyright. Minor reformatting. 2004-03-24 21:46:09 +00:00
Danny Smith 024965bdc0 2004-03-24 Filip Navara <xnavara@volny.cz>
* include/commctrl.h (TB_GETSTRING[AW]): Add defines.
	(RBBS_HIDETITLE, RBBS_TOPALIGN): Ditto.
2004-03-24 10:37:01 +00:00
Danny Smith 1ae827c650 2004-03-24 Filip Navara <xnavara@volny.cz>
* include/ddk/srb.h (_PORT_CONFIGURATION_INFORMATION):	Rename
	TaggedQueueing to TaggedQueuing.
	(_HW_INITIALIZATION_DATA): Likewise.
2004-03-24 10:33:36 +00:00
Corinna Vinschen e4736d89a8 * winsup.api/devdsp.c: New file, testing fhandler_dev_dsp code.
* winsup.api/devdsp_okay.h: Ditto.
2004-03-24 10:20:14 +00:00
Corinna Vinschen a65cfe3c8c * fhandler_dsp.cc (fhandler_dev_dsp::write): Remove type
cast from argument to audio_out_->parsewav() to make reference
	work properly. Now .wav file headers are properly discarded.
2004-03-24 08:57:17 +00:00
Christopher Faylor 914777261b white space fixup 2004-03-23 18:52:39 +00:00
Corinna Vinschen 88506c6752 * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use created
handle regardless of nohandle state.  Clean up afterwards.
2004-03-23 11:26:54 +00:00
Corinna Vinschen 6653af6cc2 * autoload.cc: Load eight more functions for waveIn support.
* fhandler.h (class fhandler_dev_dsp): Add class Audio, class Audio_in
	and class Audio_out members and audio_in_, audio_out_ pointers so
	that future changes are restricted to file fhandler_dsp.cc.
	* fhandler_dsp.cc (fhandler_dev_dsp::Audio): Add this class to treat
	things common to audio recording and playback.
	Add more format conversions.
	(fhandler_dev_dsp::Audio::queue): New queues for buffer management
	to fix incomplete cleanup of buffers passed to the wave device.
	(fhandler_dev_dsp::Audio_in): New, added class to implement audio
	recording.
	(fhandler_dev_dsp::Audio_out): Rework to use functionality provided
	by fhandler_dev_dsp::Audio.  Allocate memory audio buffers late,
	just before write.
	(fhandler_dev_dsp::Audio_out::start): Size of wave buffer allocated
	here depends on audio rate/bits/channels.
	(fhandler_dev_dsp::Audio_in::start): Ditto.
	(fhandler_dev_dsp::setupwav): Replaced by following function.
	(fhandler_dev_dsp::Audio_out::parsewav): Does not setup wave device
	any more. Discard wave header properly.
	(fhandler_dev_dsp::open): Add O_RDONLY and_RDWR as legal modes.
	Protect against re-open. Activate fork_fixup.
	(fhandler_dev_dsp::ioctl): Protect against actions when audio is
	active.  SNDCTL_DSP_GETFMTS only returns formats supported by
	mmsystem wave API, not all supported formats.  SNDCTL_DSP_GETBLKSIZE
	result now depends on current audio format.
	(fhandler_dev_dsp::fixup_after_fork): Call fork_fixup for the Audio
	classes to let them duplicate the CRITICAL_SECTION.
2004-03-23 11:05:56 +00:00
Christopher Faylor 6b89a541db Christopher Faylor <cgf@redhat.com>
* init.cc (munge_threadfunc): Handle all instances of search_for.
(prime_threads): Test threadfunc_ix[0].
2004-03-22 18:30:38 +00:00
Christopher Faylor c7c7492aab * cygheap.cc (init_cheap): Set initial_sz to something or suffer spurious
output.
(cygheap_fixup_in_child): Set alloc_sz to passed in size to ensure that
children will have the right size heap.
(_csbrk): Make output conditional on DEBUGGING.
2004-03-21 22:24:06 +00:00
Christopher Faylor e362f67fef * cygheap.cc (init_cheap): Conditionalize debugging code. 2004-03-21 21:51:26 +00:00
Christopher Faylor 0cf94b8c62 * cygcheck.cc (dump_sysinfo): Remove "Win95/NT" from output. 2004-03-21 17:58:14 +00:00
Christopher Faylor c795774c91 * cygheap.cc (init_cheap): Add ability to specify minimal cygwin heap size when
debugging.
(_csbrk): Report error in allocation to stderr.
(ccalloc): Ditto.
* dtable.cc (dtable::find_fifo): Remove use of atoms.
* dtable.h (dtable::find_fifo): Ditto.
* fhandler.h (fhandler_fifo): Ditto.
* fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Ditto.
(fhandler_fifo::set_use): Ditto.
(fhandler_fifo::open_not_mine): Ditto.
(fhandler_fifo::open): Ditto.
* pinfo.cc (_pinfo::commune_recv): Ditto.
(_pinfo::commune_send): Ditto.
2004-03-21 17:41:40 +00:00
Pierre Humblet 83f96e3fbd 2004-03-19 Pierre Humblet <pierre.humblet@ieee.org>
* dir.cc (rmdir): Reorganize error handling to reduce indentation.
2004-03-20 00:03:32 +00:00
Christopher Faylor 61f50f94d2 * include/cygwin/version.h: Bump DLL minor number to 10. 2004-03-19 18:00:08 +00:00
Danny Smith 1e4942ab58 * msvcrt.def.in: Add stubs for msvcrt.dll (version 6.10),
msvcr70.dll, and msvcr71.dll.
	* Makefile.in (msvcr*.def): Define preprocessor  __msvcr*__ constant
	using basename of output def file.
2004-03-19 09:26:13 +00:00
Christopher Faylor d8f87fba65 * child_info.h (CURR_CHILD_INFO_MAGIC): Reset to new value.
(child_info::cygheap_alloc_sz): New field.
* cygheap.cc (init_cheap): Reduce size of cygwin stack until minimal hit when
attempting initial allocation.
(cygheap_setup_for_child): Use alloc_sz to create secondary memory mapped
entry.  Store alloc_sz in cygheap_alloc_sz.
(cygheap_fixup_in_child): Use cygheap_alloc_sz to map parent's cygheap.
* cygheap.h (_CYGHEAPSIZE_SLOP): New define.
(CYGHEAPSIZE): Use _CYGHEAPSIZE_SLOP.
2004-03-18 19:30:51 +00:00
Corinna Vinschen 891d1990ab * fhandler_proc.cc (format_proc_meminfo): On NT, try to figure out
real swap file usage by requesting SystemPagefileInformation.  Use
	GlobalMemoryStatus as fallback.
	* ntdll.h (_SYSTEM_INFORMATION_CLASS): Add SystemPagefileInformation.
	(struct _SYSTEM_PAGEFILE_INFORMATION): Define.
2004-03-18 12:28:47 +00:00
Joshua Daniel Franklin 1c5695b698 Add FAQ about old packages. Remove B20 references. 2004-03-17 17:39:44 +00:00
Christopher Faylor 12d545fb65 add missing changelog entry 2004-03-17 16:39:35 +00:00
Christopher Faylor 7faaacbbf1 * include/cygwin/version.h: Bump DLL minor number to 9. 2004-03-17 16:38:48 +00:00
Danny Smith 7cfe32b4ca * include/docobj.h (IOleDocumentView::GetDocument): Correct
prototype.
	Thanks to Buster Copley  <consequent@users.sourceforge.net>
2004-03-16 09:51:19 +00:00
Danny Smith b4d978174e * lib/ddk/ntoskrnl.def (MmAllocatePagesForMdl): Correct suffix.
(MmMapIoSpace): Likewise.
	Thanks to Dan Aloni  <da-x@colinux.org>
2004-03-16 09:26:25 +00:00
Danny Smith 6c6ae57202 2004-03-16 Martin Fuchs <martin-fuchs@gmx.net>
* include/shellapi.h (NIM_* NIS_*): Define constants for
	notification icons with _WIN32_IE >= 0x0500.
	(NOTIFYICONDATA): Add new structure members for notification
	icons with _WIN32_IE >= 0x0500.
2004-03-16 09:13:08 +00:00
Christopher Faylor fbdfd5f8a9 * sigproc.cc (proc_terminate): Release sync_proc_subproc when done terminating
or suffer potential hangs.
(get_proc_lock): Reorganize debugging output slightly.
2004-03-16 05:05:22 +00:00
Christopher Faylor e867f8f1d4 * cygtls.cc (_cygtls::fixup_after_fork): Just manipulate the signal stack if a
signal occurred during the parent's fork.  Otherwise leave it alone.
2004-03-16 04:39:38 +00:00
Christopher Faylor befdf18b4d * cygpath.cc (usage): Don't issue helpful message if -i is used.
(from Igor Pechtchanski)
2004-03-15 21:34:12 +00:00
Christopher Faylor c25695bbb9 * exceptions.cc (try_to_debug): Report on tid of caller.
* sync.cc (muto::acquire): Fix some races.
* sync.h (muto): Expose some fields for easier debugging.
2004-03-15 15:50:20 +00:00
Corinna Vinschen 80c74a5f38 Fix ChangeLog dates.
* fhandler.h (fhandler_dev_tape::tape_get_pos): Declare with extra
	parameter for partition number.
	(fhandler_dev_tape::_tape_set_pos): Ditto.
	(fhandler_dev_tape::tape_partition): New method.
	(fhandler_dev_tape::tape_set_partition): New method.
	* fhandler_tape.cc (fhandler_dev_tape::open): Call private methods
	directly instead of ioctl.
	(fhandler_dev_tape::ioctl): Use long erase on MTERASE by default.
	Don't use absolute positioning on MTSEEK.  Call tape_set_partition
	on MTSETPART, tape_partition on MTMKPART.
	(fhandler_dev_tape::tape_get_pos): Add partition number parameter.
	Prefer logical position information over absolute position information.
	Return partition number.
	(fhandler_dev_tape::_tape_set_pos): Add partition number parameter.
	Use in SetTapePosition.
	(fhandler_dev_tape::tape_set_pos): Remove special TAPE_ABSOLUTE_BLOCK
	handling.
	(fhandler_dev_tape::tape_erase): Rewind before erasing.
	(fhandler_dev_tape::tape_status): Rearrange slightly. Try to get a
	MediaType even if no tape is loaded. Store active partition in
	mt_resid as on Linux.
	(fhandler_dev_tape::tape_partition): New method.
	(fhandler_dev_tape::tape_set_partition): New method.
	* include/cygwin/mtio.h: Fix copyright. Add comment to explain
	mt_resid content.
	* include/cygwin/version.h: Bump API minor number.
2004-03-15 11:37:37 +00:00
Christopher Faylor 168d7785fc * cygtls.cc (_cygtls::remove): Call remove_wq even when we can't necessarily
get the cygtls table lock.
* cygtls.h (_cygtls::remove_wq): Add wait argument.
* sigproc.cc (_cygtls::remove_wq): Honor wait argument when acquiring lock.
(proc_terminate): Don't NULL sync_proc_subproc since other threads may still
try to access it.
2004-03-15 02:47:35 +00:00
Corinna Vinschen 6644f5097c * errno.cc (errmap): Map ERROR_BEGINNING_OF_MEDIA and
ERROR_SETMARK_DETECTED to EIO instead of ESPIPE.
	Handle ERROR_FILEMARK_DETECTED.
	* fhandler_tape.cc (TAPE_FUNC): Add comment that ERROR_BUS_RESET
	has still to be handled correctly.
	(fhandler_dev_tape::open): Accomodate fact that get.mt_dsreg
	also contains density code.
	(fhandler_dev_tape::ioctl): Rearrange slightly.  Reset devbuf also on
	MTNOP, MTWSM, MTSETBLK, MTSETDRVBUFFER, MTSETPART and MTMKPART.
	(fhandler_dev_tape::tape_set_pos): Rearrange.  Match behaviour to
	the Linux tape driver.
	(fhandler_dev_tape::tape_status): Call IOCTL_STORAGE_GET_MEDIA_TYPES_EX
	if available.  Return device type and density code in appropriate
	mtget members.
	* wincap.h (wincaps::has_ioctl_storage_get_media_types_ex): New element.
	* wincap.cc: Implement above element throughout.
	* include/cygwin/mtio.h: Add tape device types as returned by
	IOCTL_STORAGE_GET_MEDIA_TYPES_EX.
	(MT_TAPE_INFO): Use above type codes.
	(struct mtget): Change mt_dsreg comment.
2004-03-14 18:01:45 +00:00
Pierre Humblet 83a74ea24a 2004-03-14 Pierre Humblet <pierre.humblet@ieee.org>
* dir.cc (rmdir): Construct real_dir with flag PC_FULL.
        Use a loop instead of recursion to handle the current directory.
2004-03-14 16:16:45 +00:00
Christopher Faylor f8a8e7a1f6 * cygtls.cc (_cygtls::remove): Call remove_wq to ensure that wait stuff is
removed from proc_subproc linked list.
* cygtls.h (_cygtls::remove_wq): Declare.
* sigproc.cc (_cygtls::remove_wq): Define.
(proc_subproc): Label event handle appropriately.
* spawn.cc (spawn_guts): Return -1 when wait() fails for spawn types that
require waiting.
2004-03-14 06:34:05 +00:00
Christopher Faylor 8308950ca5 minor cleanup 2004-03-14 05:35:19 +00:00
Christopher Faylor ad22734a88 Fix typo. 2004-03-14 04:47:11 +00:00
Corinna Vinschen 09f36ed08f * errno.cc (errmap): Handle ERROR_BUS_RESET.
* fhandler.h (fhandler_dev_raw::write_file): New method, created
	from former static function.
	(fhandler_dev_raw::read_file): Ditto.
	(reset_devbuf): New inline method.
	(class fhandler_dev_tape): Add TAPE_GET_DRIVE_PARAMETERS
	member `dp'.
	(fhandler_dev_tape::write_file): New method.
	(fhandler_dev_tape::read_file): Ditto.
	(fhandler_dev_tape::tape_get_feature): Convert to inline method.
	(fhandler_dev_tape::tape_error): New method, created from former
	static function.
	(fhandler_dev_tape::tape_get_blocksize): Remove declaration.
	* fhandler_raw.cc (fhandler_dev_raw::write_file): New method, created
	from former static function.
	(fhandler_dev_raw::read_file): Ditto.
	(fhandler_dev_raw::writebuf): Accomodate the fact that no devbuf
	exists under variable block size condition.
	(fhandler_dev_raw::raw_read): Ditto. Add local p pointer to simplify
	pointer arithmetic.
	(fhandler_dev_raw::raw_write): Always set devbufend to 0 when starting
	with writing. Accomodate the fact that no devbuf exists under
	variable block size condition.
	* fhandler_tape.cc: Various formatting changes.
	(TAPE_FUNC): New macro. Use throughout as tape function loop.
	(get_ll): Convert into macro.
	(IS_EOM): New macro.
	(IS_EOF): New macro.
	(fhandler_dev_tape::is_eom): Use IS_EOM macro.
	(fhandler_dev_tape::is_eof): Use IS_EOF macro.
	(fhandler_dev_tape::write_file): New method.
	(fhandler_dev_tape::read_file): New method.
	(fhandler_dev_tape::open): Get drive information block here once.
	(fhandler_dev_tape::lseek): Remove unneeded duplicate code.
	(fhandler_dev_tape::dup): Duplicate drive information block.
	(fhandler_dev_tape::ioctl): Remove drvbuf in variable block size mode.
	Return ERROR_INVALID_BLOCK_LENGTH instead of ERROR_MORE_DATA if
	buffer contains data which would get lost on buffer size changing.
	Use absolute tape positioning also if drive only supports logical
	block positioning.
	(fhandler_dev_tape::tape_error): New method, created from former
	static function.
	(fhandler_dev_tape::tape_get_pos): Allow logical block reporting.
	Workaround tape driver bug.
	(fhandler_dev_tape::_tape_set_pos): Reset device buffer and flags
	after successful repositioning.
	(fhandler_dev_tape::tape_set_pos): Allow logical block positioning.
	Workaround tape driver bug.
	(fhandler_dev_tape::tape_erase): Use dp instead of calling
	GetTapeParameters.
	(fhandler_dev_tape::tape_prepare): Ditto.
	(fhandler_dev_tape::tape_get_blocksize): Remove.
	(fhandler_dev_tape::tape_set_blocksize): Don't call tape_get_blocksize.
	Error handling already done in fhandler_dev_tape::ioctl.
	(fhandler_dev_tape::tape_status): Remove local `dp' variable.
	Accomodate logical tape reporting.  Call tape_get_feature instead
	of accessing feature words directly.
	(fhandler_dev_tape::tape_compression): Use dp instead of calling
	GetTapeParameters.  Fix resetting datcompression.
2004-03-13 18:15:06 +00:00
Corinna Vinschen 5817840adf * kill.cc (get_debug_priv): New function.
(forcekill): Call get_debug_priv before trying to kill process.
2004-03-13 18:11:13 +00:00
Danny Smith 12d64159c7 *include/wininet.h (CACHEGROUP_SEARCH_ALL, CACHEGROUP_SEARCH_BYURL):
Add defines.
	(INTERNET_CACHE_GROUP_ADD, INTERNET_CACHE_GROUP_REMOVE): Add defines.
	(GROUPID) Add typedef.
	(INTERNET_CACHE_GROUP_INFO[AW]): Define structures.
	(CreateUrlCacheGroup): Add prototype.
	(DeleteUrlCacheGroup): Add prototype.
	(FindFirstUrlCacheGroup): Add prototype.
	(FindNextUrlCacheGroup): Add prototype.
	(GetUrlCacheGroupAttribute[AW]): Add prototypes.
	(SetUrlCacheGroupAttribute[AW]): Add prototypes.
2004-03-13 01:59:12 +00:00
Danny Smith 7ae33d44c0 * include/malloc.h: Remove __STRICT_ANSI__ guard. 2004-03-13 01:03:31 +00:00
Christopher Faylor 183f4d8086 * wait.cc (wait4): Initialize pointer on entry. Avoid calling
call_signal_handler twice since that guarantees exiting with errno set to
EINTR.
2004-03-12 22:03:33 +00:00
Christopher Faylor 07411d4c2e * include/process.h: Remove the #endif associated with removal of
__STRICT_ANSI__ guard from non-ANSI header.
2004-03-12 16:39:37 +00:00
Corinna Vinschen 3c5f8ea418 * exceptions.cc (sigpacket::process): Simplify code slightly. 2004-03-12 08:22:22 +00:00
Christopher Faylor 9863b78e7b * cygtls.h (waitq): Declare structure here.
(_cygtls::wq): Declare.
* cygtls.cc (_cygtls::fixup_after_fork): Clear wq.thread_ev to avoid using an
invalid event handle in forked process.
* dcrt0.cc (waitq_storage): Delete.
(threadstuff): Remove waitq_storage.
* perthread.h (per_thread_waitq): Delete.
(waitq_storage): Delete declaration.
* sigproc.cc (sigproc_init): Remove perthread waitq consideration.
* sigproc.h (waitq): Delete declaration.
* wait.cc (wait4): Use _my_tls waitq structure rather than per_thread.
* cygtls.h (_cygtls::newmask): Delete member.
(_cygtls::deltamask): New member.
* gendef (_sigdelayed): Replace the call to set_process_mask by a call to
set_process_mask_delta.
* exceptions.cc (handle_sigsuspend): Do not filter tempmask.  Or
SIG_NONMASKABLE in deltamask as a flag.
(_cygtls::interrupt_setup): Set deltamask only.
(set_process_mask_delta): New function.
(_cygtls::call_signal_handler): Replace the first call to set_process_mask by a
call to set_process_mask_delta.
* tlsoffsets.h: Regenerate.
2004-03-12 03:09:28 +00:00
Christopher Faylor 7ea8e226ee * cygtls.cc (_cygtls::fixup_after_fork): Remove unneeded setting of oldmask.
* exceptions.cc: Remove some __I386__ conditionals.
(handle_exceptions): Move ppid test to outside of a loop for efficiency.
(setup_handler): Make debugging output more wordy.
(_cygtls::call_signal_handler): To avoid a race, use lock/unlock to synchronize
with signal thread and ensure that signal_arrived event has actually been set.
* gendef (_sigfe): Use ebx for all sigstack manipulations to ensure that the
register is saved.  Move setting of incyg to within stack lock to avoid
setup_handler confusion.
(_sigbe): Use ebx for all sigstack manipulations to ensure that the register is
saved.
(_cygtls::pop): Ditto.
(_cygtls::lock): Ditto.
(stabilize_sig_stack): Ditto.
(setjmp): Ditto.
(longjmp): Ditto.
2004-03-12 02:07:39 +00:00
Danny Smith f8a024a81b * include/conio.h: Remove __STRICT_ANSI__ guard from non-ANSI header.
* include/direct.h:  Ditto.
	* include/dirent.h:  Ditto.
	* include/dos.h:  Ditto.
	* include/excpt.h:  Ditto.
	* inlude/fcntl,h
	* include/io.h:  Ditto.
	* inlude/mem.h:  Ditto.
	* include/memory.h:  Ditto.
	* include/process.h:  Ditto.
	* inlude/search.h:  Ditto.
	* include/share.h:  Ditto.
	* include/unistd.h:  Ditto.
	* include/sys/fcntl.h:  Ditto.
	* include/file.h:  Ditto.
	* include/sys/locking.h:  Ditto.
	* include/sys/param.h:  Ditto.
	* include/sys/stat,h
	* include/sys/time.h:  Ditto.
	* include/sys/timeb.h:  Ditto.
	* include/sys/types.h:  Ditto.
	* include/sys/unistd.h:  Ditto.
	* include/sys/utime.h:  Ditto.
2004-03-11 09:41:08 +00:00
Danny Smith 5632dd896d 2004-03-10 Al Slater <al.slater@scluk.com>
* include/winsock2.h: Add missing LPFN_ typdefs for
	function pointers.
	Clean up whitespace.
2004-03-10 20:00:20 +00:00
Christopher Faylor 58e9df0f91 * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK and TIOCCBRK.
* include/sys/termios.h: Define TIOCSBRK and TIOCCBRK.
2004-03-09 02:51:26 +00:00
Christopher Faylor d8672e9343 . 2004-03-09 01:29:39 +00:00
Christopher Faylor 5fb0fe79eb * exceptions.cc (setup_handler): Avoid suspending a thread if it in a cygwin
function, in an exception, spinning, or locked.
* gendef (_sigfe): Move incyg setting earlier.
(sigreturn): Set incyg flag to avoid interrupting called cygwin functions.
(sigdelayed): Ditto.
(stabilize_sig_stack): Ditto.
* sigproc.cc (proc_subproc): Don't restore process lock early in exec case.
* cygtls.h: Reorganize fields in _cygtls slightly.
* tlsoffsets.h: Regenerate.
2004-03-09 01:24:08 +00:00
Christopher Faylor 0c378b648e add missing entry 2004-03-07 04:58:35 +00:00
Christopher Faylor 3a1ccfc8c7 * fork.cc (fork_parent): Save parent pid in a temporary variable since child
could conceivably exit before function returns, rendering the child's shared
memory area invalid.
* cygtls.h (_cygtls::incyg): Declare new field.
(_cygtls::in_exception): Define new function.
* exceptions.cc (setup_handler): Remove locked flag.  Use 'incyg' flag and
in_exception function to determine when we're in a cygwin function.
(_cygtls::call_signal_handler): Decrement incyg flag prior to calling a
handler.  Increment it on return.
* gendef (_sigfe): Increment incyg flag.  Use testl for zero testing rather
than orl, for consistency.
(_sigbe): Decrement incyg flag.  Use testl for zero testing rather than orl,
for consistency.
(_cygtls::pop): Use testl for zero testing rather than orl, for consistency.
(stabilize_sig_stack): Ditto.
2004-03-07 04:57:47 +00:00
Christopher Faylor 2942097ac2 * winsup.api/known_bugs.tcl: Remove mknod01 since mknod now works.
* winsup.api/ltp/mknod01.c: Remove root check when running on cygwin.
2004-03-07 04:51:29 +00:00
Christopher Faylor 9514a64249 update some documentation 2004-03-06 21:43:57 +00:00
Christopher Faylor f2afcfa616 * gendef (sigdelayed): Handle return here rather than going through sigbe to
ensure that flags are properly restored.
2004-03-05 19:09:04 +00:00
Danny Smith 71826fa7fa 2004-03-05 Filip Navara <xnavara@volny.cz>
* include/ddk/scsi.h: Replace assert with ASSERT.
	* include/ddk/video.h: Ditto.
	* include/ddk/winddk.h: Ditto. Remove the assert macro.
	* include/ddk/tdi.h: Correct packing.
2004-03-05 09:01:04 +00:00
Thomas Pfaff a6435f99ea * winsup.api/pthread/mutex8e.c: New testcase.
* winsup.api/pthread/mutex8n.c: Ditto.
* winsup.api/pthread/mutex8r.c: Ditto.
2004-03-04 21:08:22 +00:00
Thomas Pfaff b95ae50461 * include/pthread.h (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP):
New define.
(PTHREAD_NORMAL_MUTEX_INITIALIZER_NP): Ditto.
(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Ditto.
* thread.cc (pthread_mutex::is_good_initializer):
Check for all posssible initializers
(pthread_mutex::is_good_initializer_or_object): Ditto.
(pthread_mutex::is_good_initializer_or_bad_object): Ditto.
(verifyable_object_isvalid): Support up to three static
initializers.
(verifyable_object_isvalid (void const *,long)): Remove.
(pthread_cond::is_good_initializer_or_bad_object): Remove
unneeded objectState var.
(pthread_cond::init): Condition remains unchanged when creation
has failed.
(pthread_rwlock::is_good_initializer_or_bad_object): Remove
unneeded objectState var.
(pthread_rwlock::init): Rwlock remains unchanged when creation
has failed.
(pthread_mutex::init): Remove obsolete comment.
Mutex remains unchanged when creation has failed. Add support
for new initializers.
(pthread_mutex_getprioceiling): Do not create mutex,
just return ENOSYS.
(pthread_mutex_lock): Simplify.
(pthread_mutex_trylock): Remove unneeded local themutex.
(pthread_mutex_unlock): Just return EPERM if mutex is not
initialized.
(pthread_mutex_setprioceiling): Do not create mutex,
just return ENOSYS.
* thread.h (verifyable_object_isvalid): Support up to three
static initializers.
(verifyable_object_isvalid (void const *,long)): Remove
prototype.
(pthread_mutex::init): Add optional initializer to parameter
list.
2004-03-04 21:04:14 +00:00
Christopher Faylor 08b0a057eb * gendef (sigreturn): Call stabilize_sig_stack to ensure that there are no
pending signals.  Restore edx later.
(sigdelayed): Save edx earlier.
* malloc_wrapper.cc (malloc_init): Add some more debugging output.
2004-03-04 05:31:14 +00:00
Danny Smith e299c7addc * include/wtypes.h (DECIMAL_SETZERO): Add definition for
NONAMELESSUNION case.
2004-03-03 20:24:08 +00:00
Danny Smith 4149d576c3 22004-03-03 Martin Fuchs <martin-fuchs@gmx.net>
* include/oleauto.h (V_UNION, V_VT, V_DECIMAL): Use
	__VARIANT_NAME_ constants.
2004-03-03 19:19:36 +00:00
Danny Smith dd890ee106 * include/uxtheme.h: Include <commctrl.h> 2004-03-02 23:01:16 +00:00
Corinna Vinschen 7cdd029300 * fhandler_raw.cc (fhandler_dev_raw::raw_read): When reading with
variable block size, read only one block, read directly into user
	supplied buffer, return ENOMEM if user supplied buffer is smaller
	than size of next block to read.  Use read2 instead of bytes_to_read
	to count number of bytes read.
	* fhandler_tape.cc (fhandler_dev_tape::open): Add debug output.
2004-03-02 13:07:47 +00:00
Corinna Vinschen ddb1a4c10a * sysv_sem.cc (semundo_adjust): Check for process id instead of
process struct pointer, which isn't fixed under Cygwin.
	(semexit_myhook): Ditto.  Adjust debug print statements to print
	Cygwin and Windows PIDs instead of process pointer under Cygwin.
2004-03-02 11:08:35 +00:00
Danny Smith b06a028bf0 * basetyps.h (GUID_SECT): Define to nothing for GCC >= 2.95. 2004-03-02 09:50:08 +00:00
Danny Smith e30ffa5bdd 2004-03-02 Martin Fuchs <martin-fuchs@gmx.net>
* include/oleauto.h (VAR_VALIDDATE, VAR_FORMAT_NOSUBSTITUTE,
	VAR_FOURDIGITYEARS) Define new constants. Group VAR_*  defines
	together
	(V_UI2, V_UI4, V_UI4REF, V_UI, V_UI8REF) Define macros.
	(V_I8, V_I8REF): Correct macros.
	(V_DECIMAL): Correct macro deginitions.
	(V_INT_PTR, V_UINT_PTR, V_INT_PTRREF, V_UINT_PTRREF): Define
	constants.
	(VTBIT_*): Define constants.
	(UDATE): Add structure definition.
	(VarDateFromUdate, VarDateFromUdateEx, VarUdateFromDate): Declare
	functions.
	(SafeArrayCreateVector): Correct parameter type from UINT to ULONG
	(SafeArrayCreateVectorEx): Declare function.
	(Var*): declare VARIANT manipulation functions.
	* include/ocidl.h (IPicture_*): Define IPicture COBJ macros.
	* include/oaidl.h (IRecordInfo_*): Define IRecordInfo COBJ
	macros.
2004-03-02 09:15:16 +00:00
Christopher Faylor 0f8989463e fix minor typo 2004-03-01 20:44:02 +00:00
Christopher Faylor 74c9d43c5e fix minor typo 2004-03-01 20:43:22 +00:00
Danny Smith a45a3b7f80 Missed this in last commit.
2004-03-01  Martin Fuchs  <martin-fuchs@gmx.net>

	* include/winuser.h (COLOR_*): Define missing constants.
2004-03-01 10:30:00 +00:00
Danny Smith f397868443 2004-03-01 Martin Fuchs <martin-fuchs@gmx.net>
* include/oaidl.h (FADF_*) Define missing constants.
	(IDispatch_*): Define COBJ macros.
	(VARIANT): Add missing union members llVal and ullVal.
	(wireVARIANT): Likewise.
	(ITypeinfo_*): Define COBJ macros.
	* include/oleauto.h (Var*FromDisp): Correct parameter type from
	LPDISPATCH* to LPDISPATCH.
	(VARCMP_*, VAR_LOCALBOOL, LOCALE_USE_NLS, VARIANT_*,
	VAR_CALENDAR_*): Add missing constants.
	(SafeArray[Get/Set]*): Add prototypes.
	(Var*From*):  Add missing prototypes.
	(NUMPRS_*): Add defines.
	(NUMPARSE): Define structure.
	(VarParseNumFromStr,VarNumFromParseNum): Add prototypes.
	* include/winerror.h (DISP_E_DIVBYZERO): Define constant.
	* include/winuser.h (COLOR_*): Define missing constants.
	* include/wtypes.h (enum VARENUM) Add VT_INT_PTR, VT_UINT_PTR.
 	(VT_INT_PTR, VT_UINT_PTR): Remove macro definitions.
2004-03-01 10:09:42 +00:00
Corinna Vinschen 4e23c18123 * miscfuncs.cc (check_invalid_virtual_addr): Assure the last page
in the range is always tested.  Add appropriate const.
	* mmap.cc (mmap_record::aloc_fh): Remove unused static path_conf object.
2004-02-26 11:32:20 +00:00
Christopher Faylor ca713cfab3 * exceptions.cc (setup_handler): Signal event for any sigwaitinfo if it exists
to force signal to be handled.  Zero event here to prevent races.
* signal.cc (sigwaitinfo): Use local handle value for everything since signal
thread could zero event element at any time.  Detect when awaking due to thread
not in mask and set return value and errno accordingly.  Don't set signal
number to zero unless we've recognized the signal.
* sigproc.cc (sigq): Rename from sigqueue throughout.
* thread.cc (pthread::join): Handle signals received while waiting for thread
to terminate.
* cygwin.din: Export sighold, sigqueue.
* exceptions.cc (sighold): Define new function.
* signal.cc (handle_sigprocmask): Set correct errno for invalid signal.
Simplify debugging output.
(sigqueue): Define new function.
* include/cygwin/signal.h (sighold): Declare new function.
(sigqueue): Ditto.
* include/cygwin/version.h: Bump API minor version number.
* include/limits.h (TIMER_MAX): Define.
(_POSIX_TIMER_MAX): Ditto.
2004-02-26 05:10:49 +00:00
Corinna Vinschen f9e19c0931 * miscfuncs.cc (check_invalid_virtual_addr): New function.
* winsup.h (check_invalid_virtual_addr): Declare.
	* mmap.cc (munmap): Call check_invalid_virtual_addr instead of
	IsBadReadPtr.
2004-02-25 10:54:31 +00:00
Christopher Faylor 241f503c75 * gendef (stabilize_sig_stack): Correctly align this pointer for call to
_cygtls::call_signal_handler.
* gentls_offsets: Output sizeof field.
* tlsoffsets.h: Regenerate.
2004-02-25 04:08:00 +00:00
Christopher Faylor f135dd3ee7 * cygpath.cc (long_options): Add "mode" option.
(options): Ditto.
(usage): Report on new option.
(report_mode): New function.
(main): Implement -M option.
2004-02-25 01:23:20 +00:00
Christopher Faylor 5ef9bbc874 * dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set.
* external.cc (cygwin_internal): Implement CW_GET_BINMODE.
* include/sys/cygwin.h: Declare CW_GET_BINMODE.
2004-02-25 01:19:13 +00:00
Christopher Faylor 5dbaca1607 * dcrt0.cc (_dll_crt0): Add some stern internal errors. 2004-02-24 17:13:16 +00:00
Corinna Vinschen c9a76075f5 * thread.cc (pthread::cancelable_wait): Rearrange slightly.
Add do_sig_wait parameter.  Wait for signal_arrived if set to true.
	Return WAIT_SIGNALED if signal arrived.
	(pthread_cond::wait): Accomodate change to pthread::cancelable_wait.
	(pthread::join): Ditto.
	(semaphore::_timedwait): Ditto.
	(semaphore::_wait): Ditto.  Change to return int to allow status
	feedback.
	(semaphore::wait): Return return value from semaphore::_wait.
	* thread.h (WAIT_SIGNALED): New definition.
	(pthread::cancelable_wait): Change declaration.  Define do_sig_wait
	as false by default to not interfere with existing calls accidentally.
	(semaphore::_wait): Declare int.
2004-02-24 11:33:15 +00:00
Danny Smith 8f8baa7c4b 2004-02-23 Filip Navara <xnavara@volny.cz>
* include/ddk/video.h: Corrected packing.
2004-02-23 05:53:38 +00:00
Joshua Daniel Franklin 1fc8b54fe2 2004-02-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* Makefile.in: Fix problem links in faq0.html file.
	* what.texinfo: Remove outdated 'recent' history.
2004-02-22 23:49:15 +00:00
Joshua Daniel Franklin e9dfbae165 2004-01-12 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* dll_init.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * dtable.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * external.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * path.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * pinfo.cc: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * shared.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
        * stackdump.sgml: Update funcsynopsis for DocBook 4.2 SGML DTD.
2004-02-22 23:21:20 +00:00
Christopher Faylor 4d5d7a2c09 * exceptions.cc (sigpacket::process): Make sure that tls is filled in for
SIGSTOP condition.
(_cygtls::call_signal_handler): Restore signal mask using saved oldmask rather
than current oldmask.
2004-02-21 22:57:36 +00:00
Danny Smith 53a207edfa * include/_mingw.h (__UNUSED_PARAM): Define macro.
* include/wchar.h (fwide): Use it.
	(mbsinit): Ditto.
2004-02-21 07:21:36 +00:00
Christopher Faylor 7c03f79971 * Makefile.in (build_dumper): Detect missing iconv library.
* cygpath.cc (dowin): Report on filename conversion errors.
(doit): Ditto.
* strace.cc (main): Use symbolic constant for _STRACE_ALL when setting mask.
2004-02-21 04:51:15 +00:00
Christopher Faylor 3a0f12b588 * path.cc (conv_path_list): Return error condition.
(copy1): New function.
(copyenc): New function.
(mount_item::fnmunge): Return error condition.  Use new functions to copy
strings.
(mount_item::build_win32): Ditto.
(mount_info::conv_to_win32_path): Return error condition.
(cygwin_conv_to_posix_path): Return result of path conversion.
(cygwin_conv_to_full_posix_path): Ditto.
(return_with_errno): New macro.
(cygwin_win32_to_posix_path_list): Use new macro to potentially set errno.
(cygwin_posix_to_win32_path_list): Ditto.
* path.h (mount_item::fnmunge): Add size argument.
(mount_item::build_win32): Ditto.
2004-02-21 04:46:00 +00:00
Corinna Vinschen 12afe44527 * getopt.c: Avoid useless compiler warnings. 2004-02-20 23:31:47 +00:00
Corinna Vinschen 1a57b22914 * getopt.c: Replace with latest vanilla(!) OpenBSD version 1.16. 2004-02-20 21:30:44 +00:00
Joshua Daniel Franklin ec15a786a6 2004-02-19 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygwinenv.sgml: Remove incorrect ^Z information. Add
	some tags to server option description.
	* textbinary.sgml: Remove incorrect ^Z information.
2004-02-20 07:26:16 +00:00
Danny Smith ed0069cc25 * include/Gl/glu (GLU_ERROR): Define.
Thanks to  Philip Lamb <phil at rave dot co dot nz>
2004-02-19 05:46:27 +00:00
Danny Smith 19bb757951 * include/Gl/glu.h: Include <stddef.h>.
Thanks to Greg Couch <gregcouch@users.sourceforge.net>
2004-02-19 03:04:14 +00:00
Christopher Faylor 0e061ecf96 * fork.cc (fork_child): Invert sense of test which defeated correct handling in
a fork from a non-main thread.
* dcrt0.cc (initial_env): Eliminate parameter and just send DebugBreak when
appropriate.
(dll_crt0_0): Reflect parameter change to initial_env.
(dll_crt0_1): Don't call initial_env.
2004-02-18 22:32:15 +00:00
Christopher Faylor 2d6c4a1a65 * gendef (stabilize_sig_stack): New function.
(setjmp): Import, add sig stack handling.  Store sig stack info.
(longjmp): Call stabilize_sig_stack.  Restore sig stack info.
* config/i386/setjmp.c: Remove.
2004-02-18 20:48:38 +00:00
Corinna Vinschen a682de34be * fork.cc (fork_child): Move fixup_shms_after_fork so that
signal_arrived is initialized when calling it.
2004-02-17 21:17:25 +00:00
Christopher Faylor 720c33ae4c * Makefile.in (clean): Clean libserver, too.
* fhandler.cc (fhandler_base::~fhandler_base): Remove path_conv cleanup.
* syscalls.cc (chroot): Ditto.
* path.cc (path_conv::~path_conv): Define new destructor.
(conv_path_list_buf_size): Remove explicit path_conv cleanup.
* path.h (path_conv::~path_conv): Declare new destructor.
2004-02-17 20:03:01 +00:00
Christopher Faylor 88e584bf43 * Makefile.in: Compile flock.o with -fomit-frame-pointer. 2004-02-17 15:23:29 +00:00
Christopher Faylor f6cd9c3555 * Makefile.in: Compile dlfcn.o with -fomit-frame-pointer. 2004-02-16 21:25:10 +00:00
Christopher Faylor 2c29523ece * Makefile.in: Compile delqueue.o with -fomit-frame-pointer. 2004-02-16 20:30:46 +00:00
Corinna Vinschen a5c525cc00 * cygwinenv.sgml: Add server option description. 2004-02-16 12:22:14 +00:00
Corinna Vinschen 212592dcc9 * syscalls.cc (rename): Do not test the MoveFile error code
where MoveFileEx exists.
2004-02-16 11:45:04 +00:00
Christopher Faylor 04dbc76ea5 correct changelog 2004-02-16 02:34:36 +00:00
Christopher Faylor b4f0009fe3 * cygheap.cc (_csbrk): Report failing condition to stderr rather than strace. 2004-02-16 02:03:54 +00:00
Earnie Boyd cc9c680509 * include/w32api.h: Increment version to 3.0.
* Makefile.in: Ditto.
	* README.win32api: Modify license to Public Domain per agreement as
	found in the mingw-dvlpr list archive.
2004-02-15 09:46:16 +00:00
Christopher Faylor 955bf2ee96 * Makefile.in: Compile syscalls.o with -fomit-frame-pointer.
* sigproc.cc: Eliminate unused variable.
2004-02-15 02:44:16 +00:00
Corinna Vinschen 968bdf96b1 * getopt.c: Replace with latest NetBSD version 1.16. Keep Cygwin
specific changes as minimal as possible.
2004-02-14 19:43:52 +00:00
Corinna Vinschen e92be2201a * ssp.c (opts): Add leading '+' to force posixly correct behaviour. 2004-02-14 19:43:07 +00:00
Christopher Faylor cf2b4018b0 * sigproc.cc (proc_subproc): Change warning back to silent debug output. 2004-02-14 04:58:31 +00:00
Christopher Faylor c21e74cce8 * dcrt0.cc (alloc_stack_hard_way): Revert to previous implementation.
(alloc_stack): Ditto.
* exceptions.cc (ctrl_c_handler): Add debugging output.
2004-02-14 04:38:37 +00:00
Earnie Boyd e6ea2b9671 * include/ddk/winddk.h (DIRECTORY_QUERY): Add define.
(DIRECTORY_TRAVERSE): Ditto.
	(DIRECTORY_CREATE_OBJECT): Ditto.
	(DIRECTORY_CREATE_SUBDIRECTORY): Ditto.
	(DIRECTORY_ALL_ACCESS): Ditto.
	Thanks to Konstantin Stepaniuk <skostia@users.sourceforge.net>
2004-02-14 01:20:49 +00:00
Christopher Faylor edc4f86ad2 * Makefile.in (clean): Remove sigfe.s.
(sigfe.s): Ensure that sigfe.s will be regenerated if it does not exist.
* dll_init.cc (dll_dllcrt0): Simplify initializing tests.
* exceptions.cc (setup_handler): Detect when stub caller is either spinning or
has acquired the lock after being suspended to avoid windows problems with
suspending a win32 API call.
* cygtls.h (_cygtls::spinning): Declare new element.
* gendef: Remove unused _siglist_index and _siglist declaration.
(_sigfe): Set spinning element when potentially looping, waiting for lock.
(_sigbe): Ditto.
(_cygtls::lock): Ditto.
(_longjmp): Ditto.
* tlsoffsets.h: Regenerate.
* pinfo.cc (_pinfo::exit): Set final exit state here.  Call sigproc_terminate
if invoked with 'norecord'.  Clear any residual _cygtls stuff.
* winsup.h (exit_states): Define ES_FINAL.
* spawn.cc (spawn_guts): Don't call proc_terminate specifically when execing.
Let _pinfo::exit handle that case.
* sigproc.cc (wait_subproc): Always exit loop early when proc_loop_wait.
* init.cc (munge_threadfunc): Eliminate unused argument.
(dll_entry): Reflect above change in call to munge_threadfunc.
2004-02-13 19:34:32 +00:00
Christopher Faylor b3535c2730 * gendef (_sigbe): Zero location on pop.
(_cygtls::pop): Ditto.
2004-02-12 04:55:29 +00:00
Christopher Faylor b91faaabea * dcrt0.cc (alloc_stack_hard_way): Eliminate second argument.
(alloc_stack): Remove use of 'b' throughout.
2004-02-12 03:07:35 +00:00
Christopher Faylor e431827c7c Rename _threadinfo to _cygtls, throughout.
* cygtls.h (_cygtls::call_signal_handler): Rename from call_signal_handler_now.
(_cygtls::push): Make second argument mandatory.
(_cygtls::fixup_after_fork): Declare new function.
(_cygtls::lock): Ditto.
* cygtls.cc (_cygtls::fixup_after_fork): Define new function.
* dcrt0.cc (cygwin_finished_initializing): Define as bool.
(alloc_stack): Use _tlstop rather than arbitrary variable in probably vain
attempt to avoid strange fork problem on CTRL-C.
(dll_crt0_0): Remove obsolete winpids::init call.
* dll_init.cc (dll_dllcrt0): Detect forkee condition as equivalent to
initializing.
* winsup.h (cygwin_finished_initializing): Declare as bool.
* exceptions.cc (handle_exceptions): Rely on cygwin_finished_initializing to
determine how to handle exception during process startup.
(_cygtls::call_signal_handler): Rename from call_signal_handler_now.
(_cygtls::interrupt_now): Fill in second argument to push.
(signal_fixup_after_fork): Eliminate.
(setup_handler): Initialize locked to avoid potential inappropriate unlock.
Resume thread if it has acquired the stack lock.
(ctrl_c_handler): Just exit if ctrl-c is hit before cygiwn has finished
initializing.
* fork.cc (sync_with_child): Don't call abort since it can cause exit
deadlocks.
(sync_with_child): Change debugging output slightly.
(fork_child): Set cygwin_finished_initializing here.  Call _cygtls fork fixup
and explicitly call sigproc_init.
(fork_parent): Release malloc lock on fork failure.
(vfork): Call signal handler via _my_tls.
* sigproc.cc (sig_send): Ditto.
* syscalls.cc (readv): Ditto.
* termios.cc (tcsetattr): Ditto.
* wait.cc (wait4): Ditto.
* signal.cc (nanosleep): Ditto.
(abort): Ditto.
(kill_pgrp): Avoid killing self if exiting.
* sync.cc (muto::acquire): Remove (temporarily?) ill-advised exiting_thread
check.
* gendef (_sigfe): Be more agressive in protecting stack pointer from other
access by signal thread.
(_cygtls::locked): Define new function.
(_sigbe): Ditto.
(_cygtls::pop): Protect edx.
(_cygtls::lock): Use guaranteed method to set eax to 1.
(longjmp): Aggressively protect signal stack.
* miscfuncs.cc (low_priority_sleep): Reduce "sleep time" for secs == 0.
* pinfo.cc (winpids::set): Counterintuitively use malloc's lock to protect
simultaneous access to the pids list since there are pathological conditions
which can cause malloc to call winpid.
(winpids::init): Eliminate.
* pinfo.h (winpids::cs): Eliminate declaration.
* pinfo.h (winpids::init): Eliminate definition.
2004-02-12 03:01:58 +00:00
Danny Smith 2bc01fb1f5 * include/basetypes.h (_REFIID_DEFINED): Correct typo.
* include/winuser.h (NCCALCSIZE_PARAMS): Define structure.
	Thanks to Mike Nordell <tamlin at algonet dot se>.
2004-02-12 00:20:30 +00:00
Danny Smith c904424d70 * lib/dnsapi.a: New file.
* lib/test.c: Include windns,h.
2004-02-11 19:57:58 +00:00
Danny Smith efdce2bd3b 2004-02-11 Pierre A. Humblet <Pierre.Humblet@ieee.org>
* include/windns.h: New file.
2004-02-11 19:54:28 +00:00
Danny Smith be6f31e7b7 * include/sqlucode.h (SQLGetStmtAttr[AW]): Remove duplicate
defines.
	(SQLSetStmtAttr[AW]): Move into ODBCVER >= 0x0300 block.
	(SQLSetDescFieldW): Correct prototype.
	(SQLSetDescFieldA): Add prototype.
	(SQLGetDescFieldW): Add prototype.
2004-02-11 19:48:22 +00:00
Danny Smith 0081315542 2004-02-11 Pat Thoyts <patthoyts@users.sourceforge.net>
* include/winuser.h (DFC_POPUPMENU): Add define.
2004-02-11 19:46:21 +00:00
Corinna Vinschen 897c785600 * security.cc (get_nt_object_attribute): Fix error handling. 2004-02-11 17:54:34 +00:00
Corinna Vinschen 960471b1a6 * strace.cc (opts): Add leading '+' to force posixly correct
behaviour.
	(main): Revert POSIXLY_CORRECT manipulations.
2004-02-11 13:30:02 +00:00
Joshua Daniel Franklin 49a4f409df * utils.sgml: Update cygcheck options 2004-02-11 04:10:47 +00:00
Christopher Faylor 6dbfb93a04 * strace.cc (main): Guard against previous setting of POSIXLY_CORRECT. 2004-02-11 00:29:42 +00:00
Christopher Faylor c662f402aa * strace.cc: Update copyrights.
* cygcheck.cc: Update copyrights.
2004-02-10 16:15:53 +00:00
Christopher Faylor 744ed079bc * strace.cc (main): Ensure POSIXLY_CORRECT argument ordering.
* cygcheck.cc (main): Ditto.
2004-02-10 16:01:31 +00:00
Corinna Vinschen 9ec70d2019 * fhandler_socket.cc (fhandler_socket::ioctl): Add FIONREAD handling. 2004-02-09 11:30:57 +00:00
Christopher Faylor cec4879206 * debug.h (console_printf): Define for non-debugging condition.
* cygtls.h (_threadinfo::lock): Remove wait argument.
(_threadinfo::interrupt_setup): Remove retaddr argument.
* exceptions.cc (_threadinfo::interrupt_setup): Ditto.
(_threadinfo::interrupt_now): Accommodate change to interrupt_setup argument.
(setup_handler): Ditto.  Always lock sig stack prior to determining interrupt
method.
* gendef (_sigfe): Correct thinko regarding cmpxchg.
(_sigbe): Ditto.
(_threadinfo::lock): Ditto.
(_threadinfo::pop): Eliminate left-over stack unlock.
* sigproc.cc (proc_subproc): Chnage debugging output to printed warning.
2004-02-09 04:04:24 +00:00