Commit Graph

6879 Commits

Author SHA1 Message Date
Corinna Vinschen 457c7938f0 * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Drop comment.
* mmap.cc (gen_access): Remove.
	(mmap_record::gen_access): Remove.
	(mmap64): Don't mention 9x any longer.
	* syscalls.cc (statvfs): Drop status code consideration for 9x.
	* libc/minires-os-if.c (get_registry_dns_items): Don't mention 9x any
	longer.
	(get_registry_dns): Drop getting registry key on 9x.  Drop is9x
	variable.
2007-02-26 12:22:41 +00:00
Corinna Vinschen a76877e977 Throughout remove all usage of wincap.has_security.
* environ.cc (environ_init): Drop setting allow_ntsec here.
	* grp.cc (initgroups32): Drop usage of label "out".
	* security.cc (allow_ntsec): Set to true by default.
	* syscalls.cc (seteuid32): Remove label success_9x.
	* wincap.cc: Remove has_security throughout.
	* wincap.h: Ditto.
2007-02-23 15:15:50 +00:00
Corinna Vinschen 9fa43ff6c6 * fhandler.h (class fhandler_pipe): Remove members writepipe_exists,
orig_pid and id.  Make hit_eof inline.
	* fhandler_fifo.cc (fhandler_fifo::open): Drop handling of
	writepipe_exists, orig_pid and id.
	* pipe.cc: Ditto throughout.
	(pipecount): Remove.
	(pipeid_fmt): Remove.
	(fhandler_pipe::hit_eof): Simplify.  Move to fhandler.h.
	(fhandler_pipe::dup): Drop leave label.
	(fhandler_pipe::create): Drop has_unreliable_pipes case.
	* wincap.cc: Remove has_unreliable_pipes throughout.
	* wincap.h: Ditto.
2007-02-23 14:47:45 +00:00
Corinna Vinschen 296a8a6369 * devices.in: Change native device name to native NT device name for
/dev/null, /dev/comX and /dev/ttySx.
	* devices.cc: Regenerate.
	* fhandler.cc (fhandler_base::open_9x): Remove.
	(fhandler_base::open): Don't test for DOS device name, don't call
	open_9x.
	(fhandler_dev_null::open): Remove.
	* fhandler.h (class fhandler_base): Drop open_9x declaration.
	(class fhandler_dev_null): Drop open declaration.
2007-02-23 14:20:28 +00:00
Corinna Vinschen b5cb5c9e64 * fhandler_console.cc (fhandler_console::need_invisible): Drop
pty_needs_alloc_console check.
	* spawn.cc (spawn_guts): Ditto.
	(av::fixup): Remove setting iscui.
	* syscalls.cc (rename): Drop has_move_file_ex checks.  Remove 9x
	specific code.
	* wincap.cc: Remove has_move_file_ex and pty_needs_alloc_console
	throughout.
	* wincap.h: Ditto.
2007-02-23 12:01:52 +00:00
Corinna Vinschen 7131554a69 Throughout remove using wincap.
* Makefile.in (OBJS): Remove wincap.o.
	* README: Don't mention 9x.
	* bsd_mutex.cc (_mtx_unlock): Drop checking for 9x error codes.
	* cygserver.cc (server_submission_loop::request_loop): Add FIXME
	comment.
	* wincap.cc: Remove.
	* wincap.h: Remove.
	* woutsup.h: Don't include wincap.h.
2007-02-23 11:43:48 +00:00
Corinna Vinschen aaee2ffaed * exceptions.cc (dummy_ctrl_c_handler): Remove.
(init_console_handler): Drop has_null_console_handler_routine checks.
	* fhandler_raw.cc (fhandler_dev_raw::open): Drop has_raw_devices check.
	* fhandler_serial.cc (fhandler_serial::open): Drop
	.supports_reading_modem_output_lines check.
	* miscfuncs.cc (low_priority_sleep): Drop has_switch_to_thread check.
	* shared.cc (open_shared): Drop needs_memory_protection checks.
	* spawn.cc (spawn_guts): Drop start_proc_suspended check.
	* uname.cc (uname): Drop has_valid_processorlevel check.
	* wincap.cc: Remove has_raw_devices, has_valid_processorlevel,
	supports_reading_modem_output_lines, needs_memory_protection,
	has_switch_to_thread, start_proc_suspended and
	has_null_console_handler_routine throughout.
	* wincap.h: Ditto.
2007-02-23 10:51:59 +00:00
Corinna Vinschen 0ed760d75e * fhandler.cc (fhandler_base::lseek): Drop 9x considerations.
* fhandler_disk_file.cc (fhandler_disk_file::lock): Ditto.
	* wincap.cc: Remove lock_file_highword and has_64bit_file_access
	throughout.
	* wincap.h: Ditto.
2007-02-23 09:49:49 +00:00
Corinna Vinschen 8e17bd8685 * cygheap.h (struct cwdstuff): Remove sync member and keep_in_sync
accessors.
	* external.cc (cygwin_internal): Drop call to cygheap->cwd.keep_in_sync.
	* fhandler_disk_file.cc (fhandler_disk_file::link): Always presume
	ability to create hard links.
	* path.cc (cwdstuff::init): Drop 9x considerations.
	(cwdstuff::keep_in_sync): Remove.
	(cwdstuff::set): Take NT for granted.
	* pinfo.h (cygwin_pid): Just return pid.
	* wincap.cc: Remove has_hard_links, can_open_directories,
	has_negative_pids, has_named_pipes, has_try_enter_critical_section,
	cant_debug_dll_entry and detect_win16_exe throughout.
	* wincap.h: Ditto.
2007-02-22 18:01:13 +00:00
Corinna Vinschen 3af640487f * fhandler_console.cc (fhandler_console::read): Drop 9x specific
handling of AltGr key.
	* mmap.cc: Take NT for granted throughout.
	* wincap.cc: Remove map_view_of_file_ex_sucks, altgr_is_ctrl_alt,
	has_working_copy_on_write, share_mmaps_only_by_name,
	virtual_protect_works_on_shared_pages, has_mmap_alignment_bug and
	has_working_virtual_lock throughout.
	* wincap.h: Ditto.
2007-02-22 17:35:14 +00:00
Corinna Vinschen eef57fe1e3 * fhandler.cc (fhandler_base::set_no_inheritance): Always use
SetHandleInformation.
	* fhandler_disk_file.cc (fhandler_disk_file::lock): Always use
	UnlockFileEx/LockFileEx functions.
	* net.cc (fdsock): Don't bother to duplicate socket for inheritance.
	* sysconf.cc (get_nproc_values): Take NT for granted.
	(get_avphys): Ditto.
	* syslog.cc (WIN95_EVENT_LOG_PATH): Remove define.
	(get_win95_event_log_path): Remove.
	(vsyslog): Fix formatting.  Take NT for granted.
	* wincap.cc: Remove has_lock_file_ex, has_signal_object_and_wait,
	has_eventlog, has_set_handle_information,
	has_set_handle_information_on_console_handles and supports_smp
	throughout.
	* wincap.h: Ditto.
2007-02-22 17:09:46 +00:00
Corinna Vinschen 64f211c87c Fix typo. 2007-02-22 16:33:44 +00:00
Corinna Vinschen 03d5ce6d08 * dir.cc (rmdir): Move existance check in front of
has_dot_last_component check.  Simply setting errno in latter case.
2007-02-22 16:32:39 +00:00
Corinna Vinschen e9095199cc * fhandler.cc (fhandler_base::write): Remove wincap.has_lseek_bug case.
Simplify seek beyond EOF case.
	* times.cc (times): Remove wincap.has_get_process_times case.
	* wincap.cc: Remove has_delete_on_close, has_page_guard,
	has_get_process_times and has_lseek_bug throughout.
	* wincap.h: Ditto.
2007-02-22 16:22:38 +00:00
Corinna Vinschen 501f1020f9 Throughout remove all usage of wincap.access_denied_on_delete.
* dir.cc (rmdir): Add existance check to be errno-compatible with Linux.
	* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Drop test for
	non-existent dir on 9x share.
	* syscalls.cc (unlink): Add comment.
	* wincap.cc: Remove access_denied_on_delete flag throughout.
	* wincap.h: Ditto.
2007-02-22 16:04:19 +00:00
Corinna Vinschen e387a378b4 * fhandler_disk_file.cc (fhandler_disk_file::closedir): Fix bug
introduced by switching to NtClose.
2007-02-22 15:07:21 +00:00
Christopher Faylor 39fc0d36ae * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of guard test.
Increase size of stack reserved and increase size before the current stack
pointer.  Use pointers when doing arithmetic.
(dll_crt0_1): Initialize exception handler when we notice we're the child of a
fork from non-main thread.
* fork.cc (frok::parent): Make argument volatile.
(frok::child): Ditto.
(lock_signals): New class.
(lock_pthread): Ditto.
(hold_everhthing): Ditto.
(frok::parent): Move atforkprepare and atforkparent to lock_pthread class.
(fork): Make ischild boolean.  Use hold_everything variable within limited
scope to set various mutexes in such a way as to avoid deadlocks.
* thread.h (pthread_mutex::tid): New variable, active when debugging for
tracking thread id of owner.
(pthread_mutex::set_owner): Set tid when debugging.
* thread.cc (pthread_mutex::pthread_mutex): Clear tid.
(pthread_mutex::_unlock): Ditto when unlocking.
(pthread_mutex::fixup_after_fork): Set tid to special value after forking since
owner is unknown.
2007-02-22 12:34:55 +00:00
Corinna Vinschen bd8f891e8a Throughout replace all usage of wincap.shared with the constant
FILE_SHARE_VALID_FLAGS.
	* fhandler.cc (fhandler_base::open_9x): Drop local variable shared.
	* wincap.cc: Remove shared member throughout.
	* wincap.h: Ditto.
2007-02-22 11:17:01 +00:00
Corinna Vinschen 570858c30f * Makefile.in (DLL_IMPORTS): Add libntdll.a.
* autoload.cc: Remove all symbols from advapi32.dll, kernel32.dll and
	ntdll.dll available on all platforms since NT4.

	Throughout remove all usage of wincap.is_winnt.
	* dcrt0.cc (dll_crt0_0): Remove call to mmap_init.
	* fhandler.h (class fhandler_base): Remove has_changed flag.
	(fhandler_disk_file::touch_ctime): Remove declaration.
	(fhandler_disk_file::readdir_9x): Ditto.
	(fhandler_disk_file::touch_ctime): Remove.
	(fhandler_disk_file::readdir_9x): Remove.
	(fhandler_disk_file::closedir): Call NtClose instead of CloseHandle.
	* mmap.cc: Throughout call CreateMapping and MapView directly.
	(VirtualProt9x): Remove.
	(VirtualProtNT): Remove.
	(VirtualProtEx9x): Remove.
	(VirtualProtExNT): Remove.
	(VirtualProtect): Remove define.
	(VirtualProtectEx): Remove define.
	(CreateMapping9x): Remove.
	(CreateMappingNT): Rename to CreateMapping.
	(MapView9x): Remove.
	(MapViewNT): Rename to MapView.
	(struct mmap_func_t): Remove definition.
	(mmap_funcs_9x): Remove.
	(mmap_funcs_nt): Remove.
	(mmap_func): Remove.
	(mmap_init): Remove.
	* net.cc (getdomainname): Drop comment. Use NT4 registry key only.
	(get_95_ifconf): Remove.
	* pinfo.cc (winpids::enumNT): Rename to winpids::enum_processes.
	(winpids::enum9x): Remove.
	(winpids::set): Just call enum_processes directly.
	(winpids::enum_init): Ditto.
	* pinfo.h (class winpids): Drop enum_processes pointer.  Rename
	enumNT to enum_processes.  Drop enum9x declaration.  Drop initialization
	of enum_processes throughout.
	* registry.cc (get_registry_hive_path): Just create NT key.
	(load_registry_hive): Only load NT specific file.
	* syscalls.cc (unlink_9x): Remove.
	(unlink): Just call unlink_nt.
	* wincap.cc: Remove is_winnt flag throughout.
	* wincap.h: Ditto.
	* winsup.h: Remove mmap_init declaration.
2007-02-22 10:54:47 +00:00
Corinna Vinschen 8782b2a2af * ipcs.c (_POSIX2_LINE_MAX): Drop definition. 2007-02-22 10:53:37 +00:00
Corinna Vinschen 3fbf471f35 * Makefile.in (OBJS): Drop transport_sockets.o.
* sysv_shm.cc (shmget_allocate_segment): Remove spurious cast.
	* transport.cc: Don't include transport_sockets.h.
	(create_server_transport): Always create transport_layer_pipes.
	* transport_sockets.cc: Remove.
	* transport_sockets.h: Remove.
2007-02-22 10:50:51 +00:00
Corinna Vinschen bc455088cf * wincap.cc (wincap_unknown): Change settings for unknown to reflect
the capabilities of NT4.
	(wincap_95): Remove.
	(wincap_95osr2): Remove.
	(wincap_98): Remove.
	(wincap_98se): Remove.
	(wincap_me): Remove.
	(wincap_nt3): Remove.
	(wincapc::init): Temporarily bail out on any 9x system.
2007-02-21 15:18:07 +00:00
Corinna Vinschen 7db9fabc83 * cygcheck.cc (dump_sysinfo): Add "not supported" to osname on 9x
machines.  Drop "not supported" for Vista.  Drop "Longhorn" text
	for now.
2007-02-20 16:41:54 +00:00
Corinna Vinschen 8fbd574ef0 * cygwin.din (sem_unlink): Export.
* posix_ipc.cc: Include thread.h and semaphore.h.  Remove TODO
	comment.
	(ipc_names): Add max_len member.  Set to maximum length of the path
	before tacking on the prefix path.  Set prefix path for named semaphors
	to /dev/shm, as on Linux.
	(enum ipc_type_t): Change sem to semaphore to avoid name conflicts.
	(check_path): Detect empty paths.  Use ipc_names's max_len member.
	Use __small_sprintf to create full object path name.  Special case
	semaphores.
	(ipc_cond_init): Drop superfluous strcpy.
	(class ipc_flock): New class to simplify file locking in subsequent
	code.
	(struct mq_hdr): Raise size of mqh_uname to allow adding a unique
	LUID to the name.
	(mq_open): Fix formatting.  Create unique synchronization object names
	using AllocateLocallyUniqueId.
	(struct sem_finfo): New structure defining named semaphore file content.
	(sem_open): Move here.  Rework implementation to allow kernel
	persistent implementation of POSIX named semaphores.
	(_sem_close): Implement sem_close.
	(sem_close): Move here.  Just call _sem_close with do_close parameter
	set to true.
	(sem_unlink): New function.
	* pthread.cc (mangle_sem_name): Remove.
	(sem_open): Move to posix_ipc.cc.
	(sem_close): Ditto.
	* syscalls.cc (close_all_files): Call semaphore::terminate here.
	* thread.cc: Fix formatting.  Rearrange semaphore functions so that
	they are close together.
	(semaphore::semaphore): Rework to play nicely with new named semaphore
	implementation.
	(semaphore::_terminate): Call _sem_close if semaphore is a named
	semaphore.
	(semaphore::destroy): Don't destroy named semaphores.  Return EINVAL
	instead.
	(semaphore::close): Only destroy named semaphores.  Return EINVAL
	otherwise.
	(semaphore::open): Rework to play nicely with new named semaphore
	implementation.  Loop through existing semaphores to be able to
	return same sem_t pointer as a former call on the same named semaphore.
	(semaphore::getinternal): New function called from _sem_close.
	* thread.h (class List): Make mx and head public.
	(class semaphore): Fix formatting.  Align method declarations with
	implementation in thread.cc.  Add members used for named semaphores.
	(semaphore::terminate): New static method.
	* include/semaphore.h: Redefine SEM_FAILED.  Fix formatting.
	(sem_unlink): Add declaration.
	* include/cygwin/version.h: Bump API minor number.
2007-02-20 15:48:04 +00:00
Christopher Faylor d0cf179299 * exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
exit_state indicates that we've visited do_exit.
* sync.h (lock_process::lock_process): Use renamed exit_state -
ES_PROCESS_LOCKED.
* winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.
2007-02-20 14:31:26 +00:00
Corinna Vinschen 4997a508c8 * fhandler_socket.cc (fhandler_socket::bind): Remove printing wrong
errno in debug output.
2007-02-20 09:48:31 +00:00
Christopher Faylor 510a85cbf9 Remove extraneous whitespace.
* pinfo.cc (commune_process): Use default argument to lock_process.
* sigproc.cc: Update copyright.
* select.cc: Ditto.
2007-02-20 00:16:18 +00:00
Danny Smith c30b7cc622 Correct spelling of submitter's name in ChangeLog. 2007-02-18 09:57:51 +00:00
Danny Smith 8cf2dca12b 2007-02-18 Aurimas Cernius <aurisc4@gmail.com>
* include/excpt.h:  Replace "_try1" in comments  with "__try1".
2007-02-18 09:46:48 +00:00
Danny Smith 6542214e59 2007-02-18 Jiri Malak <jiri.malak@iol.cz>
* include/windef.h [WATCOM]: Fix !NONAMELESSUNION defines.
	* include/winnt.h [WATCOM] (GetCurrentFiber, GetFiberData):
	Add prototypes.
	[WATCOM] (NtCurrentTeb): Add protype and inline asm definition.

2007-02-18  Vesa Jskelinen  <chaac@users.sourveforge.net>

	* lib/user32.def (InternalGetWindowText): Add stub.
2007-02-18 08:08:12 +00:00
Corinna Vinschen eb8a6636bf * posix_ipc.cc (mq_open): Avoid compiler warning. Initialize mqhdr
before using it in file exists case.
	* include/mqueue.h (mqd_t): Make non-pointer type.
2007-02-15 17:49:25 +00:00
Corinna Vinschen 93162be554 * posix_ipc.cc (ipc_mutex_init): Create global object name.
(ipc_cond_init): Ditto.
	(struct mq_hdr): Add mqh_uname member to store synchronization object
	name.
	(mq_open): Create unique synchronization object name and store in
	mq_hdr->mqh_uname.  Use this name in calls to ipc_mutex_init and
	ipc_cond_init.
2007-02-15 11:28:46 +00:00
Danny Smith 18c27356c4 * Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
(ALL_CXXFLAGS): Likewise.
	* mingwex/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
	(ALL_CXXFLAGS): Likewise.
	* profile/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
	(ALL_CXXFLAGS): Likewise.
2007-02-14 23:42:07 +00:00
Corinna Vinschen 7b487ba942 * Makefile.in (DLL_OFILES): Add posix_ipc.o.
* cygwin.din (mq_close): Export.
	(mq_getattr): Export.
	(mq_notify): Export.
	(mq_open): Export.
	(mq_receive): Export.
	(mq_send): Export.
	(mq_setattr): Export.
	(mq_timedreceive): Export.
	(mq_timedsend): Export.
	(mq_unlink): Export.
	* posix_ipc.cc: New file implementing the above functions.  Move
	shm_open and shm_unlink from syscalls.cc here.
	* sysconf.cc (sca): Set value of _SC_MQ_OPEN_MAX to MQ_OPEN_MAX,
	_SC_MQ_PRIO_MAX to MQ_PRIO_MAX, _SC_MESSAGE_PASSING to
	_POSIX_MESSAGE_PASSING.
	* include/limits.h (MQ_OPEN_MAX): Define.
	(MQ_PRIO_MAX): Define.
	* include/mqueue.h: New file.
	* include/cygwin/version.h: Bump API minor number.
2007-02-14 10:06:46 +00:00
Corinna Vinschen af52f2802f * include/cygwin/stdlib.h (valloc): Declare.
(memalign): Declare.
2007-02-13 18:55:49 +00:00
Chris Sutcliffe b46bc8f5f5 2007-02-11 Daniel Atallah <datallah@users.sourceforge.net>
* include/winnt.h (LANG_SERBIAN_NEUTRAL, LANG_BOSNIAN,
LANG_BOSNIAN_NEUTRAL): Define.

2007-02-11  Daniel Schlyder  <thrug@users.sourceforge.net>

* include/winuser.h: Add guards around TITLEBARINFO and
GetTitleBarInfo().
2007-02-11 14:32:24 +00:00
Corinna Vinschen 09928447ed * libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and
some obsolete types.
2007-02-09 10:09:21 +00:00
Corinna Vinschen aafecff6a8 * syscalls.cc (check_shm): New static function to do path checking
common to shm_open and shm_unlink.  Check for /dev/shm existance.
	(shm_open): Call check_shm.
	(shm_unlink): Ditto.
2007-02-08 14:40:13 +00:00
Corinna Vinschen ce8bab5a92 * cygwin.din (shm_open): Export.
(shm_unlink): Export.
	* syscalls.cc (shm_open): New function.
	(shm_unlink): New function.
	* sysconf.cc (sca): Set value of _SC_SHARED_MEMORY_OBJECTS to
	_POSIX_SHARED_MEMORY_OBJECTS.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/mman.h (shm_open): Add prototype.
	(shm_unlink): Ditto.
2007-02-08 13:36:53 +00:00
Corinna Vinschen 0bce6570f0 * cygmalloc.h (__set_ENOMEM): Declare.
(MALLOC_FAILURE_ACTION): Call __set_ENOMEM.
	* malloc_wrapper.cc (malloc) Remove setting errno here.
	(realloc): Ditto.
	(calloc): Ditto.
	(memalign): Ditto.
	(valloc): Ditto.
	(posix_memalign): Save and restore errno.
2007-02-08 11:35:52 +00:00
Danny Smith d4c6243390 * include/io.h (X_OK): Revert 2007-01-24 change, but leave comment. 2007-02-08 08:15:32 +00:00
Corinna Vinschen 5155321fbc * cygmalloc.h (MALLOC_FAILURE_ACTION): Move to correct #if branch. 2007-02-07 20:44:04 +00:00
Corinna Vinschen 59e3b6ca7d * cygmalloc.h (MALLOC_FAILURE_ACTION): Define empty.
* cygwin.din (posix_madvise): Export.
	(posix_memalign): Export.
	* fhandler.cc (fhandler_base::fpathconf): Return useful values in
	_PC_VDISABLE, _PC_SYNC_IO and _PC_SYMLINK_MAX cases.
	* malloc_wrapper.cc (malloc): Set errno here since it's not set in
	dlmalloc.c anymore.
	(realloc): Ditto.
	(calloc): Ditto.
	(memalign): Ditto.
	(valloc): Ditto.
	(posix_memalign): New function.
	* mmap.cc (posix_madvise): New function.
	* sysconf.cc (get_open_max): New function.
	(get_page_size): Ditto.
	(get_nproc_values): Ditto.
	(get_avphys): Ditto.
	(sc_type): New type.
	(sca): New array to map _SC_xxx options to sysconf return values.
	(sysconf): Reimplement using sca array.
	* include/limits.h: Add all missing values as defined by SUSv3.
	* include/pthread.h (PTHREAD_DESTRUCTOR_ITERATIONS): Move definition
	to sys/limits.h.
	(PTHREAD_KEYS_MAX): Ditto.
	* include/semaphore.h (SEM_VALUE_MAX): Ditto.
	* include/cygwin/stdlib.h (posix_memalign): Declare.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/mman.h: Add posix_madvise flags.
	(posix_madvise): Declare.
	* include/sys/termios.h (_POSIX_VDISABLE): Move definition to
	sys/limits.h.
2007-02-07 17:22:40 +00:00
Corinna Vinschen f82f801cd2 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support for
baud rates up to 3000000 baud.  Add missing 128K and 256K cases.
	(fhandler_serial::tcgetattr): Ditto.
	* include/sys/termios.h: Add baud rate definitions from B460800 up to
	B3000000.
2007-02-05 12:32:23 +00:00
Corinna Vinschen 9e9bc4e144 * syscalls.cc (unlink_nt): Add missing assignment in case NtClose fails. 2007-02-02 15:16:54 +00:00
Corinna Vinschen ee945cb382 Fix typo. 2007-02-01 17:13:31 +00:00
Corinna Vinschen 4815dd49bb * net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6
mapping addition.
	(ga_clone): Just call ga_dup from here.
	(ga_duplist): New function to duplicate list of struct addrinfo.
	(ga_echeck): Don't check a_flags, it already happened in
	cygwin_getaddrinfo.
	(cygwin_freeaddrinfo): Always call ipv4_freeaddrinfo.
	(cygwin_getaddrinfo): Use new wincap.supports_all_posix_ai_flags
	flag rather than wincap.has_gaa_on_link_prefix.  Always duplicate
	WinSock's addrinfo list to a self-allocated list.  Handle AI_V4MAPPED
	for pre-Vista platforms supporting getaddrinfo.
	* wincap.h (wincapc::supports_all_posix_ai_flags): New element.
	* wincap.cc: Implement above element throughout.
	* include/netdb.h: Note how AI_ADDRCONFIG is not supported pre-Vista.
	Remove superfluous comment.
2007-02-01 15:54:40 +00:00
Corinna Vinschen 3281664245 * include/cygwin/socket.h: Add IPv6 socket options. 2007-02-01 10:04:45 +00:00
Corinna Vinschen 9cde55ad2d * net.cc (cygwin_getaddrinfo): Fix thinko in AI_ADDRCONFIG handling. 2007-01-31 15:30:42 +00:00
Corinna Vinschen c2decfdc8a * net.cc (cygwin_getaddrinfo): Check ai_flags for valid values.
Handle AI_NUMERICSERV.  Handle AI_ADDRCONFIG behaviour on Vista.
	* include/netdb.h (AI_NUMERICSERV): Add missing flag.
2007-01-31 15:10:22 +00:00
Corinna Vinschen c3772e717f * fhandler_disk_file.cc (fhandler_disk_file::closedir): Add dir name
to debug output.
	* syscalls.cc (try_to_bin): Enable code to move file to user specific
	recycler dir to eliminate Vista problem.
	(unlink_nt): Add comment that rename after opening for delete on close
	only fails on XP.
2007-01-31 10:55:59 +00:00
Corinna Vinschen 62d172bb49 * sigproc.cc (child_info::child_info): Set msv_count to non-zero
value only on systems requiring it.
2007-01-30 21:53:05 +00:00
Corinna Vinschen 291b2d8291 * include/ftw.h: Include sys/cdefs.h. 2007-01-28 11:27:05 +00:00
Danny Smith 9571d219fe Expose some msvcr80.dll functions.
* include/stdio.h (_fseek_nolock. _ftell_nolock, _fseeki64,
	_ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add prototypes
	* msvcrt.def.in (_fseek_nolock. _ftell_nolock, _fseeki64,
	_ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add stubs.
2007-01-27 09:50:11 +00:00
Corinna Vinschen b8d1550207 Fix typo. 2007-01-26 12:32:11 +00:00
Corinna Vinschen 3be6ababd8 * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Implement rmdir
on NT by calling unlink_nt.  Check for directory here.
	* syscalls.cc (try_to_bin): Fix buggy debug_printf statement.
	(unlink_nt): Make non-static.  Don't use delete-on-close semantics on
	directoires.  Explain why.
2007-01-26 12:25:23 +00:00
Danny Smith 2731a97413 Expose some msvcr80.dll functions.
* include/stdlib.h (_set_abort_behavior): Add prototype.
	(_WRITE_ABORT_MSG, _CALL_REPORTFAULT): Add defines for
	_set_abort_behavior mask argument.
	(_invalid_parameter_handler): Add typedef.
	(_set_invalid_parameter_handler): Add prototype.
	* include/stdio.h (_get_printf_count_output): Add prototype.
	(_set_printf_count_output): Add prototype.
	* msvcrt.def.in (_get_printf_count_output, _set_printf_count_output,
	_set_abort_behavior, _set_invalid_parameter_handler): Add stubs.
2007-01-26 08:20:54 +00:00
Danny Smith ed897cdfa6 * include/_mingw.h (CRT_INLINE): Correct typo. 2007-01-26 00:20:14 +00:00
Corinna Vinschen e7fc99384e * net.cc (if_nametoindex): This time, really free IP_ADAPTER_ADDRESSES
memory.
	(if_indextoname): Ditto.
2007-01-24 15:55:51 +00:00
Corinna Vinschen fd1bf882f5 * security.h (pop_thread_privilege): Revert to previous state, not
to token used for impersonation.
2007-01-24 12:14:54 +00:00
Corinna Vinschen a0e1630add * cygheap.h (cygheap_user::deimpersonate): Always RevertToSelf. 2007-01-24 10:50:47 +00:00
Danny Smith c0c32634da * include/io.h (X_OK): Define to F_OK. 2007-01-24 08:27:12 +00:00
Corinna Vinschen f28f68cc4f * net.cc (gai_errmap): Add EAI_OVERFLOW entry. Fix formatting.
(cygwin_gai_strerror): Drop using EAI_MAX.
	(w32_to_gai_err): Ditto.
	* include/netdb.h: Define EAI_OVERFLOW. Remove EAI_MAX.
2007-01-23 17:05:29 +00:00
Corinna Vinschen f7fee067b6 * include/netdb.h: Add AI_xxx flags available since Vista. 2007-01-23 15:56:13 +00:00
Corinna Vinschen 4b13fd15d4 * net.cc (if_nametoindex): Free IP_ADAPTER_ADDRESSES memory.
(if_indextoname): Ditto.
	(if_nameindex): Ditto.  Remove duplicate indexed entries in result.
2007-01-23 09:23:54 +00:00
Corinna Vinschen bff4389137 * autoload.cc (WSAIoctl): Define.
(SendARP): Define.
	* cygwin.din: Export if_freenameindex, if_indextoname, if_nameindex and
	if_nametoindex.
	* fhandler_procnet.cc: Drop including wchar.h.  Drop definitions of
	GAA_FLAG_INCLUDE_ALL_INTERFACES, IP_ADAPTER_UNICAST_ADDRESS_VISTA.
	(fhandler_procnet::exists): Check for has_gaa_prefixes.  Call
	get_adapters_addresses here.
	(fhandler_procnet::readdir): Ditto.
	(prefix): Move to net.cc.
	(fhandler_procnet::fill_filebuf): Call get_adapters_addresses here.
	Simplify allocation.  Use AdapterName rather than FriendlyName as
	interface name.  Use IfIndex if available, Ipv6IfIndex otherwise.
	(in6_are_prefix_equal): Move to net.cc.
	* fhandler_socket.cc: Define old SIOCGxxx values.
	(CONV_OLD_TO_NEW_SIO): Convert old SIOCGxxx value to new one.
	(struct __old_ifreq): Define old struct ifreq.
	(fhandler_socket::ioctl): Handle old SIOCGxxx values.  Handle new
	SIOCGIFFRNDLYNAM command.  Simplify copying ifreq data to user space.
	Call get_ifconf with additional SOCKET parameter.
	* net.cc (IP_ADAPTER_UNICAST_ADDRESS_LH): Define.
	(IP_ADAPTER_ADDRESSES_LH): Define.
	(SIO_GET_INTERFACE_LIST): Define.
	(sockaddr_in6_old): Define.
	(sockaddr_gen): Define.
	(INTERFACE_INFO): Define.
	(IN_LOOPBACK): Define.
	(in_are_prefix_equal): New static function.
	(ip_addr_prefix): New function, replaces prefix function, add AF_INET
	handling.
	(GAA_FLAG_INCLUDE_ALL_INTERFACES): Define.
	(get_adapters_addresses): New function.
	(WS_IFF_xxx): Define Winsock interface flag values.
	(convert_ifr_flags): New function to convert Winsock interface flag
	values to Cygwin interface flag values.
	(get_xp_ifconf): New get_ifconf implementation for XP SP1 and above.
	(get_2k_ifconf): Fix interface index.  Fix formatting.
	(get_nt_ifconf): Fix formatting.
	(get_95_ifconf): Ditto.
	(get_ifconf): Take additional SOCKET parameter.  Call get_xp_ifconf
	on XP SP1 and above.
	(if_nametoindex): New function.
	(if_indextoname): New function.
	(if_nameindex): New function.
	(if_freenameindex): New function.
	(in6_are_prefix_equal): Moved here from fhandler_procnet.cc.
	* wincap.cc (wincap_xp): Define has_gaa_prefixes as true by default.
	(wincapc::init): Assume has_osversioninfoex by default.  Call
	GetVersionEx with OSVERSIONINFOEX first.  Call with OSVERSIONINFO only
	if that fails.  Simplify NT4 case and try to avoid strcmp.  Check XP
	Service Pack using version.wServicePackMajor to avoid strcmp.
	* include/asm/socket.h (SIOCGIFFRNDLYNAM): Define.
	* include/cygwin/if.h: Fix formatting.
	(IFF_POINTTOPOINT): Define.
	(IFF_NOARP): Define.
	(IFF_LOWER_UP): Define.
	(IFF_DORMANT): Define.
	(struct if_nameindex): Define.
	(IFRF_FRIENDLYNAMESIZ): Define.
	(struct ifreq_frndlyname): Define.
	(IFNAMSIZ): Redefine as 44.
	(IF_NAMESIZE): Define.
	(struct ifreq): Redefine ifru_flags as int.  Define ifru_data.  Pad size
	to sizeof sockaddr_in6 for further extensions.
	(ifr_data): Define.
	(ifr_frndlyname): Define.
	(if_nametoindex): Declare.
	(if_indextoname): Declare.
	(if_nameindex): Declare.
	(if_freenameindex): Declare.
	* include/cygwin/version.h: Bump API minor number.
	(CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ): Define check for old vs. new
	ifreq structure.
2007-01-21 22:54:05 +00:00
Danny Smith 8212f7686e Oops. The actual change for this entry wasn't committed.
2007-01-11  Gisle Vanem  <giva@users.sourceforge.net>

	* include/winbase.h (struct _OVERLAPPED): Change type of
	Internal, InternalHigh members to ULONG_PTR.
	(PAPCFUNC): Change DWORD parameter to ULONG_PTR.
	(CreateIoCompletionPort): Likewise.
	(PostQueuedCompletionStatus): Likewise.
	(QueueUserAPC): Likewise.
	(GetQueuedCompletionStatus): Change PDWORD parm to PULONG_PTR.
2007-01-19 08:53:00 +00:00
Danny Smith 8dabc54e41 * include/stdio.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
unconditionally.  Change comment.
	* include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
	here too.
	* include/io.h (rename): Declare.
	(remove): Declare.
2007-01-19 03:21:09 +00:00
Corinna Vinschen 45fa1f99c6 * spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes
on NT to allow starting them in virtual directories.
2007-01-18 21:28:36 +00:00
Corinna Vinschen 2397d888b1 * mmap.cc (list::hash): Fix type to __ino64_t.
(list::get_hash): Ditto.
	(list::set): Add struct stat parameter.  Use that instead of calling
	fstat.
	(map::get_list_by_fd): Ditto.
	(map::add_list): Ditto.
	(mmap_is_attached_or_noreserve): Call get_list_by_fd appropriately.
	(mmap_worker): Add pameters for map list and file stat information.
	Propagate to called functions.
	(mmap64): Use fstat on files early.  Replace call to GetFileSize.
	Call get_list_by_fd and mmap_worker appropriately.
2007-01-18 17:15:59 +00:00
Corinna Vinschen 5ea0aee2ce * fhandler_procnet.cc: Drop declaration of htonl and ntohs. Include
asm/byteorder.h instead.
2007-01-18 10:30:43 +00:00
Corinna Vinschen 4eeaecbc18 * include/cygwin/in6.h: Drop inclusion of asm/byteorder.h.
* fhandler_procnet.cc: Declare htonl and ntohs here.
2007-01-18 10:25:40 +00:00
Corinna Vinschen 96d7dee2f0 * Makefile.in (DLL_OFILES): Add fhandler_procnet.o.
* autoload.cc (GetAdaptersAddresses): Define.
	* devices.h (FH_PROCNET): Define new device.
	* devices.in (dev_procnet_storage): Add "/proc/net" entry.
	* devices.cc: Regenerate.
	* dir.cc (readdir_worker): Use isproc_dev macro.
	* dtable.cc (build_fh_pc): Add FH_PROCNET.
	* fhandler.h (class fhandler_procnet): New class.
	* fhandler_proc.cc: Add "net" subdirectory handling.
	* fhandler_procnet.cc: New file handling "/proc/net" directory.
	* path.cc (isvirtual_dev): Move to path.h.
	* path.h (isproc_dev): New macro to identify /proc files by device.
	(isvirtual_dev): Moved here.  Define using isproc_dev.
	* syscalls.cc (unlink): Use isproc_dev macro.
	* wincap.h (wincapc::has_gaa_prefixes): New element.
	(wincapc::has_gaa_on_link_prefix): New element.
	* wincap.cc: Implement above elements throughout.
	(wincapc::init): Check XP for service pack and set has_gaa_prefixes
	appropriately.
	* include/cygwin/in6.h: Include asm/byteorder.h.
2007-01-17 19:26:58 +00:00
Corinna Vinschen 12ffdde350 * include/asm/socket.h (SIOGIFINDEX): Define. 2007-01-17 13:43:47 +00:00
Corinna Vinschen 9f3e3df961 * mmap.cc (MapView9x): Note possible uselessness of retrying.
(MapViewNT): Ditto.
	(mmap64): Fix pre-reservation to work for non NULL, non MAP_FIXED.
2007-01-17 10:49:24 +00:00
Corinna Vinschen cbe2437b28 * autoload.cc (RtlAnsiStringToUnicodeString): Define.
(RtlOemStringToUnicodeString): Define.
	* ntdll.h (struct _RTL_USER_PROCESS_PARAMETERS): Define.
	(struct _PEB): Redefine with a bit of content.
	(RtlAnsiStringToUnicodeString): Declare.
	(RtlOemStringToUnicodeString): Declare.
	* path.cc: Include ntdll.h.
	(_upp): New global variable pointing to user process parameter block.
	(get_user_proc_parms): New static function to retrieve user process
	parameter block.
	(close_user_proc_parms_cwd_handle): New function to close handle to
	current working directory in user process parameter block.
	(cwdstuff::init): Drop redundant declaration of dynamically_loaded.
	Set current dir only on 9x.  Call close_user_proc_parms_cwd_handle
	on NT instead.
	(cwdstuff::keep_in_sync): Only on 9x.
	(cwdstuff::set): Keep behaviour on 9x.  On NT write cwd path into user
	process parameter block and set cwd handle to NULL.  Fix comments to
	reflect new behaviour.
2007-01-16 18:01:06 +00:00
Corinna Vinschen 835fc32a3a * fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX.
* net.cc (get_2k_ifconf): Ditto.
	(get_nt_ifconf): Fake SIOCGIFINDEX.
	(get_95_ifconf): Ditto.
	(get_ifconf): Handle SIOCGIFINDEX.  Fake it for loopback on systems
	not supporting IP Helper Lib.
	* include/asm/socket.h (SIOCGIFINDEX): Define.
	* include/cygwin/if.h (struct ifreq): Add member for interface index.
	(ifr_ifindex): Define.
2007-01-16 12:01:36 +00:00
Corinna Vinschen 2fd167e6de * include/cygwin/in6.h (struct ipv6_mreq): Change type of interface
member to uint32_t.
	(struct in6_pktinfo): Ditto.
2007-01-16 11:41:55 +00:00
Corinna Vinschen 6281771f37 * include/cygwin/in.h (struct ip_mreq_source): Define.
(struct ip_msfilter): Define.
	(IP_MSFILTER_SIZE): Define.
	(struct in_pktinfo): Define.
	(struct group_req): Define.
	(struct group_source_req): Define.
	(struct group_filter): Define.
	(GROUP_FILTER_SIZE): Define.
	(INADDR_ALLRTRS_GROUP): Define.
	* include/cygwin/socket.h: Define protocol agnostic multicast options.
2007-01-16 11:37:05 +00:00
Corinna Vinschen 153995f846 * CYGWIN_LICENSE: Fix web pages and contact information. 2007-01-15 12:19:01 +00:00
Corinna Vinschen 362359bd10 * ntdll.h: Adjust status definitions. 2007-01-15 11:11:37 +00:00
Corinna Vinschen 5d93eb069e * cygheap.cc (cygheap_init): Add TODO comment. 2007-01-15 11:01:23 +00:00
Corinna Vinschen 5d1dd9308d * ntdll.h (STATUS_SHARING_VIOLATION): Define. 2007-01-15 10:52:15 +00:00
Corinna Vinschen a0638e5e67 * syscalls.cc (unlink_nt): Don't move files to recycle bin which are
not in use.
2007-01-13 20:56:01 +00:00
Christopher Faylor b3f40a5fd0 * glob.cc: Update copyright notice with latest from FreeBSD.
(glob0): Use correct type for c variable to propagate previously detected
protection.
2007-01-13 07:10:14 +00:00
Corinna Vinschen f51b396579 * cygheap.cc (_csbrk): Fix off-by-one error.
* cygwin.sc: Give .cygheap a minimum size of 512K.
2007-01-12 19:40:20 +00:00
Christopher Faylor 5f77729c30 * external.cc (sync_winenv): Use cur_environ () rather than __cygwin_environ. 2007-01-12 15:40:13 +00:00
Corinna Vinschen 0b7c56a5f5 * fork.cc (child_copy): Add missing Windows PID in debug output. 2007-01-12 15:26:02 +00:00
Corinna Vinschen ee4370fd29 * syscalls.cc: Update copyright. 2007-01-12 14:16:42 +00:00
Danny Smith 9a08dde11a 2007-01-11 Gisle Vanem <giva@users.sourceforge.net>
* include/winbase.h (struct _OVERLAPPED): Change type of
	Internal, InternalHigh members to ULONG_PTR.
	(PAPCFUNC): Change DWORD parameter to ULONG_PTR.
	(CreateIoCompletionPort): Likewise.
	(PostQueuedCompletionStatus): Likewise.
	(QueueUserAPC): Likewise.
	(GetQueuedCompletionStatus): Change PDWORD parm to PULONG_PTR.
2007-01-11 07:11:39 +00:00
Corinna Vinschen 3452cdd3c5 * mmap.cc (mmap64): Pre-Reserve space for the whole mapping to get a
useful, valid address before the actual mappings take place.
	Fix typo in comment.
2007-01-10 09:30:38 +00:00
Corinna Vinschen ac924d61de * syscalls.cc (sync): Use b_drive for B: drive (Thanks to Howard Chu). 2007-01-10 09:06:20 +00:00
Corinna Vinschen 1656b94637 * syscalls.cc (getpagesize): Change condition for clarity.
(getsystempagesize): Ditto.
2007-01-09 15:46:41 +00:00
Corinna Vinschen ca9029913a * cygpath.cc (usage): Add -O and -F, remove tabs.
(get_special_folder): New function.
	(get_user_folder): New function.
	(dowin): Add -O and -F, better -D, -P error handling.
	(main): Add -O and -F.
	* utils.sgml (cygpath): Document -O and -F.
2007-01-09 12:17:05 +00:00
Corinna Vinschen d5b45d2f38 * mmap.cc: Do bookkeeping in 4K pages, rather than in 64K chunks. 2007-01-09 11:18:57 +00:00
Danny Smith 1e848f5e32 2007-02-06 Pierre A. Humblet <Pierre.Humblet@ieee.org>
* windns.h (DNS_TYPE_RP, DNS_TYPE_AFSDB, DNS_TYPE_X25,
	DNS_TYPE_ISDN, DNS_TYPE_RT, DNS_TYPE_NSAP, DNS_TYPE_NSAPPTR,
	DNS_TYPE_SIG, DNS_TYPE_KEY, DNS_TYPE_PX, DNS_TYPE_GPOS,
	DNS_TYPE_AAAA, DNS_TYPE_LOC, DNS_TYPE_NXT, DNS_TYPE_EID,
	DNS_TYPE_NIMLOC, DNS_TYPE_SRV, DNS_TYPE_ATMA, DNS_TYPE_NAPTR,
	DNS_TYPE_KX, DNS_TYPE_CERT, DNS_TYPE_A6, DNS_TYPE_DNAME,
	DNS_TYPE_SINK, DNS_TYPE_OPT, DNS_TYPE_UINFO, DNS_TYPE_UID,
	DNS_TYPE_GID, DNS_TYPE_UNSPEC, DNS_TYPE_ADDRS, DNS_TYPE_TKEY,
	DNS_TYPE_TSIG, DNS_TYPE_IXFR, DNS_TYPE_AXFR, DNS_TYPE_MAILB,
	DNS_TYPE_MAILA, DNS_TYPE_ALL, DNS_TYPE_ANY): Add enum values.
2007-01-08 08:09:15 +00:00
Corinna Vinschen 6bcc8fd7b1 * security.h (setacl): Add parameter for writability flag.
* sec_acl.cc (setacl): Ditto.  Set to true if any ACE with write
	permissions is created.
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Reset
	FILE_ATTRIBUTE_READONLY if ACL contains an ACE with write permissions.
2007-01-07 12:44:10 +00:00
Corinna Vinschen 7ce031f211 * include/strings.h: Don't include string.h. Only declare functions
according to SUSv3.
2007-01-05 15:09:22 +00:00
Corinna Vinschen 0a9e977f62 (get_ifconf): Set MTU for loopback to more correct value. 2007-01-04 10:48:57 +00:00
Corinna Vinschen bcdf742178 * fhandler_socket.cc (fhandler_socket::ioctl): Don't fake results
for SIOCGIFFLAGS here.  Call get_ifconf instead.
	* net.cc (get_2k_ifconf): Clean up code to generate interface name.
	Handle SIOCGIFFLAGS here.
	(get_nt_ifconf): Fake SIOCGIFFLAGS here.
	(get_95_ifconf): Ditto.
	(get_ifconf): Don't fake loopback on systems with IP Helper Lib.
	Set MTU for loopback to a more "modern" value.
2007-01-04 10:11:27 +00:00
Corinna Vinschen 7bef7db5cc * fhandler.h (PREFERRED_IO_BLKSIZE): Define as 64K.
* fhandler.cc (fhandler_base::fstat): Set st_blksize to
	PREFERRED_IO_BLKSIZE.
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Ditto.
	* fhandler_mailslot.cc (fhandler_mailslot::fstat): Ditto.
	* fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
2007-01-04 09:17:55 +00:00
Corinna Vinschen 960725d6ed * ChangeLog: Happy New Year.
* ChangeLog-2006: Move 2006 changelogs here.
	* spawn.cc: Bump copyright.
2007-01-03 11:14:53 +00:00
Christopher Faylor e734fdcae9 * spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin
_P_NOWAIT process.
2007-01-01 19:37:19 +00:00
Keith Marshall 724dbeea36 * include/libgen.h: New file; required by...
* mingwex/basename.c, mingwex/dirname.c: New files.
* mingwex/Makefile.in (DISTFILES): Add them...
(POSIX_OBJS): ...with corresponding basename.o, dirname.o
(Dependencies): Typo; s/Dependancies/Dependencies/
2006-12-31 18:03:33 +00:00
Corinna Vinschen 65c3750e65 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Improve debug
output.
2006-12-21 10:59:47 +00:00
Corinna Vinschen f2af71ea96 * dumper.cc: Include ansidecl.h before including bfd.h to woraround
a problem with the order in which system include files are included.
2006-12-21 09:59:04 +00:00
Corinna Vinschen 97b09fe1c5 Partially revert change from 2006-10-22. GetSecurityInfo messes up
user information on NT4.
	* sec_helper.cc (security_descriptor::malloc): Drop LocalAlloc
	considerations.
	(security_descriptor::realloc): Ditto.
	(security_descriptor::free): Ditto.
	* security.cc (get_reg_security): Reinstantiate.
	(get_nt_object_security): Revert to using NtQuerySecurityObject.
	* security.h (class security_descriptor): Drop type member.
	Accommodate throughout.
	(security_descriptor::size): Constify.
	(security_descriptor::copy): Ditto.
2006-12-20 17:14:23 +00:00
Christopher Faylor e09c8fde55 * pinfo.cc (set_myself): Use a more foolproof method for determining if the
current process was started from another cygiwn process.
2006-12-18 21:28:31 +00:00
Corinna Vinschen c21efb9a85 * libc/minires-os-if.c (cygwin_query): Remove ERROR_PROC_NOT_FOUND case.
(get_dns_info): Verify DnsQuery exists. Use autoloaded GetNetworkParams.
2006-12-15 09:50:32 +00:00
Corinna Vinschen 1fd82398bb * winsup.h (clear_procimptoken): Close hProcImpToken in a safer way. 2006-12-13 11:18:39 +00:00
Corinna Vinschen 56face1741 * security.cc (lsaauth): Initialize lsa to INVALID_HANDLE_VALUE to
avoid potential access violation.
2006-12-13 09:53:42 +00:00
Corinna Vinschen 524e6a5ad9 * Makefile.in (subauth): Drop rule.
* configure.in: Remove subauth related check.
	* configure: Regenerate.
2006-12-12 20:26:27 +00:00
Corinna Vinschen 67f85328b2 Remove subauth directory. 2006-12-12 19:22:07 +00:00
Corinna Vinschen 26684e48d2 * environ.cc (subauth_id_init): Remove.
(parse_thing): Drop "subauth_id" option.
	* security.cc (get_token_group_sidlist): Drop comments concerning
	subauthentication.
	(create_token): Back out subauthentication related changes.
	(subauth): Remove.
	* security.h (create_token): Remove declaration.
	(subauth): Ditto.
	* syscalls.cc (seteuid32): Drop subauthentication handling entirely.
2006-12-12 19:18:56 +00:00
Corinna Vinschen 31fdd91f9b * cygwinenv.sgml: Drop description of "traverse" option. 2006-12-12 18:48:35 +00:00
Corinna Vinschen a889232410 * environ.cc (set_traverse): Remove.
(parse_thing): Drop "traverse" option.
	* path.cc (fs_info::update): Don't request SE_CHANGE_NOTIFY_PRIV
	privilege.
	* sec_helper.cc (set_cygwin_privileges): Ditto.
	* security.cc (allow_traverse): Remove.
	(alloc_sd): Drop special allow_traverse code.
	* security.h (allow_traverse): Drop declaration.
	* syscalls.cc (statvfs): Don't request SE_CHANGE_NOTIFY_PRIV privilege.
2006-12-12 18:47:25 +00:00
Corinna Vinschen 5684cfebba Partially revert change from 2005-04-03, always running under an
impersonation token, which collides with Vista UAC.
	* cygheap.h (deimpersonate): revert to self instead of impersonating
	hProcImpToken.
	(reimpersonate): Only impersonate if setuid.
	* dcrt0.cc (dll_crt0_0): Don't initialize hProcImpToken here.
	(dll_crt0_1): Set privileges on hProcToken.
	* fork.cc (frok::child): Set privileges on hProcToken.  Close handle to
	hProcImpToken.
	* grp.cc (internal_getgroups): Use hProcToken instead of hProcImpToken.
	* security.cc (check_access): Create hProcImpToken on demand here.
	* security.h (set_process_privilege): Set privileges on hProcToken.
	(_push_thread_privilege): Use hProcToken instead of hProcImpToken.
	(pop_thread_privilege): If not setuid'ed, revert to self.
	* syscalls.cc (setegid32): Drop setting primary group on hProcImpToken.
	Close handle to hProcImpToken.
	* uinfo.cc (internal_getlogin): Ditto.
	* winsup.h (clear_procimptoken): New inline function.
2006-12-12 16:27:32 +00:00
Christopher Faylor 815122d842 Add missing ChangeLog. 2006-12-12 15:59:26 +00:00
Christopher Faylor a10c6f0312 * sigproc.cc (child_info::child_info): Initialize msv_count. 2006-12-12 15:58:08 +00:00
Corinna Vinschen 46b51548b1 Revert erroneous checkin. 2006-12-12 15:10:56 +00:00
Corinna Vinschen d6a6da338b * libc/minires.c (res_ninit): Drop handling for LOCALDOMAIN environment
variable.
2006-12-12 08:29:37 +00:00
Corinna Vinschen 0c365c631f * Makefile.in (DLL_OFILES): Add minires-os-if.o and minires.o.
(SUBLIBS): Add libresolv.a.
	Add rule for libresolv.a.
	* autoload.cc: Fix return code handling for IP Helper API in case
	of being unable to load iphlpapi.dll.
	(DnsQuery_A): Define.
	(DnsRecordListFree): Define.
	* cygwin.din: Export resolver functions.
	* include/resolv.h: New header.
	* include/arpa/nameser.h: New header.
	* include/arpa/nameser_compat.h: New header.
	* include/cygwin/version.h: Bump API minor number.
	* libc/minires-os-if.c: New file.
	* libc/minires.c: New file.
	* libc/minires.h: New file.
2006-12-11 19:59:06 +00:00
Christopher Faylor 7dfad3a0c6 * sigproc.cc (child_info::child_info): Move old comment about msv_count here.
Edit it slightly to reflect new sensibilities.
2006-12-11 19:17:20 +00:00
Christopher Faylor 6dcb2ec441 * dumper.cc: Add an include to accommodate new include/elf usage. 2006-12-11 19:17:17 +00:00
Christopher Faylor fc32d70841 correct email address 2006-12-11 18:58:40 +00:00
Christopher Faylor c16548b2a2 * child_info.h (child_info_spawn::__stdin): New element.
(child_info_spawn::__stdin): Ditto.
(CURR_CHILD_INFO_MAGIC): Regenerate.
* dcrt0.cc (check_sanity_and_sync): Minor cleanup.
(child_info_spawn::handle_spawn): Handle new __std* elements by calling
move_fd.
* dtable.cc (dtable::move_fd): Define new function.
* dtable.h (dtable::move_fd): Declare new function.
* fhandler.h (fhandler_pipe::popen_pid): Declare new element.
* fhandler.h (fhandler_pipe::get_popen_pid): Define new function.
* fhandler.h (fhandler_pipe::set_popen_pid): Ditto.
* pipe.cc (fhandler_pipe::fhandler_pipe): Zero popen_pid.
(fhandler_pipe::dup): Ditto.
* spawn.cc (handle): Change second argument to bool.
(spawn_guts): Accept __stdin/__stdout arguments and set them appropriately in
child_info structure and in STARTUPINFO structure.
* syscalls.cc (popen): New cygwin-specific implementation using spawn.
(pclose): Ditto.
* winsup.h (spawn_guts): Accommodate new arguments for spawn_guts.
* fhandler.cc (fhandler_base::set_no_inheritance): Make second arg a bool.
* fhandler.h (fhandler_base::set_no_inheritance): Ditto for declaration.
* child_info.h (child_info::msv_count): Rename from the now-inappropriate
"zero".
(child_info_spawn::filler): Add filler to work around Vista bug.
(child_info_fork::filler): Ditto.
* dcrt0.cc (get_cygwin_startup_info): Remove "zero" check since it is now
always filled out.
* fork.cc (frok::parent): Move ch.zero manipulation to constructor.
* spawn.cc (spawn_guts): Ditto.  Remove _ch wrapper.
* sigproc.cc (child_info::child_info): Initialize starter[].
* shared.cc (shared_info::heap_slop_size): Remove noisy system_printfs.
* shared_info.h (CURR_SHARED_MAGIC): Regenerate.
2006-12-11 18:55:29 +00:00
Corinna Vinschen e79c01f84e * fhandler.cc (rootdir): Fix typo in comment.
* syscalls.cc (try_to_bin): Ditto.
2006-12-11 09:07:22 +00:00
Christopher Faylor c2b8862303 * mount.cc (do_mount): Avoid unnecessary cygwin_conv_to_win32_path and pass
POSIX path directly - this avoids a cygwin DLL warning.
2006-12-10 21:50:06 +00:00
Corinna Vinschen cbfb7b1b23 * autoload.cc (SHFileOperationA): Drop definition.
* ntdll.h (struct _FILE_RENAME_INFORMATION): Define.
	* path.cc (fs_info::update): Note length of rootdir prefix in
	root_len.
	(get_nt_native_path): New function, taking over functionality of
	path_conv::get_nt_native_path.
	(path_conv::get_nt_native_path): Just call get_nt_native_path.
	* path.h (get_nt_native_path): Declare.
	(struct fs_info): New member root_len.
	(fs_info::length): New inline method returning root_len.
	(path_conv::rootdir): New inline method returning rootdir prefix.
	* syscalls.cc (try_to_bin): Rewrite using only system calls.
	(unlink_nt): Call try_to_bin with additional handle to open file
	parameter.
	(statvfs): Use path_conv::rootdir method.
	* wincap.h: Define has_recycle_dot_bin throughout.
	* wincap.cc: Ditto.
2006-12-10 16:43:30 +00:00
Corinna Vinschen 6c64fb2fda * fhandler.cc (rootdir): Clarify comment. 2006-12-10 16:20:43 +00:00
Corinna Vinschen 37ae69e8b1 * fhandler.cc (rootdir): Don't look for volume mount points on remote
shares.
2006-12-10 16:18:51 +00:00
Corinna Vinschen 30cf835f7e * fhandler.cc (rootdir): Drop useless post-increment. Take volume
mount points into account.
	(check_posix_perm): Allocate space for root directory big enough.
2006-12-10 12:56:50 +00:00
Corinna Vinschen 8af19fdb25 * syscalls.cc (try_to_bin): Add comment that this is not possibly
the final version.
2006-12-09 09:29:47 +00:00
Corinna Vinschen e563a4d5b8 * syscalls.cc (unlink_nt): Open native symlinks with
FILE_OPEN_REPARSE_POINT flag.
2006-12-07 17:53:05 +00:00
Corinna Vinschen 1c9b2968fa * ntdll.h (STATUS_DELETE_PENDING): Define.
(struct _FILE_DISPOSITION_INFORMATION): Define.
	* syscalls.cc (unlink_9x): new function to delete file on 9x.
	* syscalls.cc (unlink_nt): new function to delete file on NT.
	(unlink): Simplify.  Move OS dependent stuff into aforementioned
	functions.  Also handle FILE_ATTRIBUTE_HIDDEN as R/O-like flag.
2006-12-07 17:40:24 +00:00
Corinna Vinschen 398e28fbbc * autoload.cc (SHFileOperationA): Define.
* syscalls.cc (try_to_bin): New function trying to move a file to
	the recycle bin.
	(unlink): Fix arguments used in CreateFile for delete on close.
	Before closing the handle, try to move the file to the recycle bin.
2006-12-07 11:53:46 +00:00
Corinna Vinschen 2ffc166d07 * cygheap.h (struct cwdstuff): Add "sync" member and accompanying
"keep_in_sync" methods.
	* external.cc (cygwin_internal): Call above keep_in_sync method when
	CW_SYNC_WINENV is requested.
	* path.cc (cwdstuff::init): Don't change to windows_system_directory
	if keep_in_sync is requested.
	(cwdstuff::keep_in_sync): New method.
	(cwdstuff::set): Take sync flag into account.
2006-12-07 10:04:52 +00:00
Corinna Vinschen 63f33caadc * termios.cc: Change include order to accomodate change to sys/ioctl.h. 2006-12-06 19:44:07 +00:00
Corinna Vinschen 8b8273781b * fhandler_mem.cc (fhandler_dev_mem::open): Fix comment.
* wincap.cc (has_physical_mem_access): Reflect the fact that physical
	memory access has been made a protected operation beginning with
	2003 Server.
2006-12-06 16:33:03 +00:00
Corinna Vinschen bf8ea306ec * include/sys/ioctl.h: Pick up termios.h, for TIOCGWINSZ. 2006-12-06 14:08:08 +00:00
Corinna Vinschen 6acc178a24 * winsup.h (WINVER): Set to 0x0600 to cover Vista. 2006-12-06 14:06:38 +00:00
Corinna Vinschen ad7915ffca * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Fix typo. 2006-12-06 14:05:59 +00:00
Corinna Vinschen 3c788ea42a * path.cc (cwdstuff::init): Don't change to windows_system_directory
if Cygwin DLL has been loaded dynamically.
2006-12-05 21:46:26 +00:00
Corinna Vinschen 2156546df2 * path.cc (cwdstuff::set): Don't try to open directory on systems not
supporting that.
2006-12-05 13:20:38 +00:00
Corinna Vinschen a83c59fbc3 * dcrt0.cc (get_cygwin_startup_info): Fix comment.
* wincap.cc (wincapc::init): Always reset needs_count_in_si_lpres2 to
	false on non 64-bit systems.
2006-12-05 13:16:24 +00:00
Corinna Vinschen 301cd37dda Fix date. 2006-12-05 11:07:12 +00:00
Corinna Vinschen c6674b53d3 * dcrt0.cc (get_cygwin_startup_info): Change zeros to DWORD array.
Expect first DWORD in child_info struct being set to non-zero if
	wincap.needs_count_in_si_lpres2 is set.  Add comment to explain why.
	* fork.cc (frok::parent): Set ch.zero[0] to a sensible count value
	if wincap.needs_count_in_si_lpres2 is set.
	* spawn.cc (spawn_guts): Ditto.  Add filler bytes after ch on stack
	to accomodate needs_count_in_si_lpres2.
	* wincap.h: Define needs_count_in_si_lpres2 throughout.
	* wincap.cc: Ditto.
2006-12-05 10:59:21 +00:00
Corinna Vinschen 8eca536272 * dir.cc (mkdir): Check last path component for "..".
(rmdir): Don't check last path component for "..".
	* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Drop kludge
	which tries to allow deleting the current working directory.
	* path.cc (has_dot_last_component): Add parameter to indicate testing
	for "..".  Take trailing slash into account.
	(symlink_info::posixify): Rely on cygheap->cwd.win32 having a
	useful value.
	(cwdstuff::init): Initialize cygheap->cwd with current working
	directory.  Change to windows_system_directory afterwards.
	(cwdstuff::set): Never call SetCurrentDirectory here.  Just check
	if changing into target directory would be allowed.  Add comment to
	explain why.
	* path.h (has_dot_last_component): Declare with second parameter.
	* pinfo.cc (pinfo::zap_cwd): Remove.
	(pinfo::exit): Drop call to zap_cwd.
	* pinfo.h (class pinfo): Remove declaration of zap_cwd.
	* spawn.cc (spawn_guts): Set current working directory for non-Cygwin
	child applications.  Drop call to zap_cwd.
2006-11-30 10:17:24 +00:00
Corinna Vinschen 75bb63452d * security.cc (create_token): Revert erroneous change to test
subauth_token for INVAILD_HANDLE_VALUE.
	* syscalls.cc (seteuid32): Set create_token's subauth_token parameter
	back to NULL.
2006-11-28 23:15:01 +00:00
Corinna Vinschen 902716e599 * fhandler.cc (fhandler_base::open): Fix previous patch to handle the
SYSTEM attribute as well.
2006-11-28 09:57:01 +00:00
Corinna Vinschen ef26cc9307 * fhandler.cc (fhandler_base::open): Fix handling of files with
HIDDEN attribute set.
2006-11-27 19:14:24 +00:00
Christopher Faylor f64b151f59 * include/cygwin/signal.h: Add __extension__ to various anonymous unions and
structs.  (thanks to V.Haisman)
2006-11-27 16:43:34 +00:00
Corinna Vinschen 8e4735df6c Initial release of the Cygwin LSA authentication package.
* ChangeLog: New file.
	* Makefile.in: Ditto.
	* aclocal.m4: Ditto.
	* configure.in: Ditto.
	* configure: Ditto. Generated from configure.in.
	* cyglsa-config: Ditto.
	* cyglsa.c: Ditto.
	* cyglsa.din: Ditto.
	* cyglsa64.dll: Ditto.
	* make-64bit-version-with-visual-c.bat: Ditto.
	* mslsa.def: Ditto.
2006-11-27 13:05:54 +00:00
Corinna Vinschen c6caaa3429 * Makefile.in: Add dependencies for lsaauth.
* configure.in: Disable building subauth.  Add building lsaauth.
	* configure: Regenerate.
2006-11-27 13:01:36 +00:00
Corinna Vinschen b825c587ba * cyglsa.h: New header file.
* environ.cc: Disable subauth settings.
	* grp.cc: Accomodate cygsidlist's count now being a method.
	* sec_helper.cc (SECURITY_MANDATORY_INTEGRITY_AUTHORITY): Remove.
	(mandatory_medium_integrity_sid): Remove.
	(mandatory_high_integrity_sid): Remove.
	(mandatory_system_integrity_sid): Remove.
	(fake_logon_sid): Add.
	(cygsid::get_sid): Add well_known parameter.  Set well_known_sid
	accordingly.
	(cygsid::getfromstr): Ditto.
	(cygsidlist::alloc_sids): Move here from security.cc.
	(cygsidlist::free_sids): Ditto.
	(cygsidlist::add): Move here from security.h.  Add well_known parameter.
	Set well_known_sid accordingly.  Don't allow duplicate SIDs.
	* security.cc: Include cyglsa.h and cygwin/version.h.  Throughout
	accomodate cygsidlist's count now being a method.  Throughout drop
	redundant "contains" tests.
	(get_user_local_groups): Add local groups as well known SIDs.
	(get_token_group_sidlist): Add well known groups as well known SIDs.
	(get_server_groups): Ditto.  Only call get_unix_group_sidlist after
	get_user_local_groups to maintain "well_known_sid" attribute.
	(get_initgroups_sidlist): Add well known groups as well known SIDs.
	(get_setgroups_sidlist): Add usersid and struct passwd parameter to
	allow calling get_server_groups from here.
	(get_system_priv_list): Make static.  Return size of TOKEN_PRIVILEGES
	structure.
	(get_priv_list): Ditto.
	(create_token): Accomodate above changes.  Drop misguided attempt to
	add MIC SIDs to created user token.  Print returned token as hex value.
	(subauth): Disable.
	(lsaauth): New function implementing client side of LSA authentication.
	* security.h (class cygsid): Add well_known_sid attribute.  Accomodate
	throughout.  Add *= operator to create a well known SID.
	(class cygsidlist): Rename count to cnt.  Make count a method.
	(cygsidlist::add): Move to sec_helper.cc.
	(cygsidlist::operator *=): New method to add well known SID.
	(cygsidlist::non_well_known_count): New method returning number of
	non well known SIDs in list.
	(cygsidlist::next_non_well_known_sid): New method returning next non
	well known SID by index.
	(mandatory_medium_integrity_sid): Drop declaration.
	(mandatory_high_integrity_sid): Drop declaration.
	(mandatory_system_integrity_sid): Drop declaration.
	(fake_logon_sid): Add declaration.
	(subauth): Disable declaration.
	(lsaauth): Add declaration.
	* syscalls.cc (seteuid32): Disable subauthentication.  Add LSA
	authentication.
	* wincap.h: Define needs_logon_sid_in_sid_list throughout.
	* wincap.cc: Ditto.
2006-11-27 12:59:59 +00:00
Keith Marshall b6bb405954 configure.in: Update to autoconf 2.5x syntax; fix macro argument quoting;
remove invalid use of AC_ALLOCA; remove redundant use of AC_SUBST.
2006-11-25 15:55:05 +00:00
Corinna Vinschen 124b187f16 * security.h (DBGSID): Define for debugging purposes.
(MKSID): Rename from SID so as to not hide SID definition from winnt.h.
	* sec_helper.cc: Change SID to MKSID throughout.
2006-11-23 16:44:55 +00:00
Corinna Vinschen 23f710014d * net.cc (get_ipv6_funcs): Fix formatting. 2006-11-23 16:30:12 +00:00
Corinna Vinschen 86404692c6 * path.cc (fs_info::update): Define GETVOLINFO_VALID_MASK and TEST_GVI.
Change FS_IS_SAMBA and FS_IS_SAMBA_WITH_QUOTA and their usage
	accordingly.  Define FS_IS_NETAPP_DATAONTAP.  Recognize NetApp device
	and store in is_netapp flag.  Mark NetApp device as having no good
	inodes.
	* path.h (struct fs_info): Add is_netapp flag.  Add matching accessors.
2006-11-23 11:28:52 +00:00
Corinna Vinschen bf4071fad0 * fhandler_console.cc (set_color): Avoid (again) inappropriate
intensity interchanging that used to render reverse output unreadable
	when (non-reversed) text is bright.
	See http://sourceware.org/bugzilla/show_bug.cgi?id=514
2006-11-23 10:08:04 +00:00
Corinna Vinschen 9e3f289f51 * devices.h: Add additional SCSI disk block device numbers per
http://www.kernel.org/pub/linux/docs/device-list/devices.txt
	up to 128 devices.
	* devices.in: Ditto.
	(device::parsedisk): Add additonal else-if cases for decoding base
	and drive indices.
	* devices.cc: Regenerate.
	* dtable.cc (build_fh_pc): Add additional DEV_SD{2..7}_MAJOR cases.
2006-11-23 09:55:55 +00:00
Danny Smith d22713e25d * Makefile.in: Add aclocal.m4 to source release. 2006-11-21 09:36:00 +00:00
Danny Smith 5f2d9e5fac * Makefile.in: Add aclocal.m4:to source release.
* mingwex/Makefile.in: Ditto.
	* profile/Makefile.in: Ditto.
2006-11-21 09:30:15 +00:00
Chris Sutcliffe a44ecdf5ae 2006-11-18 Chris Sutcliffe <ir0nh34d@users.sf.net>
* include/w32api.h: Increment version to 3.8.
        * Makefile.in: Ditto.
2006-11-18 22:39:52 +00:00
Chris Sutcliffe c6bf4f2a19 2006-11-18 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Include/_mingw.h: Increment version to 3.11.
        * Makefile.in: Ditto.
2006-11-18 22:26:49 +00:00
Danny Smith 96da86f7e8 2006-11-13 Daniel Schlyder <thrug@users.sourceforge.net>
* include/winnt.h (VER_SUITE_EMBEDDEDNT, VER_SUITE_SINGLEUSERTS,
	VER_SUITE_STORAGE_SERVER, VER_SUITE_COMPUTE_SERVER): Define.

	* include/winuser.h (SM_STARTER, SM_SERVERR2): Define.
2006-11-13 02:11:45 +00:00
Corinna Vinschen c3a0492e16 * autoload.cc (EqualPrefixSid): Define.
* security.cc (create_token): Drop grps_buf.  Use alloca instead.
	Only add the MIC SID to the TOKEN_GROUPS list for the NtCreateToken
	call.  If the subauthentication token exists, use its MIC SID.
	Set SID Attributes for the MIC SID to 0.
2006-11-09 15:24:34 +00:00
Danny Smith cb505ee695 [ mingw-Bugs-1590623 ]
* include/_mingw.h (__CRT_INLINE): Use __gnu_inline__ attribute
	in C99 mode.
2006-11-08 21:58:18 +00:00
Corinna Vinschen 2fd2ddf3f5 * sec_helper.cc (sid_auth): Remove.
(well_known_this_org_sid): New well known sid.
	(SECURITY_MANDATORY_INTEGRITY_AUTHORITY): Define.
	(mandatory_medium_integrity_sid): New well known sid.
	(mandatory_high_integrity_sid): Ditto.
	(mandatory_system_integrity_sid): Ditto.
	(cygsid::get_sid): Use local SID_IDENTIFIER_AUTHORITY.  Allow all
	authorities fitting in a UCHAR.
	* security.cc (get_token_group_sidlist): Always add the local
	group to the token.  Add comment.  Add "This Organization" group
	if available in incoming group list.
	(get_server_groups): Only add world and authenticated users groups
	if not already in list.
	(create_token): Add matching mandatory integrity SID to group list
	on systems supporting Mandatory Integrity Control.
	* security.h (well_known_this_org_sid): Define.
	(mandatory_medium_integrity_sid): Define.
	(mandatory_high_integrity_sid): Define.
	(mandatory_system_integrity_sid): Define.
	* wincap.h: Define has_mandatory_integrity_control throughout.
	* wincap.cc: Ditto.
2006-11-08 11:38:05 +00:00
Corinna Vinschen 86bc8fadff * fhandler.cc (check_posix_perm): Moved here from syscalls.cc.
(fhandler_base::fpathconf): New method implementing (f)pathconf.
	* fhandler.h (class fhandler_base): Declare fpathconf method.
	* path.cc (path_conv::check): Replace MAX_LINK_DEPTH with SYMLOOP_MAX.
	* path.h (MAX_LINK_DEPTH): Delete.
	* syscalls.cc (check_posix_perm): Move to fhandler.cc.
	(fpathconf): Call fhandler's fpathconf method.
	(pathconf): Build fhandler and call fhandler's fpathconf method.
	* sysconf.cc (sysconf): Reorder switch according to order of flags
	in sys/unistd.h.  Add handling for some missing flags.
	* include/limits.h: Reorder according to SUSv3 description.  Add some
	missing definitions.  Add comments.
	* include/sys/syslimits.h: New file overriding newlib's syslimits.h
	file.
2006-11-07 17:59:54 +00:00
Corinna Vinschen cc9dbc905c * dtable.cc (build_fh_pc): Add missing DEV_SD1_MAJOR case (Thanks to
Joe Loh for noticing).
2006-11-06 13:46:24 +00:00
Corinna Vinschen 2228ff0267 * path.cc (symlink_info::posixify): Fix comment. 2006-11-02 13:39:44 +00:00
Corinna Vinschen 4521c4bd0c * path.cc (symlink_info::check): Eliminate PATH_REP bit from pflags. 2006-11-02 12:19:16 +00:00
Corinna Vinschen 5fc8f227dc * path.cc (symlink_info::posixify): New mothod converting NT and DOS
paths in symlinks to POSIX.
	(symlink_info::check_shortcut): Allocate buf allowing for a trailing 0.
	Call posixify on the result.
	(symlink_info::check_sysfile): Read from file into local buffer.
	Eliminate old b16 considerations.  Call posixify on the result.
	(symlink_info::check_reparse_point): Don't use PrintName but
	SubstituteName which is relevant for Windows' path handling.
	Call posixify on the result.
2006-11-02 11:45:03 +00:00
Danny Smith a45b9181ea * include/winuser.h (LR_DEFAULTSIZE): Remove duplicate.
C99 'extern inline' patrol.
	* include/winnt.h (GetCurrentFiber): Remove extern declaration.  Make
	inline static.
	(GetFiberData): Likewise.
	* lib/kernel32.c: Remove.
	* lib/Makefile.in: Remove reference to kernel32.[co].
2006-11-02 00:54:46 +00:00
Corinna Vinschen b904c35100 * security.h (cygpriv_idx): Add privileges new in Vista.
* security.cc (sys_privs): Ditto.
	* sec_helper.cc (cygpriv): Ditto.  Fix comment.
2006-11-01 09:00:14 +00:00
Corinna Vinschen 87abdb3df9 * include/winnt.h (SE_RELABEL_NAME): Define.
(SE_INCREASE_WORKING_SET_NAME): Define.
	(SE_TIME_ZONE_NAME): Define.
	(SE_CREATE_SYMBOLIC_LINK_NAME): Define.
2006-11-01 08:57:57 +00:00
Corinna Vinschen c2b10dc4d8 * cygheap.h (struct user_heap_info): Add slop member.
* heap.cc (heap_init): Add slop factor to heap allocation.  Add
	comment.
	* mmap.cc (MapViewNT): Allocate memory maps top down.
	(fhandler_dev_zero::mmap): Ditto.
	* shared.cc (shared_info::heap_slop_size): New method.
	(shared_info::heap_chunk_size): Don't use debug_printf at early stage.
	* shared_info.h (SHARED_INFO_CB): Accomodate change to shared_info.
	(CURR_SHARED_MAGIC): Ditto.
	(class shared_info): Add heap_slop member.  Declare heap_slop_size.
	* wincap.h: Define heapslop throughout.
	* wincap.cc: Ditto.
2006-10-31 18:41:16 +00:00
Corinna Vinschen 9740f34d11 * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop
directory attribute for reparse points to avoid mistreating.
	(fhandler_base::fstat_by_name): Ditto.
	* path.cc (symlink_info::check_reparse_point): New method testing
	reparse points for symbolic links.
	(symlink_info::check_shortcut): Move file attribute tesat to calling
	function.
	(symlink_info::check): Add handling for reparse points.
	* path.h (enum path_types): Add PATH_REP to denote reparse point based
	symlinks.
	(path_conv::is_rep_symlink): New method.
	* syscalls.cc (unlink): Handle reparse points.
2006-10-31 11:40:47 +00:00
Corinna Vinschen 3ddf69712b * include/winnt.h (IO_REPARSE_TAG_SYMLINK): Define.
(struct _REPARSE_DATA_BUFFER): Add missing Flags field to
	SymbolicLinkReparseBuffer substructure.
2006-10-31 11:39:58 +00:00
Danny Smith cf8c18dd47 2006-10-29 Daniel Atallah <datallah@users.sourceforge.net>
* lib/ws2_32.def (WSANSPIoctl): Add to lib.
2006-10-29 22:37:10 +00:00
Corinna Vinschen fa9e684236 * shared.cc (open_shared): Drop useless attempt from 2006-08-11. 2006-10-27 10:51:25 +00:00
Corinna Vinschen 17f3068d4e * dcrt0.cc (__api_fatal): Drop spare argument to __small_sprintf.
* smallprint.c (__small_vsprintf): Preserve GetLastError value.
	* winsup.h (api_fatal): Simplify.  Drop duplicate filename arg.
2006-10-27 10:41:51 +00:00
Chris Sutcliffe 6aea277648 2006-10-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Fix order for 'all' rule.
2006-10-27 01:02:29 +00:00
Corinna Vinschen 74cab745fc * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Fix comment. 2006-10-23 16:41:10 +00:00
Corinna Vinschen 7a229db654 * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Accomodate
buggy RestartScan behaviour of Windows 2000.
	* wincap.h: Define has_buggy_restart_scan throughout.
	* wincap.cc: Ditto.
2006-10-23 15:13:55 +00:00
Corinna Vinschen fc545fe933 * fhandler_disk_file.cc (fhandler_disk_file::facl): Fix whitespace.
* external.cc: Update copyright.
	* fhandler.cc: Ditto.
	* sec_helper.cc: Ditto.
	* security.h: Ditto.
	* security.cc: Ditto.
	(check_registry_access): Return -1 if W_OK is requested.
2006-10-22 19:31:33 +00:00
Corinna Vinschen 2be593d961 * external.cc (cygwin_internal): Use security_descriptor::copy method.
* sec_helper.cc (security_descriptor::malloc): Use own free method.
	Set type.
	(security_descriptor::realloc): Handle the case that psd has been
	allocated using LocalAlloc.  Set type.
	(security_descriptor::free): Ditto.
	* security.cc (get_nt_attribute): Remove.
	(get_reg_security): Remove.
	(get_nt_object_security): Use GetSecurityInfo which handles all
	securable objects.
	(get_nt_object_attribute): Remove.
	(get_object_attribute): Call get_nt_object_security instead of
	get_nt_object_attribute.
	(get_file_attribute): Ditto.
	(check_registry_access): Call get_nt_object_security instead of
	get_reg_security.
	* security.h (cygpsid::operator PSID): Make method const, not the
	result.
	(class security_descriptor): Add type member.  Accomodate throughout.
	(security_descriptor::copy): New method.
	(security_descriptor::operator PSECURITY_DESCRIPTOR *): New operator.
2006-10-22 14:57:43 +00:00
Corinna Vinschen 2b26c2fc41 * fhandler.cc (fhandler_base::fhaccess): Check if opening registry
actually created a handle.  This handles the registry root dir.
	* fhandler_registry.cc (fhandler_registry::open): Set io_handle in
	case of opening one of the predefined registry keys.
2006-10-22 09:38:47 +00:00
Corinna Vinschen 70158cafd7 * regtool.cc (key_type): Drop.
(REG_AUTO): Define.
	(value_type): Replace key_type.  Use REG_xxx values directly.
	Accomodate change throughout.
	(longopts): Add --dword, --dword-le, --none, --qword and --hex options.
	(opts): Add -d, -D, -n, -Q and -x options.
	(types): Array to convert REG_xxx into strings.
	(hex): New variable to keep value of --hex option.
	(usage): Accomodate new options.  Print only the necessary by default.
	Only be verbose in case of -h/--help option.
	(cmd_list): Use key separator from -K option when printing.
	Print value type when verbose option is given.  Handle so far not
	handled REG_xxx types.
	(cmd_set): Avoid SEGV due to missing argument.  Handle so far not
	handled REG_xxx types.
	(cmd_get): Handle --binary option type agnostic.  Handle so far not
	handled REG_xxx types.
	(main): Handle new options.
2006-10-21 17:19:29 +00:00
Corinna Vinschen 1b4153db74 * fhandler.cc (fhandler_base::fhaccess): Call check_registry_access
for registry keys/values if ntsec is on.
	* security.cc (check_access): New static function derived from
	check_file_access, but object type agnostic.
	(check_file_access): Only do file specific stuff.  Call check_access.
	(check_registry_access): New access check function for registry keys/
	values.
	* security.h (check_registry_access): Declare.
2006-10-21 11:05:32 +00:00
Corinna Vinschen 9367c0dcff * fhandler_registry.cc (fhandler_registry::fstat): Set restrictive
permission and ownership if key can't be opened for reading security.
	(open_key): If opening key fails, retry opening with backup intent.
2006-10-21 10:58:35 +00:00
Corinna Vinschen d698e833cd * net.cc (cygwin_getnameinfo): Fix typo in comment. 2006-10-20 12:57:25 +00:00
Corinna Vinschen 20f9af5348 * fhandler.h (fhandler_base::set_name): Make virtual.
(class fhandler_registry): Add wow64 and prefix_len members.
	Declare set_name method.
	* fhandler_proc.cc (PROC_REGISTRY32): Define.
	(PROC_REGISTRY64): Define.
	(proc_listing): Add "registry32" and "registry64" elements.
	(proc_fhandlers): Add corresponding FH_REGISTRY values.
	* fhandler_registry.cc (registry_len): Drop static value in favor of
	class member prefix_len.  Use preifx_len instead of registry_len
	throughout.
	(fhandler_registry::set_name): Define.  Set wow64 and prefix_len
	according to directory prefix.
	(fhandler_registry::fhandler_registry): Set wow64 and prefix_len to
	default values.
	(open_key): Add wow64 argument.  Handle wow64 in call to RegOpenKeyEx.
	Use fhandler_registry member wow64 in this place throughout.
2006-10-19 10:01:03 +00:00
Corinna Vinschen d145878a07 * fhandler_proc.cc: Drop superfluous definition of _WIN32_WINNT.
* miscfuncs.cc: Ditto.
	* sched.cc: Ditto.
2006-10-19 09:15:26 +00:00
Corinna Vinschen 3c256e38f9 * regtool.cc (longopts): Add --wow32 option.
(opts): Add -W option.
	(usage): Add text for --wow32/-W option.
	(main): Handle --wow32/-W option.
	* utils.sgml: Document the new -W option.
2006-10-19 09:08:44 +00:00
Corinna Vinschen 733c9ed374 * glob.c: Remove.
* glob.cc: New file.  Latest glob version from FreeBSD plus Cygwin
	specific changes (__stat64/__stat32, ignore_case_with_glob,
	drop collate functions).
	(glob3): Return GLOB_ABORTED in case directory is unreadable and
	GLOB_ERR is set, as demanded by SUSv3.
	* glob.h: Import latest version from FreeBSD.
2006-10-17 17:34:56 +00:00
Corinna Vinschen bf4875e4b0 * winsup.h (WINVER): Define instead of _WIN32_WINNT. Set to 0x0502.
(_NO_W32_PSEUDO_MODIFIERS): Define.
2006-10-17 13:55:05 +00:00
Corinna Vinschen 53930874cb * regtool.cc (KEY_WOW64_64KEY): Drop definition. Instead define
WINVER to 0x0502 before including windows.h.
2006-10-16 19:34:27 +00:00
Corinna Vinschen 40c60b89d5 * regtool.cc (KEY_WOW64_64KEY): Define.
(longopts): Add --wow64 option.
	(opts): Add -w option.
	(wow64): New variable to control usage of KEY_WOW64_64KEY access flag.
	(usage): Add text for --wow64/-w option.
	(print_version): Fix copyright.
	(find_key): Use wow64 value in calls to RegOpenKeyEx and RegCreateKeyEx.
	(cmd_add): Use wow64 value in call to RegCreateKeyEx.
	(regDeleteKeyEx): New function pointer to load RegDeleteKeyEx function
	dynamically.
	(cmd_remove): Load and use regDeleteKeyEx when wow64 is set.
	(main): Handle --wow64/-w option.
	* utils.sgml: Document the new -w option.
2006-10-16 18:00:06 +00:00
Corinna Vinschen 0b8affca5e * fhandler_disk_file.cc (fhandler_disk_file::opendir): Drop redundant
access check.
2006-10-16 13:11:29 +00:00
Corinna Vinschen c28fea1bdc * include/asm/byteorder.h: Fix copyright dates.
Fix typos in ChangeLog.
2006-10-16 12:34:34 +00:00
Corinna Vinschen b031f5c3c5 Fix pathnames. 2006-10-16 12:31:19 +00:00
Corinna Vinschen 2c1ffdbf5e * autoload.cc (PrivilegeCheck): Define.
* fhandler.cc (fhandler_base::open): Always try opening with backup
	resp. restore intent.
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Always try
	opening with backup intent.
	(fhandler_disk_file::readdir): Ditto when trying to retrieve file id
	explicitely.
	* security.cc (check_file_access): Replace pbuf with correctly
	PPRIVILEGE_SET typed pset.  Check explicitely for backup and/or restore
	privileges when AccessCheck fails, to circumvent AccessCheck
	shortcoming.  Add comment to explain.
2006-10-16 12:26:59 +00:00
Christopher Faylor 7af26e0cc0 * winsup.h: Turn off DEBUGGING. 2006-10-13 12:49:18 +00:00
Corinna Vinschen ace7360b45 * Makefile.in (CFLAGS): Drop -nostdinc.
* cygsuba.c: Reorder includes to allow building with VC++.
	* make-64bit-version-with-visual-c.bat: New file.
2006-10-13 11:55:05 +00:00
Corinna Vinschen fb7dc2480c * autoload.cc (Wow64DisableWow64FsRedirection): Define.
(Wow64RevertWow64FsRedirection): Define.
	* security.cc (cygsuba_installed): New shared variable to store result
	of cygsuba.dll installation test.
	(subauth): Check if cygsuba.dll has been installed and registered
	before issuing the (sub)authentication.
2006-10-13 11:10:28 +00:00
Corinna Vinschen 208e95c2f2 * security.cc (create_token): Fix condition for source identifier. 2006-10-12 15:38:26 +00:00
Danny Smith 0d94042d8f * include/winuser.h (LR_DEFAULTSIZE, LR_VGACOLOUR): Define. 2006-10-12 04:25:56 +00:00
Corinna Vinschen 9565e2333c * select.cc (struct socketinf): Convert ser_num and w4 to dynamically
allocated arrays.  Add max_w4 member to keep track.
	(thread_socket): Make timeout depending on number of sockets to wait
	for.  Loop WFMO over all sockets.
	(start_thread_socket): Handle any number of sockets.  Fix typo.  Don't
	close socket event in out of memory condition.
	(socket_cleanup): Free ser_num and w4.
2006-10-11 16:21:12 +00:00
Corinna Vinschen b9c7deed9a * path.cc (path_conv::get_nt_native_path): Properly detect \\?\ paths.
(mount_info::conv_to_win32_path): Update comment.
	* fhandler_disk_file.cc (path_conv::ndisk_links): Use backslashes
	to make NT kernel functions work for \\?\GLOBALROOT paths.
2006-10-09 14:01:52 +00:00
Corinna Vinschen 5623fbd4ca * devices.in: Raise number of handled serial ports to 64.
* devices.cc: Regenerate.
2006-10-09 08:27:23 +00:00
Christopher Faylor 16b6142ad4 . 2006-10-06 22:32:09 +00:00
Corinna Vinschen cea9b62102 * cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
	(check_existence): New static function.
	(find_on_path): Check for symbolic links if asked.
	(dll_info): New error handling.
	(track_down): Only call dll_info() for executables, display
	an error for symlinks, and print magic number for others.
	(find_app_on_path): New static function.
	(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
	find_on_path().
	* path.cc (cmp_shortcut_header): New static function.
	(get_word, get_dword): Moved from cygcheck.cc.
	(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
	macros.
	(is_exe, is_symlink, readlink): New functions.
	* path.h (is_exe, is_symlink, readlink): Declare.
	(get_word, get_dword): Ditto.
2006-10-05 17:24:13 +00:00
Danny Smith 66845c62b1 * include/winreg.h (RegDeleteKeyEx{A|W}): Add prototype and UNICODE
mappings.
	(KEY_WOW64_32KEY, KEY_WOW64_64KEY): Define.
	* lib/advapi.def (RegDeleteKeyEx{A|W}): Export.
2006-10-05 07:36:06 +00:00
Corinna Vinschen fbcc8bbe74 * Makefile.in: Semi-revert semi-reversion of 2006-08-30 change, now
correctly parenthesized.
2006-10-04 12:52:42 +00:00
Danny Smith e4aebff6e8 * include/winnt.h (CASSERT): Define.
[mingw-Bugs-1568067]
	* include/winuser.h: (DISP_CHANGE_BADDUALVIEW): Define.
	* include/wingdi.h: (DM_POSITION): Define.
2006-10-04 08:57:27 +00:00
Danny Smith b3fc0d3bf5 * lib/rpcrt4.def: Remove "_imp__"-prefixed export symbols.
* lib/user32.def: Likewise.
2006-10-03 08:43:40 +00:00
Danny Smith c0b5e094e2 * mingwex/mb_wc_common.h (get_codepage): Get it
from __lc_codepage.
2006-09-19 09:09:58 +00:00
Christopher Faylor b44ba33a1f * byteorder.h: Correct typo. 2006-09-17 23:22:10 +00:00
Christopher Faylor 22aa38a0a8 * byteorder.h: Don't #define n* macros if -fnoinline is specified. 2006-09-17 22:34:45 +00:00
Danny Smith dad3363707 * mingwex/gdtoa/g_xfmt.c (g_xfmt): Fix representation of infinity. Use fpclassify.
* mingwex/gdtoa/strtopx (__strtopx): Avoid cast of long double* to void*.
	* mingwex/gdtoa/gdtoa.h (__g_fmt): Make declaration consistent with others.
2006-09-17 22:27:56 +00:00
Danny Smith 3e231d9a38 * mingwex/gdtoa/strtopx.c (strtopx): Fix (sic) infinity. 2006-09-16 07:35:45 +00:00
Christopher Faylor 8552e20ec4 white space 2006-09-13 15:33:37 +00:00
Christopher Faylor aa45b3b73d Check in previously mentioned change to cygcheck.cc 2006-09-13 15:32:04 +00:00
Christopher Faylor 56ec0f9c9c * Makefile.in: Fix -ntdll typo.
* cygcheck.cc (main): Restore POSIXLY_CORRECT before displaying user's
environment.
2006-09-12 15:14:51 +00:00
Chris Sutcliffe 1a0a1d3218 Forgot ChangeLog in last commit 2006-09-12 00:29:39 +00:00
Chris Sutcliffe 3742ca27a4 2006-09-11 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
* lib/Makefile.in: fix typo.
        * lib/ddk/Makefile.in: fix typo.
        * lib/directx/Makefile.in: fix typo.

        Thanks to Keith Marshall (keithmarshall at users dot sourceforge dot net)
        for pointing it out.
2006-09-12 00:29:04 +00:00
Christopher Faylor c48cea17a8 * Makefile.in: Semi-revert 2006-08-30 change. 2006-09-11 16:06:35 +00:00
Chris Sutcliffe 08b5122764 2006-09-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Remove files from lib directory with distclean target
2006-09-10 22:55:43 +00:00
Danny Smith 910edf4a02 * include/_mingw.h (__MINGW_ATTRIB_DEPRECATED): Define.
(__MINGW_IMPORT): Ansify.
	* include/stdlib.h (_sleep, _beep, _seterrormode): Add
	__MINGW_ATTRIB_DEPRECATED.
2006-09-10 21:16:05 +00:00
Chris Sutcliffe 88a815f3c0 2006-09-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winuser.h (CS_DROPSHADOW): Define.
2006-09-10 14:55:24 +00:00
Keith Marshall 7146ace87f * aclocal.m4 (LIB_AC_PROG_CC, LIB_AC_PROG_CC_GNU, LIB_AC_PROG_CXX):
Redundant macros; deleted.

	* configure.in (LIB_AC_PROG_CC): Replaced by...
	(AC_PROG_CC): ...this.

	* configure: Regenerated.
2006-09-10 14:44:55 +00:00
Danny Smith 635f4bd398 2006-09-08 Michael Gerdau <mgdde@users.sourceforge.net>
* include/uxtheme.h: (TMT_GRADIENTCOLOR4, TMT_GRADIENTCOLOR5,
	TMT_SHADOWCOLOR, TMT_GLOWCOLOR, TMT_TEXTBORDERCOLOR,
	TMT_TEXTSHADOWCOLOR, TMT_GLYPHTEXTCOLOR, TMT_GLYPHTRANSPARENTCOLOR,
	TMT_FILLCOLORHINT, TMT_BORDERCOLORHINT, TMT_ACCENTCOLORHINT):
	Increase each constant by 1.
2006-09-08 01:16:46 +00:00
Christopher Faylor d6b1ac7faa * environ.cc (build_env): Don't put an empty environment variable into the
environment.  Optimize use of "len".
* errno.cc (ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN.
2006-09-07 20:42:53 +00:00
Danny Smith 19ff420025 [mingw-Bugs-1553275]
* include/wingdi.h (SetLayout): Add prototype.
	(GetLayout): Likewise.
2006-09-07 09:09:13 +00:00
Danny Smith ab1d66234a * mingwex/gdtoa/misc.c (pow5mult): Restore original code.
* mingwex/gdtoa/gdtoa.h. Add comment that files have been modified.
	* mingwex/gdtoa/gdtoaimp.h: Include system headers with <> brackets.
2006-09-06 22:03:16 +00:00
Danny Smith a046f426ed [mingw-Bugs-1550139]
* include/oleauto.h (GetRecordInfoFromTypeInfo): Add prototype.
	(GetRecordInfoFromGuids): Add prototype.
2006-09-02 09:00:45 +00:00
Danny Smith 1202770601 * include/winbase.h: Add comment about 'missing' SEM flag. 2006-09-01 01:28:30 +00:00
Danny Smith e635b30956 Import David Gay's gdtoa library.
* mingwex/gdtoa: New directory.
	* mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
	g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
	gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
	README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
	ulp.c): New files.
	* mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
	* mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
	* mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
        * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
	* mingwex/wcstold.c: Avoid using strtold internals.
	* mingwex/wcstof.c: Rewrite.
	* mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
	(GDTOA_OBJS): Add to library.
	(DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
	(STDLIB_OBJS): Remove.
	(STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
	(Q8_OBJS): Add wcstof.o wcstold.o.
	* include/stdlib.h (strtof): Remove inline definition.
	(wcstof): Likewise.
	* include/wchar.h (wcstof): Remove inline definition.
2006-08-31 23:48:56 +00:00
Corinna Vinschen 55283468e6 * grp.cc (initgroups32): Run get_server_groups under original token.
* syscalls.cc (seteuid32): Slightly reorganize code creating a token.
2006-08-31 15:57:56 +00:00
Christopher Faylor c9f1f4b438 * Makefile.in: Make install-license .PHONY. Make sure that doc directory is
created before copying to it.
2006-08-31 00:53:48 +00:00
Corinna Vinschen 7e5d0e9f95 * Makefile.in: Make installation of CYGWIN_LICENSE configurable.
* aclocal.m4: Regenerate.
	* configure.in: Add GCC_NO_EXECUTABLES call. Add configuration for
	INSTALL_LICENSE.  Make cygwin subdirectory optional.  Add sanity
	check for cygwin resp. mingw subdirectories dependent of the target.
	* configure: Regenerate.
2006-08-30 13:05:46 +00:00
Corinna Vinschen 3cdac9e9d4 * Makefile.in: Add with_cross_host to allow more granular checks.
Set installation directories accordingly.  Override CC setting only
	if building a Cygwin target.
	* aclocal.m4: Regenerate.
	* configure.in: Move AC_CANONICAL_SYSTEM check up.  Add
	GCC_NO_EXECUTABLES.  Substitute with_cross_host in depending files.
	Test AC_ALLOCA only if building on a native system.
	* configure: Regenerate.
2006-08-30 13:05:05 +00:00
Corinna Vinschen fc0256b600 * configure.in: Substitute with_cross_host in depending files.
* configure: Regenerate.
	* lib/Makefile.in: Add with_cross_host to allow more granular checks.
	Set installation directories accordingly.
	* lib/ddk/Makefile.in: Ditto.
	* lib/directx/Makefile.in: Ditto.
2006-08-30 13:04:41 +00:00
Christopher Faylor 1cc0c5d6f9 * child_info.h (child_info_spawn::~child_info_spawn): Don't close myself_pinfo
handle when spawning.
2006-08-27 16:46:27 +00:00
Chris Sutcliffe d9baa656ed 2006-08-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/ctype.h: Fix typo.
2006-08-27 12:14:58 +00:00
Joshua Daniel Franklin 1e069c300d * faq-setup.xml (faq.setup.uninstall): Mention Safe Mode
requirement for accessing the Security tab in XP Home.
        * faq-using.xml (faq.using.chmod): Mention FAT32.
2006-08-26 19:11:00 +00:00
Danny Smith 80f52ae1dd * include/ctype.h: Expose iswblank if __cplusplus.
* include/wctype.h: Expose iswblank if __cplusplus.
2006-08-25 09:10:05 +00:00
Corinna Vinschen f1f69c58bf * fhandler_disk_file.cc (fhandler_disk_file::opendir): Fix formatting. 2006-08-20 12:31:07 +00:00
Corinna Vinschen b0662a051b * fhandler_disk_file.cc (DIR_NUM_ENTRIES): Set to 100 to maximize
performance on remote shares.
	(fhandler_disk_file::opendir): Move comment about Samba weirdness into
	fhandler_disk_file::readdir.  Don't disallow
	FileIdBothDirectoryInformation on Samba.
	(fhandler_disk_file::readdir): Workaround Samba problem with
	FileIdBothDirectoryInformation by rereading already read entries
	using FileBothDirectoryInformation.  Change comment about Samba
	weirdness explaining this change.
2006-08-20 12:18:12 +00:00
Christopher Faylor ffa6849093 * fhandler_disk_file.cc (fhandler_disk_file::pread): Properly check for
non-error return from lseek.
2006-08-19 21:44:58 +00:00
Corinna Vinschen 30691bd756 * fhandler_serial.cc (raw_read): Evaluate minchars taking the
vmin_ > ulen case into account.  Simplify evaluating the bytes to read.
	Don't use bytes in Queue value from ClearCommError call in case vtime_
	is > 0.  Reformat GetOverlappedResult call.  Simplify call to ReadFile.
2006-08-17 14:51:48 +00:00
Corinna Vinschen 94dc73adc5 * security.cc (subauth): Initialize user_token to NULL. Add comment. 2006-08-14 11:32:11 +00:00
Corinna Vinschen e39a29e36b * shared.cc (open_shared): Desperately try to get shared memory, only
when DEBUGGING enabled for now.
2006-08-11 15:40:07 +00:00
Danny Smith fc43c1d925 * lib/wtsapi32.def (WTSGetActiveConsoleSessionId). Move from here...
* lib/kernel32.def (WTSGetActiveConsoleSessionId). ...to here.
2006-08-10 21:06:01 +00:00
Christopher Faylor 1767b8d028 * pinfo.cc (_onreturn::~onreturn): Don't attempt to close a NULL handle. 2006-08-10 20:25:54 +00:00
Christopher Faylor 2f98d8bdc7 revert erroneous checkin 2006-08-10 14:16:24 +00:00
Christopher Faylor 44d67b9b31 * winsup.h: Turn on DEBUGGING by default for now. 2006-08-10 14:15:00 +00:00
Corinna Vinschen 887e02e478 * fhandler_disk_file.cc (fhandler_disk_file::lock): Handle
ERROR_NOT_LOCKED returned from UnlockFileEx.
2006-08-10 08:44:43 +00:00
Christopher Faylor eab543a1d6 * overview2.sgml: Remove inaccurate "full support for windows pathnames"
clause.
2006-08-09 16:13:56 +00:00
Corinna Vinschen 6f3105405d * path.h (SYMLINK_EA_NAME): Remove.
(SHORTCUT_HDR_SIZE): Ditto.
2006-08-09 15:33:46 +00:00
Christopher Faylor bbf38a55c6 * autoload.cc (GetHandleInformation): Declare new function.
(SetHandleInformation): Ditto.
* debug.cc (add_handle): Use SetHandleInformation to protect handle.
(close_handle): Use SetHandleInformation to unprotect handle.
* spawn.cc (spawn_guts): Move detached test outside of P_OVERLAY block.
2006-08-09 15:04:32 +00:00
Corinna Vinschen 7636b58590 * autoload.cc (NtSetInformationFile): Define.
* cygwin.din: Export posix_fadvise and posix_fallocate.
	* fhandler.cc (fhandler_base::fadvise): New method.
	(fhandler_base::ftruncate): Add allow_truncate parameter.
	* fhandler.h (class fhandler_base): Add fadvise method.  Accomodate
	new parameter to ftruncate.
	(class fhandler_pipe): Add fadvise and ftruncate methods.
	(class fhandler_disk_file): Add fadvise method.  Accomodate new
	parameter to ftruncate.
	* fhandler_disk_file.cc (fhandler_disk_file::fadvise): New method.
	(fhandler_disk_file::ftruncate): Accomodate new allow_truncate
	parameter.  Set EOF using NtSetInformationFile on NT.
	* ntdll.h (struct _FILE_END_OF_FILE_INFORMATION): Define.
	(NtSetInformationFile): Declare.
	* pipe.cc (fhandler_pipe::fadvise): New method.
	(fhandler_pipe::ftruncate): Ditto.
	* syscalls.cc (posix_fadvise): New function.
	(posix_fallocate): Ditto.
	(ftruncate64): Accomodate second parameter to fhandler's ftruncate
	method.
	* include/fcntl.h: Add POSIX_FADV_* flags.  Add declarations of
	posix_fadvise and posix_fallocate.
	* include/cygwin/version.h: Bump API minor number.
2006-08-07 19:29:14 +00:00
Danny Smith 840d9c1abe * include/ctype.h: Remove stray ')'. 2006-08-03 21:05:05 +00:00
Corinna Vinschen fb43e6237c * path.cc (vconcat): Don't convert backslahes to slashes.
(cygpath): Return native path with all backslashes.
2006-08-03 15:29:30 +00:00
Danny Smith bb1a7afa67 * include/ctype.h (_BLANK): Expand comment.
(isblank): Add prototype and inline definition.
	(iswblank): Add prototype and inline definition.
	* include/wctype.h (iswblank): Add prototype and inline definition.
	* mingwex/isblank.c: New file.
	* mingwex/iswblank.c: New file.
	* mingwex/Makefile.in: Add isblank, iswblank to libmingwex.a
2006-08-03 07:44:30 +00:00
Christopher Faylor 9e4051d4b7 fix typo 2006-08-03 03:59:27 +00:00
Christopher Faylor bee65cb860 * Makefile.in (subauth): Add dependency on mingw. 2006-08-03 03:47:54 +00:00
Christopher Faylor 6f1d48621e * environ.cc (env_win32_to_posix_path_list): Declare.
(conv_envvars): Use env_win32_to_posix_path_list rather than
cygwin_win32_to_posix_path_list.
(posify): Translate back to win32 path if errno is EIDRM.
* environ.h: Update copyright.  Define ENV_CVT.
* path.cc (conv_path_list): If converting for the environment and removed an
element set errno to ENV_CVT.
(env_win32_to_posix_path_list): New function.
2006-08-02 15:11:48 +00:00
Corinna Vinschen 2dba45f4aa * Makefile.in (cygpath.exe): Add rule to link cygpath against ntdll.dll.
* cygpath.cc: Include DDK headers.
	(RtlAllocateUnicodeString): New static inline function.
	(get_device_name): New static function to evaluate DOS path from
	native NT path.
	(get_device_paths): New function to do the same for path lists.
	(doit): Call get_device_paths/get_device_name where appropriate.
2006-08-02 09:48:18 +00:00
Christopher Faylor 8fe03354d9 * cygwinenv.sgml: Document [no]dosfilewarning option. 2006-08-01 18:06:49 +00:00
Christopher Faylor 01bbb24d15 * environ.cc (dos_file_warning): Declare.
(parse_thing): Add "dosfilewarning".  Alphabetize.
* path.cc (normalize_posix_path): Return -1 when MS-DOS path detected.
(warn_msdos): New function.
(path_conv::check): Call if !PC_NOWARN and MS-DOS path detected.
(cygwin_conv_to_win32_path): Set PC_NOWARN when calling path_conv.
(cygwin_conv_to_full_win32_path): Ditto.
* path.h (pathconv_arg::PC_NOWARN): Define.
* shared_info.h (user_info::warned_msdos): New field.
(CURR_USER_MAGIC): Reset.
2006-08-01 18:00:44 +00:00
Corinna Vinschen b23bc8c33c * fhandler_socket.cc (fhandler_socket::recv_internal): Fix a problem
with poll(2) after shutdown(SHUT_RD) has been called on the local side.
	* poll.cc (poll): Use POSIX type nfds_t for second parameter.  Drop
	special socket handling for POLLIN.  Add comment to explain why.
	* include/sys/poll.h: Declare nfds_t.  Use as type for second parameter
	in poll(2) declaration.
2006-07-31 14:27:56 +00:00
Corinna Vinschen 1f7dbb011a * fhandler_socket.cc (fhandler_socket::evaluate_events): Circumvent
potential race condition.
	(fhandler_socket::recv_internal): Fix MSG_PEEK bug on blocking sockets
	and simplify recv loop.
	(fhandler_socket::send_internal): Only lock when changing wsock_events.
2006-07-31 12:55:20 +00:00
Corinna Vinschen a947b6879f * autoload.cc: Drop LoadDLLprime for wsock32 since no wsock32 function
is used anymore.  Drop all unused ws2_32.dll functions.
2006-07-31 08:59:56 +00:00
Corinna Vinschen acc31d1a90 * cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl. 2006-07-31 07:31:56 +00:00
Danny Smith 4838aa88d9 Update more IMAGE relocation type indicators
to PECOFF v8 (May, 2006) specs.

	* include/winnt.h (IMAGE_REL_SH3_ABSOLUTE,
	IMAGE_REL_SH3_DIRECT16, IMAGE_REL_SH3_DIRECT32,
	IMAGE_REL_SH3_DIRECT8, IMAGE_REL_SH3_DIRECT8_WORD,
	IMAGE_REL_SH3_DIRECT8_LONG, IMAGE_REL_SH3_DIRECT4,
	IMAGE_REL_SH3_DIRECT4_WORD, IMAGE_REL_SH3_DIRECT4_LONG,
	IMAGE_REL_SH3_PCREL8_WORD, IMAGE_REL_SH3_PCREL8_LONG,
	IMAGE_REL_SH3_PCREL12_WORD, IMAGE_REL_SH3_STARTOF_SECTION,
	IMAGE_REL_SH3_SIZEOF_SECTION, IMAGE_REL_SH3_SECTION,
	IMAGE_REL_SH3_SECREL, IMAGE_REL_SH3_DIRECT32_NB,
	IMAGE_REL_SH3_GPREL4_LONG, IMAGE_REL_SH3_TOKEN,
	IMAGE_REL_SHM_PCRELPT, IMAGE_REL_SHM_REFLO,
	IMAGE_REL_SHM_REFHALF, IMAGE_REL_SHM_RELLO,
	IMAGE_REL_SHM_RELHALF, IMAGE_REL_SHM_PAIR,
	IMAGE_REL_SHM_NOMODE): Add defines.

	(IMAGE_REL_M32R_ABSOLUTE, IMAGE_REL_M32R_ADDR32,
	IMAGE_REL_M32R_ADDR32NB, IMAGE_REL_M32R_ADDR24,
	IMAGE_REL_M32R_GPREL16, IMAGE_REL_M32R_PCREL24,
	IMAGE_REL_M32R_PCREL16, IMAGE_REL_M32R_PCREL8,
	IMAGE_REL_M32R_REFHALF, IMAGE_REL_M32R_REFHI,
	IMAGE_REL_M32R_REFLO, IMAGE_REL_M32R_PAIR,
	IMAGE_REL_M32R_SECTION, IMAGE_REL_M32R_SECREL,
	IMAGE_REL_M32R_TOKEN): Add defines.

	(IMAGE_REL_MIPS_JMPADDR16): Add define.
2006-07-29 09:25:45 +00:00
Corinna Vinschen 8f713b6b08 * fhandler.h (struct wsa_event): Define here.
(class fhandler_socket): Make wsock_evt private again.
	(fhandler_socket::wsock_event): New read accessor for wsock_evt.
	(fhandler_socket::serial_number): New read accessor to get the
	socket's serial number.
	(fhandler_socket::ready_for_read): Just return true.
	* fhandler_socket.cc (struct wsa_event): Move definition to fhandler.h.
	* select.cc (struct socketinf): Add serial number vector.
	(start_thread_socket): Identify duplicate sockets by their serial
	number, not (wrongly) by their wsock_evt.
2006-07-28 08:50:46 +00:00
Corinna Vinschen bc31293a0d * cygpath.c (get_long_name): Cover the case that GetLongPathName
doesn't return valid information for non-existant files.  Just return
	incoming filename in that case.
2006-07-27 21:07:33 +00:00
Corinna Vinschen fd5879c110 * fhandler_socket.cc: Revert misguided attempt to handle FD_CLOSE error
conditions in evaluate_events.
	(search_wsa_event_slot): Move wrongly placed memset in
	fhandler_socket::init_events here.
	(fhandler_socket::init_events): Initially set FD_WRITE event for
	connectionless sockets.
	* poll.cc (poll): Don't add sockets always to except_fds since select
	is now supposed to do it right.
	* select.cc (set_bits): Set connection state correctly for failed
	af_local_connect on local sockets.  Remove socket special handling
	for except_selected descriptors.
	(peek_socket): Try to set the read/write/exception bits actually
	correctly.
2006-07-27 13:58:54 +00:00
Corinna Vinschen 883861544a * fhandler_socket.cc (fhandler_socket::recvmsg): Remove unused tot
argument.  All callers changed.
	(fhandler_socket::sendmsg): Likewise.
	* net.cc (cygwin_recvmsg): Likewise.
	(cygwin_sendmsg): Likewise, and prevent calling sendmsg whith an
	invalid iovec.
	* fhandler.h (fhandler_socket::recvmsg): Adjust prototype.
	(fhandler_socket::sendmsg): Likewise.
2006-07-27 09:18:28 +00:00
Corinna Vinschen 9869e006f3 * fhandler.h (class fhandler_socket): Remove prot_info_ptr.
(fhandler_socket::fixup_before_fork_exec): Remove.
	(fhandler_socket::fixup_after_exec): Remove.
	(fhandler_socket::need_fixup_before): Remove.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Drop
	initializing prot_info_ptr.  Remove unused code.
	(fhandler_socket::~fhandler_socket): Drop free'ing prot_info_ptr.
	(struct wsa_event): Rename connect_errorcode to errorcode.
	(fhandler_socket::evaluate_events): Handle FD_CLOSE error condition
	as FD_CONNECT error condition, except, never reset an FD_CLOSE error
	condition.  Always set FD_WRITE after successfully recorded FD_CONNECT.
	(fhandler_socket::fixup_before_fork_exec): Remove.
	(fhandler_socket::fixup_after_fork): Revert to using handle duplication.
	(fhandler_socket::fixup_after_exec): Remove.
	(fhandler_socket::dup): Revert to using handle duplication.
	(fhandler_socket::send_internal): Only call wait_for_events in case
	of WSAEWOULDBLOCK condition.
	(fhandler_socket::set_close_on_exec): Call
	fhandler_base::set_close_on_exec.
	* net.cc (fdsock): Just set socket to inheritable on non-NT.  Don't
	call inc_need_fixup_before.
	* select.cc (peek_socket): Don't set except_ready on every FD_CLOSE,
	just on error.
2006-07-27 09:11:38 +00:00
Danny Smith 40f67ea198 Update some IMAGE flags to PECOFF v8 (May, 2006) specs.
* include/winnt.h (IMAGE_FILE_MACHINE_AM33,
	IMAGE_FILE_MACHINE_ARM, IMAGE_FILE_MACHINE_EBC,
	IMAGE_FILE_MACHINE_M32R, IMAGE_FILE_MACHINE_MIPS16,
	IMAGE_FILE_MACHINE_MIPSFPU, IMAGE_FILE_MACHINE_MIPSFPU16,
	IMAGE_FILE_MACHINE_POWERPCFP, IMAGE_FILE_MACHINE_R4000,
	IMAGE_FILE_MACHINE_SH3, IMAGE_FILE_MACHINE_SH3DSP,
	IMAGE_FILE_MACHINE_SH4, IMAGE_FILE_MACHINE_SH5,
	IMAGE_FILE_MACHINE_THUMB, IMAGE_FILE_MACHINE_WCEMIPSV2):
	Add defines.

	(IMAGE_SUBSYSTEM_EFI_APPLICATION,
	IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER,
	IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, IMAGE_SUBSYSTEM_EFI_ROM):
	Add defines.

	(IMAGE_SYM_CLASS_CLR_TOKEN): Add define

	(IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
	IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY,
	IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
	IMAGE_DLLCHARACTERISTICS_NO_ISOLATION, IMAGE_DLLCHARACTERISTICS_NO_SEH,
	IMAGE_DLLCHARACTERISTICS_NO_BIND,
	IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): Add defines.


	(IMAGE_REL_I386_TOKEN, IMAGE_REL_I386_SECREL7): Add defines.

	(IMAGE_REL_AMD64_ABSOLUTE, IMAGE_REL_AMD64_ADDR64,
	IMAGE_REL_AMD64_ADDR32, IMAGE_REL_AMD64_ADDR32NB, IMAGE_REL_AMD64_REL32,
	IMAGE_REL_AMD64_REL32_1, IMAGE_REL_AMD64_REL32_2,
	IMAGE_REL_AMD64_REL32_3, IMAGE_REL_AMD64_REL32_4,
	IMAGE_REL_AMD64_REL32_5, IMAGE_REL_AMD64_SECTION,
	IMAGE_REL_AMD64_SECREL, IMAGE_REL_AMD64_SECREL7, IMAGE_REL_AMD64_TOKEN,
	IMAGE_REL_AMD64_SREL32, IMAGE_REL_AMD64_PAIR, IMAGE_REL_AMD64_SSPAN32):
	Add defines.

	(IMAGE_REL_IA64_ABSOLUTE, IMAGE_REL_IA64_IMM14, IMAGE_REL_IA64_IMM22,
	IMAGE_REL_IA64_IMM64, IMAGE_REL_IA64_DIR32, IMAGE_REL_IA64_DIR64,
	IMAGE_REL_IA64_PCREL21B, IMAGE_REL_IA64_PCREL21M,
	IMAGE_REL_IA64_PCREL21F, IMAGE_REL_IA64_GPREL22, IMAGE_REL_IA64_LTOFF22,
	IMAGE_REL_IA64_SECTION, IMAGE_REL_IA64_SECREL22,
	IMAGE_REL_IA64_SECREL64I, IMAGE_REL_IA64_SECREL32,
	IMAGE_REL_IA64_DIR32NB, IMAGE_REL_IA64_SREL14, IMAGE_REL_IA64_SREL22,
	IMAGE_REL_IA64_SREL32, IMAGE_REL_IA64_UREL32, IMAGE_REL_IA64_PCREL60X,
	IMAGE_REL_IA64_PCREL60B, IMAGE_REL_IA64_PCREL60F,
	IMAGE_REL_IA64_PCREL60I, IMAGE_REL_IA64_PCREL60M,
	IMAGE_REL_IA64_IMMGPREL64, IMAGE_REL_IA64_TOKEN, IMAGE_REL_IA64_GPREL32,
	IMAGE_REL_IA64_ADDEND): Add defines.

	(IMAGE_SCN_GPREL): Add define.
2006-07-27 08:30:33 +00:00
Christopher Faylor 5ecd1ea663 * fhandler.cc (fhandler_base::read): Call get_readahead_into_buffer instead of
duplicating it.
2006-07-27 03:32:51 +00:00
Corinna Vinschen a0bb355ffe * shared.cc (offsets): Define as offsets relative to cygwin_hmodule
instead of addresses.
	(off_addr): New macro.
	(open_shared): Use offsets array accordingly.  Remove unused code.
	* shared_info.h (cygwin_shared_address): Remove.
2006-07-26 21:02:01 +00:00
Corinna Vinschen 5faa48850f * cygheap.h (struct init_cygheap): Remove shared_h and mt_h members.
* fhandler_tape.cc (mt): Define as DLL shared area in
	.cygwin_dll_common instead of as dynamically allocated area.
	Change referencing throughout.
	* mtinfo.h (mt_h): Remove entirely.
	(mt): Remove extern declaration.
	* shared.cc (cygwin_shared_area): New global cygwin_shared
	variable located in .cygwin_dll_common.
	(offsets): Define shared region addresses descending from
	cygwin_shared_address.
	(open_shared): Replace usage of SH_CYGWIN_SHARED by SH_USER_SHARED.
	(memory_init): Set cygwin_shared just by pointing to cygwin_shared_area.
	* shared_info.h (shared_locations): Remove SH_CYGWIN_SHARED and
	SH_MTINFO.
	(cygwin_shared_address): Define as DLL start address.
	* tty.h (tty_min::tty_min): Remove constructor.
2006-07-26 15:59:39 +00:00
Corinna Vinschen 020a7b4711 * include/cygwin/in6.h: Guard in_port_t typedef more restrictive to
avoid compiler warning.
2006-07-25 20:01:38 +00:00
Christopher Faylor 724c4ed146 * security.cc (get_logon_server): Remove nret and use dret for everything to
avoid a g++ warning.
2006-07-25 19:44:17 +00:00
Corinna Vinschen 70e476d27b 2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/version.h: Bump DLL version to 1.7.0.

2006-07-25  Corinna Vinschen  <corinna@vinschen.de>

	* select.h: Remove.
	* fhandler_socket.cc: Don't include select.h.
	* select.cc: Ditto.

2006-07-25  Corinna Vinschen  <corinna@vinschen.de>

	* cygtls.h: Drop socket related includes.
	(struct _local_storage): Remove exitsock and exitsock_sin. Add
	select_sockevt.
	* cygtls.cc: Accomodate above change throughout.
	* fhandler.h (class fhandler_socket): Make wsock_evt public.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
	reordering members.
	(fhandler_socket::evaluate_events): Drop FD_CONNECT event as soon as
	it gets read once.  Never remove FD_WRITE event here.
	(fhandler_socket::wait_for_events): Wait 50 ms instead of INFINITE for
	socket events.
	(fhandler_socket::accept): Fix conditional.  Set wsock_events members
	of accepted socket to useful start values.
	(fhandler_socket::recv_internal): Always drop FD_READ/FD_OOB events from
	wsock_events after the call to WSARecvFrom.
	(fhandler_socket::send_internal): Drop FD_WRITE event from wsock_events
	if the call to WSASendTo fails with WSAEWOULDBLOCK.  Fix return value
	condition.
	* select.cc (struct socketinf): Change to accomodate using socket event
	handling.
	(peek_socket): Use event handling for peeking socket.
	(thread_socket): Ditto.
	(start_thread_socket): Ditto.
	(socket_cleanup): Same here.
	* tlsoffsets.h: Regenerate.

2006-07-20  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.h (class fhandler_socket): Rearrange slightly to keep
	event handling methods and members together.  Drop owner status flag.
	Split wait method.  Rename event handling methods for readability.
	* fhandler_socket.cc (struct wsa_event): Add owner field.
	(LOCK_EVENTS): New macro.
	(UNLOCK_EVENTS): Ditto.
	(fhandler_socket::init_events): rename from prepare.
	(fhandler_socket::evaluate_events): First half of former wait method.
	Do everything but wait.  Allow specifiying whether or not events from
	event_mask should be erased from wsock_events->events.  Simplify
	OOB handling.  Allow sending SIGURG to any process (group).
	(fhandler_socket::wait_for_events): Second half of former wait method.
	Call evaluate_events and wait in a loop if socket is blocking.
	(fhandler_socket::release_events): Rename from release.
	(fhandler_socket::connect): Accomodate above name changes.
	(fhandler_socket::accept): Ditto.
	(fhandler_socket::recv_internal): Ditto.
	(fhandler_socket::send_internal): Ditto.
	(fhandler_socket::close): Ditto.
	(fhandler_socket::fcntl): Always set owner to given input value on
	F_SETOWN.  Handle F_GETOWN.
	* net.cc (fdsock): Accomodate above name changes.

2006-07-20  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::wait): Set Winsock errno to
	WSAEWOULDBLOCK instead of WSAEINPROGRESS.

2006-07-18  Brian Ford  <Brian.Ford@FlightSafety.com>
	    Corinna Vinschen  <corinna@vinschen.de>

	* winsup.h (mmap_region_status): New enum.
	(mmap_is_attached_or_noreserve_page): Adjust prototype and rename
	as below.
	* mmap.cc (mmap_is_attached_or_noreserve_page):  Rename
	mmap_is_attached_or_noreserve.  Add region length parameter.
	Return enum above.
	* exceptions.cc (_cygtls::handle_exceptions): Accomodate above.
	* fhandler.cc (fhandler_base::raw_read): Call above for NOACCESS
	errors and retry on success to allow reads into untouched
	MAP_NORESERVE buffers.

2006-07-18  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din (posix_openpt): Export.
	* tty.cc (posix_openpt): New function.
	* include/cygwin/stdlib.h (posix_openpt): Declare.
	* include/cygwin/version.h: Bump API minor number.

2006-07-14  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (get_token_group_sidlist): Always add the interactive
	group to the token.  Add comment.  Create logon_id group SID by
	copying it from incoming group list.
	(create_token): Add subauth_token parameter.  Use information in
	subauth_token if present.  Tweak SourceIdentifier if subauth_token
	is present for debugging purposes.
	* security.h (create_token): Add subauth_token parameter in declaration.
	* syscalls.cc (seteuid32): Call subauth first.  Call create_token
	regardless.  Use subauth token in call to create_token if subauth
	succeeded.

2006-07-13  Corinna Vinschen  <corinna@vinschen.de>

	* include/netinet/in.h: Update copyright.

2006-07-13  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::wait): Rework function so that
	WaitForMultipleObjects is really only called when necessary.

2006-07-12  Corinna Vinschen  <corinna@vinschen.de>

	* include/netdb.h: Declare rcmd, rcmd_af, rexec, rresvport,
	rresvport_af, iruserok, iruserok_sa, ruserok.

2006-07-12  Corinna Vinschen  <corinna@vinschen.de>

	* Makefile.in (DLL_OFILES): Drop iruserok.o.  Add rcmd.o.
	* autoload.cc (rcmd): Drop definition.
	* cygwin.din: Export bindresvport, bindresvport_sa, iruserok_sa,
	rcmd_af, rresvport_af.
	* net.cc (cygwin_rcmd): Remove.
	(last_used_bindresvport): Rename from last_used_rrecvport.
	(cygwin_bindresvport_sa): New function implementing bindresvport_sa.
	(cygwin_bindresvport): New function implementing bindresvport.
	(cygwin_rresvport): Remove.
	* include/cygwin/version.h: Bump API minor number.
	* include/netinet/in.h: Declare bindresvport and bindresvport_sa.
	* libc/iruserok.c: Remove file.
	* libc/rcmd.cc: New file implementing rcmd, rcmd_af, rresvport,
	rresvport_af, iruserok_sa, iruserok and ruserok.

2006-07-12  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::getsockname): Return valid
	result for unbound sockets.

2006-07-11  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Handle
	wsock_mtx and wsock_evt on fork, thus handling close_on_exec correctly.
	(fhandler_socket::fixup_after_exec): Drop misguided attempt to handle
	close_on_exec here.
	(fhandler_socket::dup): Call fixup_after_fork with NULL parent.
	Add comment.
	(fhandler_socket::set_close_on_exec): Handle wsock_mtx and wsock_evt.

2006-07-10  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.h (class fhandler_socket): Add wsock_mtx, wsock_evt
	and wsock_events members.  Remove closed status flag, add listener
	status flag.  Accomodate new implementation of socket event handling
	methods.  Declare recv* and send* functions ssize_t as the POSIX
	equivalents.
	(fhandler_socket::recv_internal): Declare.
	(fhandler_socket::send_internal): Ditto.
	* fhandler_socket.cc (EVENT_MASK): Define mask of selected events.
	(fhandler_socket::fhandler_socket): Initialize new members.
	(fhandler_socket::af_local_setblocking): Don't actually set the
	socket to blocking mode.  Keep sane event selection.
	(fhandler_socket::af_local_unsetblocking): Don't actually set the
	socket to previous blocking setting, just remember it.
	(struct wsa_event): New structure to keep event data per shared
	socket.
	(NUM_SOCKS): Define number of shared sockets concurrently handled by
	all active Cygwin processes.
	(wsa_events): New shared datastructure keeping all wsa_event records.
	(socket_serial_number): New shared variable to identify shared sockets.
	(wsa_slot_mtx): Global mutex to serialize wsa_events access.
	(search_wsa_event_slot): New static function to select a new wsa_event
	slot for a new socket.
	(fhandler_socket::prepare): Rewrite.  Prepare event selection
	per new socket.
	(fhandler_socket::wait): Rewrite.  Wait for socket events in thread
	safe and multiple process safe.
	(fhandler_socket::release): Rewrite.  Close per-socket descriptor
	mutex handle and event handle.
	(fhandler_socket::dup): Duplicate wsock_mtx and wsock_evt.  Fix
	copy-paste error in debug output.
	(fhandler_socket::connect): Accomodate new event handling.
	(fhandler_socket::listen): Set listener flag on successful listen.
	(fhandler_socket::accept): Accomodate new event handling.
	(fhandler_socket::recv_internal): New inline method centralizing
	common recv code.
	(fhandler_socket::recvfrom): Call recv_internal now.
	(fhandler_socket::recvmsg): Ditto.  Streamline copying from iovec
	to WSABUF.
	(fhandler_socket::send_internal): New inline method centralizing
	common send code.
	(fhandler_socket::sendto): Call send_internal now.
	(fhandler_socket::sendmsg): Ditto.  Streamline copying from iovec
	to WSABUF.
	(fhandler_socket::close): Call release now.
	(fhandler_socket::ioctl): Never actually switch to blocking mode.
	Just keep track of the setting.
	* net.cc (fdsock): Call prepare now.
	(cygwin_connect): Revert again to event driven technique.
	(cygwin_accept): Ditto.
	* poll.cc (poll): Don't call recvfrom on a listening socket.
	Remove special case for failing recvfrom.
	* include/sys/socket.h: Declare recv* and send* functions ssize_t as
	requested by POSIX.

2006-07-07  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (cygwin_inet_ntop): Fix data type of forth parameter.

2006-07-06  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/in6.h (struct in6_addr): Fix typo.

2006-07-06  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din: Export in6addr_any, in6addr_loopback, freeaddrinfo,
	gai_strerror, getaddrinfo, getnameinfo.
	* fhandler_socket.cc: Include cygwin/in6.h.
	(get_inet_addr): Accomodate AF_INET6 usage.
	(fhandler_socket::connect): Ditto.
	(fhandler_socket::listen): Ditto.
	(fhandler_socket::sendto): Ditto.
	* net.cc: Include cygwin/in6.h.
	(in6addr_any): Define.
	(in6addr_loopback): Define.
	(cygwin_socket): Accomodate AF_INET6 usage.
	(socketpair): Bind socketpairs only to loopback for security.
	(inet_pton4): New static function.
	(inet_pton6): Ditto.
	(cygwin_inet_pton): New AF_INET6 aware inet_pton implementation.
	(inet_ntop4): New static function.
	(inet_ntop6): Ditto.
	(cygwin_inet_ntop): New AF_INET6 aware inet_ntop implementation.
	(ga_aistruct): New static function.
	(ga_clone): Ditto.
	(ga_echeck): Ditto.
	(ga_nsearch): Ditto.
	(ga_port): Ditto.
	(ga_serv): Ditto.
	(ga_unix): Ditto.
	(gn_ipv46): Ditto.
	(ipv4_freeaddrinfo): Ditto.
	(ipv4_getaddrinfo): Ditto.
	(ipv4_getnameinfo): Ditto.
	(gai_errmap_t): New structure holding error code - error string mapping.
	(cygwin_gai_strerror): New function implementing gai_strerror.
	(w32_to_gai_err): New static function.
	(get_ipv6_funcs): Ditto.
	(load_ipv6_funcs): Ditto.
	(cygwin_freeaddrinfo): New function implementing freeaddrinfo.
	(cygwin_getaddrinfo): New function implementing getaddrinfo.
	(cygwin_getnameinfo): New function implementing getnameinfo.
	* include/netdb.h: Include stdint.h and cygwin/socket.h.  Define
	data types and macros used by getaddrinfo and friends.  Declare
	freeaddrinfo, gai_strerror, getaddrinfo and getnameinfo.
	* include/cygwin/in.h: Add IPv6 related IPPROTOs. Remove definition
	of struct sockaddr_in6.  Include cygwin/in6.h instead.
	* include/cygwin/in6.h: New header file defining IPv6 releated
	data types and macros.
	* include/cygwin/socket.h: Enable AF_INET6 and PF_INET6.  Add
	IPv6 related socket options.
	* include/cygwin/version.h: Bump API minor number.

2006-07-06  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (DsGetDcNameA): Define.
	(NetGetAnyDCName): Define.
	* security.cc: Include dsgetdc.h.
	(DsGetDcNameA): Declare.
	(DS_FORCE_REDISCOVERY): Define.
	(get_logon_server): Add bool parameter to control rediscovery of DC.
	Use DsGetDcNameA function if supported, NetGetDCName/NetGetAnyDCName
	otherwise.
	(get_server_groups): Rediscover DC if get_user_groups fails and
	try again.
	(get_reg_security): Use correct error code macro when testing
	RegGetKeySecurity return value.
	* security.h (get_logon_server): Remove default vaue from wserver
	parameter.  Add rediscovery parameter.
	* uinfo.cc (cygheap_user::env_logsrv): Accomodate rediscovery parameter
	in call to get_logon_server.
2006-07-25 19:23:23 +00:00
Corinna Vinschen e9d500b6a0 * configure.in: Reenable building the subauth subdir.
* configure: Regenerate.
2006-07-25 19:18:04 +00:00
Corinna Vinschen a6bb7cdd0f * Makefile.in (LIBS): Link against msvcrt.dll, too. 2006-07-25 19:16:54 +00:00
Christopher Faylor 5e765b24a2 update copyright 2006-07-25 17:18:05 +00:00
Danny Smith d2d223b580 * include/aclui.h: Replace __OBJC__ guard with _OBJC_NO_COM.
* include/basetyps.h:  Likewise.
 	(_COM_interface): New define.
	(interface): Define to _COM_interface, conditional on !__OBJC__.
	Replace 'interface' with '_COM_interface', throughout.
  	* include/comcat.h: Replace 'interface' with '_COM_interface', throughout.
	* include/commdlg.h: Replace __OBJC__ guard with _OBJC_NO_COM.
	* include/docobj.h: Replace 'interface' with '_COM_interface', throughout.
	* include/mshtml.h: Likewise.
	* include/oaidl.h: Likewise.
	* include/objfwd.h: Likewise.
	* include/objidl.h: Likewise.
	* include/ocidl.h: Likwise.
	* include/olectl.h: Likewise.
	* include/oleidl.h: Likewise.
	* include/shlobj.h: Likewise.
	* include/shlwapi.h: Replace __OBJC__ guard with _OBJC_NO_COM.
	* include/vfw.h: Likewise.
	* include/windows.h. Likewise. Add comment.
	* include/directx/d3d9.h: Replace 'interface' with '_COM_interface',
	throughout.

	* lib/test.c: Replace __OBJC__ guard with _OBJC_NO_COM.
	Add test for conflict with '@interface'
2006-07-25 00:22:19 +00:00
Christopher Faylor e7a8c11c0f * include/cygwin/version.h: Bump DLL minor version number to 22. 2006-07-24 01:28:29 +00:00
Christopher Faylor d9969dfc91 * Makefile.in: Update copyrigh. Remove unused stuff. 2006-07-23 23:28:49 +00:00
Christopher Faylor 739a6f4749 * Makefile.in: Update copyright. Fix 'check' target so that it will once-again
create a working testsuite directory.  Add a comment this time to explain the
unusual behavior.
(Previous ChangeLog checkin did not include accompanying Makefile.in)
2006-07-23 23:28:06 +00:00
Chris Sutcliffe 1d11c27d85 2006-07-22 ipsoner <ipsoner@users.sourceforge.net>
* include/wincrypt.h (szOID_RSA, szOID_PKCS, szOID_RSA_HASH,
    szOID_RSA_ENCRYPT, szOID_PKCS_1, szOID_PKCS_2, szOID_PKCS_3,
    szOID_PKCS_4, szOID_PKCS_5, szOID_PKCS_6, szOID_PKCS_7,
    szOID_PKCS_8, szOID_PKCS_9, szOID_PKCS_10, szOID_PKCS_12,
    szOID_RSA_MD2, szOID_RSA_MD4, szOID_RSA_MD5, szOID_RSA_RSA,
    szOID_RSA_MD2RSA, szOID_RSA_MD4RSA, szOID_RSA_MD5RSA,
    szOID_RSA_SHA1RSA, szOID_RSA_SETOAEP_RSA, szOID_RSA_DH,
    szOID_RSA_data, szOID_RSA_signedData, szOID_RSA_envelopedData,
    szOID_RSA_signEnvData, szOID_RSA_digestedData, szOID_RSA_hashedData,
    szOID_RSA_encryptedData, szOID_RSA_emailAddr, szOID_RSA_unstructName,
    szOID_RSA_contentType, szOID_RSA_messageDigest, szOID_RSA_signingTime,
    szOID_RSA_counterSign, szOID_RSA_challengePwd, szOID_RSA_unstructAddr,
    szOID_RSA_extCertAttrs, szOID_RSA_SMIMECapabilities,
    szOID_RSA_preferSignedData, szOID_RSA_RC2CBC, szOID_RSA_RC4,
    szOID_RSA_DES_EDE3_CBC, szOID_RSA_RC5_CBCPad, szOID_ANSI_x942,
    szOID_ANSI_x942_DH, szOID_X957, szOID_X957_DSA, szOID_DATA STRUCTURE,
    szOID_DS, szOID_DSALG, szOID_DSALG_CRPT, szOID_DSALG_HASH,
    szOID_DSALG_SIGN, szOID_DSALG_RSA, szOID_OIW, szOID_OIWSEC,
    szOID_OIWSEC_md4RSA, szOID_OIWSEC_md5RSA, szOID_OIWSEC_md4RSA2,
    szOID_OIWSEC_desECB, szOID_OIWSEC_desCBC, szOID_OIWSEC_desOFB,
    szOID_OIWSEC_desCFB, szOID_OIWSEC_desMAC, szOID_OIWSEC_rsaSign,
    szOID_OIWSEC_dsa, szOID_OIWSEC_shaDSA, szOID_OIWSEC_mdc2RSA,
    szOID_OIWSEC_shaRSA, szOID_OIWSEC_dhCommMod, szOID_OIWSEC_desEDE,
    szOID_OIWSEC_sha, szOID_OIWSEC_mdc2, szOID_OIWSEC_dsaComm,
    szOID_OIWSEC_dsaCommSHA, szOID_OIWSEC_rsaXchg, szOID_OIWSEC_keyHashSeal,
    szOID_OIWSEC_md2RSASign, szOID_OIWSEC_md5RSASign, szOID_OIWSEC_sha1,
    szOID_OIWSEC_dsaSHA1, szOID_OIWSEC_dsaCommSHA1, szOID_OIWSEC_sha1RSASign,
    szOID_OIWDIR, szOID_OIWDIR_CRPT, szOID_OIWDIR_HASH, szOID_OIWDIR_SIGN,
    szOID_OIWDIR_md2, szOID_OIWDIR_md2RSA, szOID_INFOSEC,
    szOID_INFOSEC_sdnsSignature, szOID_INFOSEC_mosaicSignature,
    szOID_INFOSEC_sdnsConfidentiality, szOID_INFOSEC_mosaicConfidentiality,
    szOID_INFOSEC_sdnsIntegrity, szOID_INFOSEC_mosaicIntegrity,
    szOID_INFOSEC_sdnsTokenProtection, szOID_INFOSEC_mosaicTokenProtection,
    szOID_INFOSEC_sdnsKeyManagement, szOID_INFOSEC_mosaicKeyManagement,
    szOID_INFOSEC_sdnsKMandSig, szOID_INFOSEC_mosaicKMandSig,
    szOID_INFOSEC_SuiteASignature, szOID_INFOSEC_SuiteAConfidentiality,
    szOID_INFOSEC_SuiteAIntegrity, szOID_INFOSEC_SuiteATokenProtection,
    szOID_INFOSEC_SuiteAKeyManagement, szOID_INFOSEC_SuiteAKMandSig,
    szOID_INFOSEC_mosaicUpdatedSig, szOID_INFOSEC_mosaicKMandUpdSig,
    szOID_INFOSEC_mosaicUpdatedInteg, szOID_PKIX_NO_SIGNATURE,
    szOID_COMMON_NAME, szOID_COUNTRY_NAME, szOID_DEVICE_SERIAL_NUMBER,
    szOID_DOMAIN_COMPONENT, szOID_RSA_emailAddr, szOID_GIVEN_NAME,
    szOID_INITIALS, szOID_LOCALITY_NAME, szOID_ORGANIZATION_NAME,
    szOID_ORGANIZATIONAL_UNIT_NAME, szOID_STATE_OR_PROVINCE_NAME,
    szOID_STREET_ADDRESS, szOID_SUR_NAME, szOID_TITLE, szOID_RSA_unstructAddr,
    szOID_RSA_unstructName, szOID_BASIC_CONSTRAINTS2,
    CERT_BASIC_CONSTRAINTS2_INFO, CRYPT_ENCODE_PARA,CertDuplicateStore,
    CertEnumCertificatesInStore, CertDuplicateCertificateContext,
    CertGetNameStringA, CertGetNameStringW, CertGetNameString, PFXIsPFXBlob,
    CertFindExtension, CryptDecodeObject, CertAddCertificateContextToStore,
    CertCompareCertificate, PFXVerifyPassword, PFXImportCertStore,
    CertDeleteCertificateFromStore): Define.
    * lib/crypt32.def (CertDuplicateStore, CertEnumCertificatesInStore,
    CertDuplicateCertificateContext, CertGetNameStringA, CertGetNameStringW,
    CertGetNameString, PFXIsPFXBlob, CertFindExtension, CryptDecodeObject,
    CertAddCertificateContextToStore, CertCompareCertificate,
    PFXVerifyPassword, PFXImportCertStore, CertDeleteCertificateFromStore):
    Define.
2006-07-22 13:31:18 +00:00
Chris Sutcliffe feef8df7bc 2006-07-20 Elias Naur <elias_naur@users.sourceforge.net>
* include/devguid.h: Add new file with missing GUID_DEVCLASS_*
        declarations. They were extracted from the registry with a script.
        * lib/devguid.c: Add new file with the implementation of the
        missing GUIDs.
        * lib/Makefile.in: Add devguid.c to UUID_SOURCES and UUID_OBJS.
2006-07-22 12:06:11 +00:00
Chris Sutcliffe 813f0dcaae 2006-07-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/uuid.c: Remove.
2006-07-22 11:47:23 +00:00
Danny Smith 723ded2778 2006-07-19 Elias Naur <elias_naur@users.sourceforge.net>
* include/winuser.h (WM_INPUT): Add missing Raw	Input
	notification define.
	(RID_DEVICE_INFO_MOUSE, RID_DEVICE_INFO_KEYBOARD,
	RID_DEVICE_INFO_HID, RID_DEVICE_INFO): Define Raw Input structs.
2006-07-19 21:45:25 +00:00
Danny Smith c39aad7a17 [mingw-Bugs-1525021]
* iptypes.h (IP_ADAPTER_ANYCAST_ADDRESS): Fix NONAMELESSUNION warnings.
	(IP_ADAPTER_MULTICAST_ADDRESS): Likewise.
	(IP_ADAPTER_UNICAST_ADDRESS): Likewise.
	(IP_ADAPTER_DNS_SERVER_ADDRESS): Likewise.
	(IP_ADAPTER_ADAPTER_PREFIX): Likewise.
	(IP_ADAPTER_ADDRESSES): Likewise.
2006-07-19 21:24:42 +00:00
Corinna Vinschen 9d272b3c31 * pinfo.cc (commune_process): Don't add extra \0 to cmdline.
(_pinfo::cmdline): Ditto process internal.
2006-07-19 16:00:28 +00:00
Corinna Vinschen add2f65f37 * mmap.cc (msync): Disable rounding up len. Fix bug in access check
loop.
2006-07-19 08:58:09 +00:00
Corinna Vinschen ef4954b62d * path.cc (symlink_worker): Return EEXIST if newpath exists. 2006-07-19 08:20:26 +00:00
Corinna Vinschen 3438293a0b * pathnames.sgml: Change text for the order in which executables
are evaluated.
2006-07-18 19:41:02 +00:00
Christopher Faylor 8432b8b206 * tty.cc (tty_list::terminate): Don't enter the busy loop if we don't own the
master.
2006-07-18 15:09:11 +00:00
Corinna Vinschen 62e9d4b96f * sec_acl.cc (acltotext32): Add missing handling of default ACL entry
types.
2006-07-18 14:11:38 +00:00
Corinna Vinschen 295912e873 * fhandler_floppy.cc (fhandler_dev_floppy::ioctl): Fix typo in lint
directive.
2006-07-18 12:56:37 +00:00
Christopher Faylor e2213b70dd * Makefile.in: Simplify a little. 2006-07-18 03:24:07 +00:00
Christopher Faylor f62412f235 GCC 4.1 fixes.
* cygheap.h (cygheap_user): Remove unneeded class names from function
declaration.
* fhandler.h (fhandler_base): Ditto.
(fhandler_dev_floppy): Ditto.
(fhandler_console): Ditto.
* wininfo.h (wininfo): Ditto.
* exceptions.cc (sigpacket::process): Avoid compiler errors about gotos and
initialization.
* fhandler_fifo.cc (fhandler_fifo::open): Ditto.
* fhandler_floppy.cc (fhandler_dev_floppy::ioctl): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::ioctl): Ditto.
* mmap.cc (mmap64): Ditto.
* pipe.cc (fhandler_pipe::open): Ditto.
* spawn.cc (spawn_guts): Ditto.
* sec_helper.cc: Fix some comments.
(get_null_sd): Move file-scope static to only function where it is used.
2006-07-17 19:30:30 +00:00
Christopher Faylor fbadc634cb * fork.cc (fork): Lock the process before forking to prevent things like new
fds from being opened, etc.
* sync.h (lock_process::dont_bother): New function.
2006-07-14 22:15:12 +00:00
Christopher Faylor d9ceecd2d2 * include/cygwin/types.h: Update copyright. 2006-07-14 21:45:00 +00:00
Christopher Faylor ebc223f182 * cygwin.sc: Make sure there's something in the cygheap.
* dllfixdbg: Accommodate newer binutils which put the gnu_debuglink at the end
rather than at the beginning.
2006-07-14 19:33:55 +00:00
Christopher Faylor 6b838263ea * sigproc.cc (waitq_head): Don't initialize to zero.
* sigproc.h: Update copyright, fix whitespace.
2006-07-14 00:50:55 +00:00
Christopher Faylor e8bf232949 * fhandler.cc (fhandler_base::raw_read): Only return EISDIR when we're really
trying to read a directory.
* sigproc.cc: Use "Static" where appropriate.
2006-07-13 20:56:24 +00:00
Corinna Vinschen 94fe03664f * fhandler_socket.cc: Update copyright.
* include/pthread.h: Ditto.
2006-07-13 12:59:53 +00:00
Corinna Vinschen 2e19497afc * mmap.cc (mmap64): Drop MAP_NORESERVE flag for non-anonymous,
non-private mappings.
	(mmap_record::unmap_pages): Only check noreserve flag which now implies
	anonymous and private.
	(mprotect): Ditto.
	(fixup_mmaps_after_fork): Ditto.
2006-07-13 10:29:21 +00:00
Corinna Vinschen f6105f89d5 * exceptions.cc (_cygtls::handle_exceptions): Call new
mmap_is_attached_or_noreserve_page function in case of access violation
	and allow application to retry access on noreserve pages.
	* mmap.cc (mmap_is_attached_or_noreserve_page): Changed from
	mmap_is_attached_page.  Handle also noreserve pages now.  Change
	comment accordingly.
	* winsup.h (mmap_is_attached_or_noreserve_page): Declare instead of
	mmap_is_attached_page.
2006-07-13 08:33:34 +00:00
Corinna Vinschen d44b979536 * mmap.cc (mmap_record::alloc_page_map): Don't call VirtualProtect
on maps created with MAP_NORESERVE.
2006-07-12 20:15:00 +00:00
Corinna Vinschen 2633942858 * include/pthread.h: Define PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT and
PTHREAD_PRIO_PROTECT only if _POSIX_THREAD_PRIO_INHERIT is defined.
2006-07-12 09:55:47 +00:00
Corinna Vinschen 2c1394b495 * libc/inet_addr.c: Define __INSIDE_CYGWIN_NET__.
* libc/inet_network.c: Ditto.
2006-07-10 08:15:54 +00:00
Corinna Vinschen e7b77aaecd * fhandler_socket.cc (fhandler_socket::wait): Disable SA_RESTART
handling for now.
2006-07-07 15:44:19 +00:00
Corinna Vinschen 722031140a * Makefile.in (DLL_OFILES): Add inet_addr.o and inet_network.o.
* autoload.cc (inet_addr): Drop definition.
	(inet_ntoa): Ditto.
	* net.cc: Forward declare cygwin_inet_aton and cygwin_inet_ntop.
	(cygwin_inet_ntoa): Call cygwin_inet_ntop instead of Winsock inet_ntoa.
	(cygwin_inet_addr): Remove here.
	(cygwin_inet_aton): Ditto.
	(cygwin_inet_network): Ditto.
	* libc/inet_addr.c: New file implementing cygwin_inet_aton and
	cygwin_inet_addr.
	* libc/inet_network.c: New file implementing cygwin_inet_network.
2006-07-07 09:14:15 +00:00
Christopher Faylor b4054e7706 * hookapi.cc: Add comment header
(putmem): Make static.
(get_export): Ditto.
(rvadelta): Ditto.  Don't assume that a section which ends where the import_rva
begins is the import list.
* child_info.h: Update copyright.
* fork.cc: Ditto.
2006-07-06 17:16:37 +00:00
Danny Smith 26d31dc917 * include/math.h (__INFF,__INFL): Remove '#'. 2006-07-06 07:36:58 +00:00
Christopher Faylor 8307a41117 * sortdin: Ignore all leading underscores when deriving a sort key.
* cygwin.din: Resort.
2006-07-05 16:06:50 +00:00
Christopher Faylor 03ac0afe48 * sortdin: New program.
* cygwin.din: Sort.
2006-07-05 15:59:39 +00:00
Corinna Vinschen a25d71a899 * fhandler.h (fhandler_socket::wait): Reset default timeout to 10ms. 2006-07-05 15:39:08 +00:00
Corinna Vinschen 7bfe2409a0 * path.cc (path_conv::check): Ignore has_ea setting, it's always unset
at this point anyway.
	(get_symlink_ea): Remove.
	(set_symlink_ea): Remove.
	(symlink_worker): Drop writing symlink into NTFS extended attributes.
	(symlink_info::check): Drop reading symlinks from NTFS extended
	attributes.
2006-07-05 08:35:51 +00:00
Christopher Faylor 49bd27c47c * libc/rexec.cc (cygwin_rexec): Obvious (?) fix to correct a gcc warning - set
port to zero first thing in the function.
2006-07-05 00:14:42 +00:00
Christopher Faylor a16597363f * signal.cc (signal): Set sa_mask to sig. 2006-07-04 23:57:43 +00:00
Corinna Vinschen fa48cf5325 * Makefile.in (DLL_OFILES): Add rexec.o.
* autoload.cc (inet_network): Drop definition.
	(rexec): Ditto.
	* net.cc (rexec): Drop extern declaration.
	(inet_network): Ditto.
	(cygwin_inet_network): Implement using inet_addr.
	(cygwin_rexec): Remove.
	* libc/rexec.cc: New file.
2006-07-04 20:24:27 +00:00
Corinna Vinschen c2ab308c81 * fhandler_socket.cc (fhandler_socket::listen): Allow listening on
unbound INET socket.
2006-07-04 20:10:43 +00:00
Corinna Vinschen 6dbfd8f9ba * fhandler.h (fhandler_socket::wait): Set default timeout to INFINITE. 2006-07-04 09:26:49 +00:00
Danny Smith 66e7d55998 * mingwex/Makefile.in: Add -I$(srcdir)/.. to INCLUDES. 2006-07-03 20:51:58 +00:00
Corinna Vinschen 4635b6ebd8 * autoload.cc (NtQueryEaFile): Define.
(NtSetEaFile): Define.
	* fhandler.cc (fhandler_base::open): Use appropriate open flags
	in query case when allow_ntea is set.
	* ntdll.h (struct _FILE_GET_EA_INFORMATION): Define.
	(struct _FILE_FULL_EA_INFORMATION): Define.
	(NtQueryEaFile): Declare.
	(NtSetEaFile): Declare.
	* ntea.cc (read_ea): Rename from NTReadEA and rewrite using
	NtQueryEaFile.
	(write_ea): Rename from NTWriteEA and rewrite using NtSetEaFile.
	* path.cc (get_symlink_ea): Make static.  Add handle parameter to
	accomodate new read_ea call.
	(set_symlink_ea): Make static.  Add handle parameter to accomodate new
	write_ea call.
	(symlink_worker): Call set_symlink_ea while file is still open.
	(symlink_info::check): Call get_symlink_ea after file has been opened.
	* security.cc (get_file_attribute): Accomodate new read_ea call.
	(set_file_attribute): Accomodate new write_ea call.
	* security.h (read_ea): Change declaration accordingly.
	(write_ea): Ditto.
2006-07-03 18:30:08 +00:00
Corinna Vinschen e60e8d3b0e * Makefile.in: Build setmetamode.exe.
* setmetamode.c: New file.
2006-07-03 16:00:58 +00:00
Corinna Vinschen 6258d96af8 * fhandler.h (class dev_console): Add `metabit' indicating the
current meta key mode.
	* fhandler_console.cc (fhandler_console::read): Set the top bit of
	the character if metabit is true.
	* fhandler_console.cc (fhandler_console::ioctl): Implement
	KDGKBMETA and KDSKBMETA commands.
	* fhandler_tty.cc (process_ioctl): Support KDSKBMETA.
	(fhandler_tty_slave::ioctl): Send KDGKBMETA and KDSKBMETA to the
	master.
	* include/cygwin/kd.h: New file for the meta key mode.
	* include/sys/kd.h: New file.
2006-07-03 15:29:10 +00:00
Corinna Vinschen 61aea27d90 * include/stdint.h (UINT8_C, UINT16_C): Unsigned types smaller
than int promote to signed int.
2006-07-03 12:30:04 +00:00
Corinna Vinschen 78db7dff2c * net.cc (cygwin_sendto): Define appropriate parameters using
socklen_t type according to SUSv3.
	(cygwin_recvfrom): Ditto.
	(cygwin_setsockopt): Ditto.
	(cygwin_getsockopt): Ditto.
	(cygwin_connect): Ditto.
	(cygwin_accept): Ditto.
	(cygwin_bind): Ditto.
	(cygwin_getsockname): Ditto.
	(cygwin_getpeername): Ditto.
	(cygwin_recv): Ditto.
	(cygwin_send): Ditto.
	* include/cygwin/socket.h (socklen_t): Typedef and define.
	* include/sys/socket.h: Declare socket functions using socklen_t type.
2006-07-03 11:31:56 +00:00
Danny Smith ebd84cac3c Add a real Changelog entry. 2006-07-03 10:49:42 +00:00
Danny Smith f34428eb35 Support SSE float environment in fenv.h functions.
* cpu_features.c: New file.
	* cpu_features.h: New file.
	* crt1.c: Include "cpu_features.h".
	(__mingw_CRTStartup): Call cpu_features_init().
	* Makefile.in (MING_OBJS): Add cpu_features.c.
	(SRCDIST_FILES): Add cpu_features.c, cpu_features.h.
	* include/fenv,h ( fenv_t;): Append  __mxcsr field.
	(__MXCSR_EXCEPT_FLAG_SHIFT): New define.
	(__MXCSR_EXCEPT_MASK_SHIFT): New define.
	(__MXCSR_ROUND_FLAG_SHIFT): New define.
	* mingwex/feclearexcept.c: Include "cpu_features.h".
	Handle SSE environment.
	* mingwex/fegetenv.c: Likewise.
	* mingwex/feholdexcept.c: Likewise.
	* mingwex/fesetenv.c: Likewise.
	* mingwex/fesetexceptflag.c: Likewise.
	* mingwex/fesetround.c: Likewise.
	* mingwex/fetestexcept.c: Likewise.
	* mingwex/feupdateenv.c: Likewise.
	* mingwex/fegetround.c: Add comment.
2006-07-03 10:32:58 +00:00
Christopher Faylor d42e28b57a * include/cygwin/version.h: Bump DLL minor version number to 21. 2006-07-02 16:22:59 +00:00
Corinna Vinschen e0d8706d8f * net.cc (cygwin_sendto): Allow zero-sized packets.
(cygwin_sendmsg): Ditto.
2006-06-30 11:04:13 +00:00
Corinna Vinschen 8b46f03c8d Revert patches from 2005-10-22 and 2006-06-14 to use event driven
accept and connect back to using select:
	* fhandler.h (class fhandler_socket): Remove accept_mtx.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Drop
	initializing accept_mtx.
	(fhandler_socket::accept): Drop event handling.
	(fhandler_socket.cc (fhandler_socket::connect): Ditto.
	(fhandler_socket::dup): Drop accept_mtx handling.
	(fhandler_socket::listen): Ditto.
	(fhandler_socket::prepare): Ditto.
	(fhandler_socket::release): Ditto.
	(fhandler_socket::close): Ditto.
	* net.cc (cygwin_accept): Revert to calling cygwin_select to
	implement interuptible accept.
	(cygwin_connect): Ditto for connect.
2006-06-26 12:12:11 +00:00
Chris Sutcliffe 50d838a468 2006-06-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Include/_mingw.h: Increment version to 3.10.
        * Makefile.in: Ditto.
2006-06-26 01:41:48 +00:00
Danny Smith 4a7163e8a0 * mingwex/math/tgamma.c (SQTPI): Add braces. 2006-06-26 00:56:40 +00:00
Danny Smith 1dcd64ff55 * mingwex/wcrtomb.c (wcsrtombs): Fix src end-pointer thinko.
* mingwex/math/lgamma.c: (LOGPI) Avoid type punning.
	(LS2PI): Likewise.
        * mingwex/math/sf_erf.c (erff): Initialize z.
        (erfcf): Likewise.
	* mingwex/math/tgamma.c (SQTPI): Avoid type punning.
2006-06-26 00:53:34 +00:00
Danny Smith b4e8ed0098 Changelog formatting 2006-06-25 21:19:46 +00:00
Christopher Faylor 4470d66ddc * fhandler_fifo.cc (fhandler_fifo::open): Release process lock and grab a
system-wide mutex to prevent a deadlock and a race.
* sync.h (lock_process): Make fhandler_fifo a friend.
* smallprint.c (__small_vsprintf): Cosmetic change.
2006-06-23 00:19:39 +00:00
Danny Smith 083f3e4a23 * include/sys/time.h (struct timezone): Define.
* include/time.h (_timezone): Correct comment.
2006-06-22 21:57:44 +00:00
Danny Smith 1cda51cf8a * configure.in (AC_CONFIG_AUX_DIR): Remove.
* configure: Regenerate.
2006-06-18 23:06:56 +00:00
Chris Sutcliffe 8641949d6f 2006-06-18 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
* configure: add srcdir as a possible location for install-sh.
2006-06-18 13:35:01 +00:00
Danny Smith 71bbb04de9 * mingwex/dirent.c (_tGetFileAttributes): New helper function.
(_topendir): Use it.
2006-06-18 08:43:34 +00:00
Danny Smith 5ade5bb0ea * include/sys/time.h: Add header guard. Add extern "C" bracketing
for __cplusplus.
	(gettimeofday): Add prototype.
	* mingwex/gettimeofday.c: New file.
	* mingwex/makefile.in: Add gettimeofday source and object.
2006-06-18 08:16:55 +00:00
Corinna Vinschen 82a044a520 * cygwin.din: Export __srget_r, __swbuf_r.
* include/cygwin/version.h: Bump API minor number to 156.
2006-06-15 17:22:56 +00:00
Corinna Vinschen 1b9cba59c3 * fhandler.h (class fhandler_socket): Add private mutex handle
accept_mtx.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
	accept_mtx to NULL.
	(fhandler_socket::dup): Duplicate accept_mtx, if available.
	(fhandler_socket::listen): Create accept_mtx before trying to listen.
	(fhandler_socket::prepare): Wait for accept_mtx if available to
	serialize accepts on the same socket.
	(fhandler_socket::release): Release accept_mtx.
	(fhandler_socket::close): Close accept_mtx on successful closesocket.
2006-06-14 20:19:10 +00:00
Chris Sutcliffe c2c6952627 2006-06-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/uuid.c (CLSID_FileProtocol, CLSID_FtpProtocol, CLSID_GopherProtocol,
CLSID_HttpProtocol, CLSID_HttpSProtocol, CLSID_MkProtocol,
CLSID_PSUrlMonProxy, CLSID_StdURLMoniker): Remove.  Moved to
extras-uuid.c.
* lib/extras-uuid.c (CLSID_FileProtocol, CLSID_FtpProtocol, CLSID_GopherProtocol,
CLSID_HttpProtocol, CLSID_HttpSProtocol, CLSID_MkProtocol,
CLSID_PSUrlMonProxy, CLSID_StdURLMoniker): Added.
* lib/hlguids-uuid.c: State source of CLSIDs.
2006-06-13 22:44:49 +00:00
Chris Sutcliffe 8e16dba0cc 2006-06-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Added extras-uuid as an object and source.
* lib/uuid.c (IID_IClientSiteHandler, IID_IContinue, IID_IHttpNegotiate,
IID_IPersistMoniker, IID_IServerHandler, IID_ITargetEmbedding,
IID_ITargetFrame, IID_ITypeComp, IID_IUrlHistoryStg, IID_IWinInetHttpInfo,
IID_IWinInetInfo, IID_IEnumSTATPROPSETSTG, IID_IEnumSTATPROPSTG,
IID_IEnumSTATURL): Remove.  Moved to extras-uuid.c.
* lib/extras-uuid.c: New file.
Thank you to Julien Lecomte (julienlecomte at users dot sourceforge dot
net).
2006-06-13 17:32:01 +00:00
Danny Smith a4c5a5dc71 * include/math.h (HUGE_VAL): Define as builtin if __GNUC__ >= 3.3,
else global library variable.
        (HUGEVALF): Likewise;
	(HUGEVALL): Likewise.
	(INFINITY): Likewise.
	(NAN): LiKewise.
2006-06-12 22:22:18 +00:00
Danny Smith a91cc828cc * mingwex/wcrtomb.c (wcrtomb_cp): Correct typo. 2006-06-12 21:48:08 +00:00
Danny Smith d658f6c649 * Makefile.in (SUBDIRS): Change to lowercase for autoconf 2.59. 2006-06-12 21:43:11 +00:00
Christopher Faylor 313b51e6c1 * fhandler_tty.cc (fhandler_pty_master::close): Always close
from_master/to_master since we always have copies of these handles.
2006-06-12 14:56:31 +00:00
Corinna Vinschen 184574d61c * include/sys/wait.h: Move definition of wait constants from here...
* include/cygwin/wait.h: ...to here.  New file.
	* include/cygwin/stdlib.h: Include cygwin/wait.h to conform with SUSv3.
2006-06-12 14:25:05 +00:00
Corinna Vinschen e3f56b2b3d * winsup.api/user_malloc.c: New file. 2006-06-12 13:59:36 +00:00
Corinna Vinschen 730f10974a * heap.cc (heap_init): Only commit if allocsize is not zero. 2006-06-12 13:59:17 +00:00
Corinna Vinschen 8f56da762a * net.cc (fdsock): Disable raising buffer sizes. Add comment to
explain why.
2006-06-12 13:13:52 +00:00
Danny Smith d73228210d [mingw-Bugs-1424461]
*include/imagehlp.h: Comment out IN, OUT and OPTIONAL,
	throughout.
	*include/rpcdce.h: Don't define IN, OUT or OPTIONAL if
	_NO_W32_PSEUDO_MODIFIERS.
	*include/rpcnsi.h: Comment out IN, OUT and OPTIONAL,
	throughout.
	*include/rpcnsip.h: Likewise.
	*include/windef.h: Don't define IN, OUT or OPTIONAL
	if _NO_W32_PSEUDO_MODIFIERS.
	*include/ddk/batclass.h: Comment out IN, OUT and OPTIONAL,
	throughout.
	*include/ddk/cfgmgr32.h: Likewise.
	*include/ddk/ddkmapi.h: Likewise.
	*include/ddk/hidclass.h: Likewise.
	*include/ddk/hidpi.h: Likewise.
	*include/ddk/kbdmou.h: Likewise.
	*include/ddk/mcd.h: Likewise.
	*include/ddk/miniport.h: Likewise.
	*include/ddk/minitape.h: Likewise.
	*include/ddk/ndis.h: Likewise.
	*include/ddk/ndistapi.h: Likewise.
	*include/ddk/ndiswan.h: Likewise.
	*include/ddk/ntapi.h: Likewise.
	*include/ddk/ntdd8042.h: Likewise.
	*include/ddk/ntddpcm.h: Likewise.
	*include/ddk/ntifs.h: Likewise.
	*include/ddk/ntpoapi.h: Likewise.
	*include/ddk/parallel.h: Likewise.
	*include/ddk/pfhook.h: Likewise.
	*include/ddk/scsiwmi.h: Likewise.
	*include/ddk/smbus.h: Likewise.
	*include/ddk/srb.h: Likewise.
	*include/ddk/storport.h: Likewise.
	*include/ddk/tdikrnl.h: Likewise.
	*include/ddk/upssvc.h: Likewise.
	*include/ddk/usbcamdi.h: Likewise.
	*include/ddk/usbscan.h: Likewise.
	*include/ddk/video.h: Likewise.
	*include/ddk/videoagp.h: Likewise.
	*include/ddk/win2k.h: Likewise.
	*include/ddk/winddi.h: Likewise.
	*include/ddk/winddk.h: Don't define IN, OUT or OPTIONAL
	if _NO_W32_PSEUDO_MODIFIERS.
	Comment out IN, OUT and OPTIONAL, throughout.
	*include/ddk/winnt4.h: Comment out IN, OUT and OPTIONAL,
	throughout.
	*include/ddk/ws2san.h: Likewise.
2006-06-12 00:55:06 +00:00
Chris Sutcliffe 0a253b906e 2006-06-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in:  Added hlguids-uuid as source and object.
2006-06-10 20:48:15 +00:00
Chris Sutcliffe 12e576d9a0 2006-06-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/uuid.c (CLSID_StaticDib, CLSID_StaticMetafile, CLSID_StdHlink,
        CLSID_StdHlinkBrowseContext): Remove.  Moved to relevant files.
        * lib/cguid-uuid.c (CLSID_StaticDib, CLSID_StaticMetafile): Added.
        * lib/hlguids-uuid.c: New file.
        Thank you to Julien Lecomte (julienlecomte at users dot sourceforge dot
        net).
2006-06-10 15:28:04 +00:00
Chris Sutcliffe ca107fd231 2006-06-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Added urlmon-uuid and hlink-uuid as sources and
        objects.
        * lib/uuid.c (IID_IAuthenticate, IID_IBindHost, IID_IBindProtocol,
        IID_IBindStatusCallback, IID_IBindStatusCallbackMsg, IID_IBinding,
        IID_IHlink, IID_IHlinkBrowseContext, IID_IHlinkFrame, IID_IHlinkSite,
        IID_IHlinkTarget): Remove.  Moved to new files.
        * lib/urlmon-uuid.c: New file.
        * lib/hlink-uuid.c: New file.
2006-06-10 12:31:17 +00:00
Chris Sutcliffe afc7f32e1b 2006-06-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Added ativscp-uuid as source and object.
        * lib/uuid.c (IID_IActiveScript, IID_IActiveScriptError,
        IID_IActiveScriptParse, IID_IActiveScriptSite,
        IID_IActiveScriptSiteWindow): Remove.  Moved to ativscp-uuid.c.
        * lib/ativscp-uuid.c: New file.
2006-06-10 11:45:41 +00:00
Chris Sutcliffe 8beb2fc95a 2006-06-09 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/uuid.c (IID_IClientSecurity, IID_IMallocSpy, IID_IServerSecurity):
        Remove.  Moved to objidl-uuid.c
        * lib/objidl-uuid.c (IID_IClientSecurity, IID_IMallocSpy,
        IID_IServerSecurity): Defined.
2006-06-10 01:45:58 +00:00
Chris Sutcliffe 7e51659290 2006-06-09 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Add cguid-uuid and olectlid-uuid as sources and
        objects.
        * lib/uuid.c (CLSID_CColorPropPage, CLSID_CFontPropPage,
        CLSID_CPicturePropPage, CLSID_Picture_Dib, CLSID_Picture_Metafile,
        CLSID_StdFont, CLSID_StdPicture, GUID_NULL, IID_ICreateTypeInfo,
        IID_ICreateTypeInfo2, IID_ICreateTypeLib, IID_ICreateTypeLib2, IID_IDebug,
        IID_IDebugStream, IID_IDispatch, IID_IEnumFORMATETC,IID_IEnumMoniker,
        IID_IEnumOLEVERB, IID_IEnumSTATDATA, IID_IEnumSTATSTG, IID_IEnumString,
        IID_IEnumUnknown, IID_IEnumVARIANT, IID_IOleLink, IID_IPSFactory,
        IID_IRpcChannel, IID_IRpcProxy, IID_IRpcStub, IID_ITypeInfo,
        IID_ITypeInfo2, IID_ITypeLib, IID_ITypeLib2): Remove.  Moved to relevant
        files.
        * lib/oaidl-uuid.c (IID_ICreateTypeInfo, IID_ICreateTypeInfo2,
        IID_ICreateTypeLib, IID_ICreateTypeLib2, IID_ITypeInfo, IID_ITypeInfo2,
        IID_ITypeLib, IID_ITypeLib2, IID_IEnumVARIANT): Define.
        * lib/cguid-uuid.c: New file.
        * lib/olectlid-uuid.c: New file.
2006-06-09 23:53:06 +00:00
Chris Sutcliffe 31660e227c 2006-06-08 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Add objsafe-uuid oaidl-uuid docobj-uuid comcat-uuid
        exdisp-uuid mlang-uuid objidl-uuid as sources and objects.
        * lib/uuid.c (CATID_Control, CATID_DocObject, CATID_Insertable,
        CATID_PersistsToPropertyBag, CATID_PersistsToStorage, CATID_PersistsToStream,
        CATID_PersistsToStreamInit, CATID_Printable, CATID_Programmable,
        CLSID_CMultiLanguage, CLSID_StdComponentCategoriesMgr, CLSID_WebBrowser,
        DIID_DWebBrowserEvents, DIID_DWebBrowserEvents2, IID_IAdviseSink,
        IID_IAdviseSink2, IID_IBindCtx, IID_ICatInformation, IID_ICatRegister,
        IID_IClassActivator, IID_IContinueCallback, IID_ICreateErrorInfo,
        IID_IDataAdviseHolder, IID_IDataObject, IID_IEnumCATEGORYINFO,
        IID_IEnumGUID, IID_IEnumOleDocumentViews, IID_IErrorInfo,
        IID_IExternalConnection, IID_IFillLockBytes, IID_ILockBytes, IID_IMalloc,
        IID_IMarshal, IID_IMessageFilter, IID_IMoniker, IID_IObjectSafety,
        IID_IOleCommandTarget, IID_IOleDocument, IID_IOleDocumentSite,
        IID_IOleDocumentView, IID_IPSFactoryBuffer, IID_IPersist,
        IID_IPersistFile, IID_IPersistStorage, IID_IPersistStream, IID_IPrint,
        IID_IProgressNotify, IID_IPropertySetStorage, IID_IPropertyStorage,
        IID_IROTData, IID_IRootStorage, IID_IRpcChannelBuffer,
        IID_IRpcProxyBuffer, IID_IRpcStubBuffer, IID_IRunnableObject,
        IID_IRunningObjectTable, IID_ISequentialStream, IID_IStdMarshalInfo,
        IID_IStorage, IID_IStream, IID_ISupportErrorInfo, IID_IWebBrowser,
        IID_IWebBrowser2, IID_IWebBrowserApp): Remove. Moved to new files.
        * lib/comcat-uuid.c: New file.
        * lib/docobj-uuid.c: New File.
        * lib/exdisp-uuid.c: New file.
        * lib/mlang-uuid.c: New file.
        * lib/oaidl-uuid.c: New file.
        * lib/objidl-uuid.c: New file.
        * lib/objsafe-uuid.c: New file.
2006-06-08 21:16:20 +00:00
Chris Sutcliffe cfc2f9e377 Missed uuid.c on last commit 2006-06-07 17:10:50 +00:00
Chris Sutcliffe 5fdcdd0023 2006-06-07 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Add oleacc-uuid oleidl-uuid ocidl-uuid as sources and
        objects.
        * lib/uuid.c (IID_IOleCache, IID_IOleCache2, IID_IOleCacheControl, IID_IViewObject,
        IID_IViewObject2, IID_IDropSource, IID_IDropTarget, IID_IOleAdviseHolder,
        IID_IOleInPlaceUIWindow, IID_IOleInPlaceObject, IID_IOleInPlaceActiveObject,
        IID_IOleInPlaceFrame, IID_IOleInPlaceSite, IID_IOleContainer, IID_IOleItemContainer,
        IID_IOleClientSite, IID_IOleObject, IID_IOleWindow, IID_IParseDisplayName,
        IID_IAccessible, LIBID_Accessibility, IID_IQuickActivate, IID_IOleUndoManager,
        IID_IOleParentUndoUnit, IID_IOleUndoUnit, IID_IEnumOleUndoUnits, IID_IPointerInactive,
        IID_IAdviseSinkEx, IID_IOleInPlaceSiteEx, IID_IOleControl, IID_IOleControlSite,
        IID_IPersistPropertyBag, IID_IPersistPropertyBag2, IID_IPersistStreamInit,
        IID_IPersistMemory, IID_IPropertyBag, IID_IPropertyBag2, IID_IPropertyNotifySink,
        IID_IPropertyPage, IID_IPropertyPage2, IID_IPropertyPageSite, IID_IFont, IID_IFontDisp,
        IID_IPicture, IID_IPictureDisp, IID_IProvideClassInfo, IID_IProvideClassInfo2,
        IID_IEnumConnectionPoints, IID_IEnumConnections, IID_IConnectionPoint,
        IID_IConnectionPointContainer, IID_IClassFactory2, IID_IErrorLog,
        IID_IObjectWithSite, IID_IPerPropertyBrowsing, IID_ISimpleFrameSite,
        IID_ISpecifyPropertyPages): Remove. Moved to new files.
        * lib/oleidl-uuid.c: New file.
        * lib/oleacc-uuid.c: New file.
        * lib/ocidl-uuid.c: New file.
2006-06-07 17:09:44 +00:00
Keith Marshall f805ef4929 ChangeLog amendment for entries dated 2006-04-18 by Thorsten Dahlheimer 2006-06-04 21:42:56 +00:00
Christopher Faylor c0ac34fda0 * ioctl.cc (ioctl): Accommodate change in reported pty master device number.
* select.cc (peek_pipe): Ditto.
2006-06-04 20:32:58 +00:00
Chris Sutcliffe e73b03adcc 2006-06-04 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/Makefile.in: Add unknwn-uuid and servprov-uuid as sources and
        objects.
        * lib/uuid.c (IID_IUnknown, IID_IClassFactory, IID_IServiceProvider):
        Remove.  Moved to unknwn-uuid and servprov-uuid.
        * lib/unknwn-uuid.c: New file.
        * lib/servprov-uuid.c: New file.
2006-06-04 15:37:31 +00:00
Christopher Faylor d97183b48e * cygtls.h (CYGTLS_PADSIZE): Reset to a size that XP SP1 seems to like.
* tlsoffsets.h: Regenerate.
2006-06-04 05:12:38 +00:00
Christopher Faylor 0c58e0b303 fix wording 2006-06-03 22:13:28 +00:00
Christopher Faylor c76ca04746 * cygthread.cc (cygthread::terminate_thread): In debugging output, use name of
thread being terminated rather than thread doing terminating.
* fhandler.h (fhandler_pty_master::slave): Delete.
(fhandler_pty_master::get_unit): Ditto.
(fhandler_pty_master::setup): Change argument declaration to accommodate new
usage.
* fhandler_tty.cc (fhandler_tty_master::init): Remove obsolete slave
assignment.  Pass argument to setup indicating that this is a tty.
(fhandler_tty_slave::open): Use dev() method rather than referencing pc.dev
directly.
(fhandler_pty_master::open): Don't create archetype based on ptym device
number.  Set device number to use DEV_TTYM_MAJOR and tty number.  Pass argument
to setup indicating that this is a pty.
(fhandler_pty_master::setup): Change single argument to a flag indicating
whether we're creating a pty and use appropriately.  Calculate 't' variable
here rather than in caller.
* fhandler_dsp.cc (fhandler_dev_dsp::open): Use dev() method rather than
referencing pc.dev directly.
2006-06-03 21:44:01 +00:00
Christopher Faylor 71d59a926f * dcrt0.cc (dll_crt0_0): Call tty_list::init_session here.
(dll_crt0_1): Reflect renaming from tty_init to tty::init_session.
(do_exit): Reflect moving of tty_terminate into tty_list.
* exceptions.cc (events_init): Move tty_mutex stuff elsewhere.
* fhandler_console.cc (set_console_title): Use lock_ttys class.
* fhandler_termios.cc (fhandler_termios::bg_check): Make debug output more
accurate.
* fhandler_tty.cc (fhandler_tty_slave::open): Reflect move of attach_tty into
tty_list class.  Don't attempt to grab master end of pty if master doesn't
exist.
(fhandler_pty_master::open): Reflect move of allocate_tty into tty_list class.
Use lock_ttys::release to release mutex.  Improve debugging output.
(fhandler_pty_master::setup): Remove if 0'ed block.  Fix argument to
SetNamedPipeHandleState.
* pinfo.cc (_pinfo::set_ctty): Lock ttys before setting sid/pgid.  Improve
debugging.  Add temporary debugging.
* tty.cc (tty_list::init_session): New function.
(tty::init_session): Rename from tty_init.  Reflect move of attach_tty to
tty_list class.
(tty::create_master): Rename from create_tty_master.
(tty_list::attach): Rename from attach_tty.  Reflect renaming of connect_tty to
connect.  Ditto for allocate_tty.
(tty_terminate): Delete.
(tty_list::terminate): Subsume tty_terminate.  Use lock_ttys rather than
manipulating mutex directly.
(tty_list::allocate): Rename from allocate_tty.  Use lock_ttys rather than
manipulating mutex directly.  Don't set sid here since linux apparently doesn't
do this.  Reflect move of create_tty_master into tty.
(lock_ttys::lock_ttys): Define new constructor.
(lock_ttys::release): New function.
* tty.h (tty::exists): Return false immediately if !master_pid.
(tty::set_master_closed): Define new function.
(tty::create_master): Ditto.
(tty::init_session): Ditto.
(tty_list::mutex): New field.
(tty_list::allocate): Define new function.
(tty_list::connect): Ditto.
(tty_list::attach): Ditto.
(tty_list::init_session): Ditto.
(lock_ttys): New class.
(tty_init): Delete declaration.
(tty_terminate): Ditto.
(attach_tty): Ditto.
(create_tty_master): Ditto.
2006-06-03 20:32:07 +00:00
Chris Sutcliffe a615ed8023 Expand ChangeLog entry 2006-06-03 19:32:21 +00:00
Christopher Faylor bc78e8bc6a * Makefile.in (libdl.a): New library. 2006-06-03 15:48:30 +00:00
Danny Smith 14de7c29ed * include/strmif.h (VMRDeinterlaceTech): Correct typedef for DeinterlaceTech_*
enum.
2006-06-03 10:37:39 +00:00
Danny Smith 9cb94923ec * include/strmif.h (enum tagAnalogVideoStandard): Add missing ','. 2006-06-03 10:08:07 +00:00
Danny Smith 5f0b157874 2006-06-02 Danny Smith <dannysmith@users.sourceforge.net>
* include/winuser.h (DM_BITSPERPEL, DM_PELSWIDTH, DM_PELSHEIGHT,
	DM_DISPLAYFLAGS, DM_DISPLAYFREQUENCY): Remove.  Duplicates of
	wingdi.h defines.

2006-06-02  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>

	* include/winuser.h ((SPI_GETMOUSETRAILS,SPI_SETMOUSETRAILS): Remove
	duplicate defines.

	* include/winnt.h (SUBLANG_ARABIC_SAUDI_ARABIA): Revert accidental removal.
         (SUBLANG_MARATHI_INDIA): Remove duplicate define.
2006-06-03 07:42:52 +00:00
Christopher Faylor daff15870e * fhandler_tty.cc (fhandler_pty_master::close): Don't close handles if we don't
own them.
(fhandler_pty_master::setup): Make sure that original handle is closed when
changing inheritance.
(fhandler_pty_master::fixup_after_fork): Set from_master/to_master to arch
value always.
(fhandler_pty_master::fixup_after_exec): Clear from_master/to_master when
close_on_exec.
2006-06-03 07:17:53 +00:00
Christopher Faylor 578e142a2b * cygheap.cc (init_cygheap::close_ctty): Remove obsolete code.
* dcrt0.cc (child_info_spawn::handle_spawn): Signal ready after we've run
fixup_after_exec.
* dtable.cc (dtable::fixup_after_exec): Add debugging output.
* fhandler_tty.cc (fhandler_pty_master::doecho): Use class version of
to_master.
(fhandler_tty_common::close): Remove obsolete code.
(fhandler_tty_slave::fixup_after_exec): Don't close, since this is done in
dtable's fixup_after_exec.  (revisit later?)
(fhandler_pty_master::fixup_after_exec): Ditto.
2006-06-03 06:35:10 +00:00
Christopher Faylor 6210ee96ec (check in missing ChangeLog lines)
* tlsoffsets.h: Regenerate.
* dcrt0.cc (break_here): Define unconditionally for use elsewhere.  Call
DebugBreak, if appropriate.
(initial_env): Rely on break_here() to call DebugBreak.
* exceptions.cc (try_to_debug): Ditto.
2006-06-03 03:01:28 +00:00
Christopher Faylor 35016286da * cygtls.h (CYGTLS_PADSIZE): Bump up or suffer a regrettable collision with the
call chain.
2006-06-03 02:58:59 +00:00
Christopher Faylor 3378bdfc0a * fhandler.cc (fhandler_base::fixup_after_exec): Declare here.
* fhandler.h (fhandler_base::fixup_after_exec): Make non-inline.
(fhandler_termios::fixup_after_fork): Delete declaration.
(fhandler_termios::fixup_after_exec): Ditto.
(fhandler_tty_common::inuse): Remove.
(fhandler_tty_common::dup): Delete declaration.
(fhandler_tty_common::fixup_after_fork): Ditto.
(fhandler_tty_slave::fixup_after_exec): Declare new function.
(fhandler_pty_master::dwProcessId): New variable.
(fhandler_pty_master::from_master): Ditto.
(fhandler_pty_master::to_master): Ditto.
(fhandler_pty_master::setup): New function.
(fhandler_pty_master::fixup_after_fork): Ditto.
(fhandler_pty_master::fixup_after_exec): Ditto.
* fhandler_termios.cc (fhandler_termios::fixup_after_exec): Delete definition.
(fhandler_termios::fixup_after_fork): Ditto.
* fhandler_tty.cc (fhandler_tty_master::init): Use fhandler_pty_master setup
function rather than obsolete tty::common_init.  Delete obsolete inuse setting.
(fhandler_tty_slave::fhandler_tty_slave): Set inuse to NULL here.
(fhandler_tty_slave::open): Change debugging output for clarity.  Check for
different things when doing a sanity check on the tty.  Reflect the fact that
master_pid now is the cygwin pid rather than the windows pid.  Use "arch"
rather than "archetype" for consistency.
(fhandler_tty_slave::close): Close inuse here.
(fhandler_tty_slave::dup): Remove old if 0'ed code.
(fhandler_pty_master::dup): New function.  Handles pty master archetype.
(fhandler_pty_master::fhandler_pty_master): Zero pty_master specific fields.
(fhandler_pty_master::open): Implement using archetypes, similar to slave.  Use
fhandler_pty_master setup function rather than obsolete tty::common_init.
Don't set inuse.
(fhandler_tty_common::close): Don't deal with inuse.  Delete old if 0'ed code.
(fhandler_pty_master::close): Implement using archetypes.  Close from_master
and to_master.
(fhandler_tty_common::set_close_on_exec): Just set close_on_exec flag here
since everything uses archetypes now.
(fhandler_tty_common::fixup_after_fork): Delete definition.
(fhandler_tty_slave::fixup_after_exec): Define new function.
(fhandler_pty_master::setup): New function, derived from tty::common_init.
(fhandler_pty_master::fixup_after_fork): New function.
(shared_info.h): Reset SHARED_INFO_CB to reflect new tty size.
* tty.cc (tty_list::terminate): Close individual handles from tty_master.
(tty::master_alive): Delete.
(tty::make_pipes): Ditto.
(tty::common_init): Ditto.
* tty.h (tty::from_slave): Delete.
(tty::to_slave): Ditto.
(tty::common_init): Delete declaration.
(tty::make_pipes): Ditto.
(tty::master_pid): Define as pid_t since it is now a cygwin pid.
2006-06-02 15:41:34 +00:00
Joshua Daniel Franklin 5d897c0f5c Add faq.setup.automated 2006-06-02 04:36:48 +00:00
Joshua Daniel Franklin 3d4beb5344 Replace references to depracated Win32_Winsock macro with __USE_W32_WINSOCK 2006-06-02 04:35:26 +00:00
Christopher Faylor 2346864a45 * cygheap.cc (cygheap_fixup_in_child): Don't close parent handle here. Let the
caller do that.
* dcrt0.cc (child_info_spawn::handle_spawn): Close parent handle here to allow
fixup_after_exec functions to use it.
* cygtls.cc (_cygtls::call2): Avoid calling exit thread if called with
*crt0_1 functions.
* cygtls.h (_cygtls::isinitialized): Check that we actually have a tls before
seeing if it is initialized.
* gendef (_sigfe_maybe): Ditto.
* dcrt0.cc (dll_crt0_1): Remove static, use just one argument.
* dll_init.cc (dllcrt0_info): New structure.
(dll_dllcrt0): Change into a front-end to renamed dll_dllcrt0_1 so that we'll
always be assured of having something like a tls.
(dll_dllcrt0_1): New function, basically renamed from from dll_dllcrt0.
Unconditionally call _my_tls.init_exception_handler now that we are assured of
having a tls.  Change variable name from "linking" to "linked".
* winsup.h (dll_crt0_1): Declare.
(dll_dllcrt0_1): Ditto.
2006-06-02 00:09:50 +00:00
Danny Smith 6e0acd84f7 Expand wildcards in Dimitri Papadopoulos Changelog entries of:
2006-05-11, 2006-05-10, 2006-05-04, 2006-04-28, 2006-04-11,
2006-04-14, 2006-04-07.
2006-05-31 06:44:59 +00:00
Christopher Faylor a2b6c06546 * cygtls.cc (_cygtls::call2): Don't call ExitThread on the main thread. 2006-05-31 02:14:17 +00:00
Christopher Faylor 08a968173b * winsup.api/cygload.h: Increase padding to 32768. 2006-05-31 01:49:02 +00:00
Christopher Faylor 56057f0394 * winf.h (MAXCYGWINCMDLEN): Set down size to 30000 or suffer fork errors. 2006-05-29 15:51:18 +00:00
Christopher Faylor eb285e115c * sigproc.cc (child_info::proc_retry): Mask all of the bits we're interested
in, which includes bits above and below 0xc0000000.
2006-05-29 00:21:58 +00:00
Christopher Faylor 67ffc3c415 Put an underscore in front of the "active" in "strace.active". 2006-05-28 21:39:37 +00:00
Christopher Faylor 34f5d0879c white space 2006-05-28 15:50:14 +00:00
Christopher Faylor 29d1e62ed2 * dll_init.cc (dll_dllcrt0): Previous change didn't work very well with fork.
Semi-revert it but change name of variable to something that makes better
sense.
2006-05-27 22:55:58 +00:00
Christopher Faylor 17fed6fefc * thread.cc (verifyable_object_isvalid): Check for NULL specifically. 2006-05-27 19:00:36 +00:00
Christopher Faylor 939f16acf2 add missing comment 2006-05-27 18:53:36 +00:00
Christopher Faylor 344be4a719 * dll_init.cc (dll_dllcrt0): Call _my_tls.init_exception_handler if we've
finished initializing (Thanks to Gary Zablackis for noticing this problem).
Just use cygwin_finished_initializing rather than defining a separate variable.
2006-05-27 18:50:04 +00:00
Danny Smith 6b9a380455 Expand 2006-05-03 Dimitri Papadopoulos wildcards in Changelog 2006-05-25 09:19:26 +00:00
Danny Smith 1d37045968 Expand 2006-05-02 Dimitri Papadopoulos wildcards in Changelog 2006-05-25 09:04:55 +00:00
Christopher Faylor 3cd94e0c0a * debug.h (ModifyHandle): Define new macro.
(modify_handle): Declare new function.
* debug.cc (modify_handle): Define new function.
* fhandler.h (fhandler_base::fork_fixup): Change return value from void to
bool.
* fhandler.cc (fhandler_base::fork_fixup): Return true if fork fixup has been
done.
* pipe.cc (fhandler_pipe::set_close_on_exec): Set inheritance of protected
handle via ModifyHandle if DEBUGGING.
(fhandler_pipe::fixup_after_fork): Protect guard handle if fork fixup has been
done.
2006-05-25 05:40:51 +00:00
Christopher Faylor 38229bcdcf * cygtls.cc (_cygtls::call): Call call2 using _my_tls.
(_cygtls::init_exception_handler): Always replace existing exception handler
with cygwin exception handler.
* cygtls.h (_cygtls::call2): Remove static designation.
* dcrto.cc (dll_crt0_1): Define in a way that allows calling via _cygtls::call.
(_initialize_main_tls): Delete.
(_dll_crt0): Call dll_crt0_1 via cygtls::call.  Set _main_tls here.
* external.cc (cygwin_internal): Implement CW_CYGTLS_PADSIZE.
* include/sys/cygwin.h (CW_CYGTLS_PADSIZE): Define.
* tlsoffsets.h: Regenerate.
2006-05-25 02:33:13 +00:00
Christopher Faylor 99fc5e10f3 update to newer autoconf 2006-05-24 16:59:03 +00:00
Christopher Faylor 6265ac10be * strace.cc (proc_child): Propagate return code from child process.
(dostrace): Ditto.
(main): Ditto.
2006-05-24 16:50:50 +00:00
Christopher Faylor 8b08133112 * fhandler.cc (readv): Remove nonsensical assert. 2006-05-24 03:43:54 +00:00
Christopher Faylor 12a7d844b9 * select.cc (start_thread_socket): Delay setting thread local exitsock until we
know it's correct.  Return correct value on error.
2006-05-24 03:39:29 +00:00
Christopher Faylor 9905786a04 * select.cc (start_thread_socket): Clean up exitsock in case of error. Use
si->exitcode consistently.
2006-05-24 00:56:24 +00:00
Christopher Faylor 6813f009ba * child_info.h (_CI_SAW_CTRL_C): New enum.
(CURR_CHILD_INFO_MAGIC): Reset.
(saw_ctrl_c): New function.
(set_saw_ctrl_c): Ditto.
* sigproc.cc (child_info::proc_retry): Return EXITCODE_OK if we get
STATUS_CONTROL_C_EXIT and we actually saw a CTRL-C.
* spawn.cc (dwExeced): Delete.
(chExeced): New variable.
(spawn_guts): Set chExeced;
* exceptions.cc (dwExeced): Delete declaration.
(chExeced): Declare.
(ctrl_c_handler): Detect if we're an exec stub process and set a flag, if so.
* fhandler_tty.cc (fhandler_tty_common::__release_output_mutex): Add extra
DEBUGGING test.
* pinfo.cc: Fix comment.
2006-05-22 04:50:54 +00:00
Christopher Faylor 8ae1d98d8e * fhandle.h (fhandler_pipe::create_guard): Revert change which eliminated
SECURITY_ATTRIBUTES argument.
* pipe.cc (fhandler_pipe::open): Duplicate guard from other process and protect
it appropriately.  Eliminate unneeded writepipe_exists temporary variable.  Set
inheritance appropriately.
(fhandler_pipe::set_close_on_exec): Revert change which eliminated handling
guard inheritance.
(fhandler_pipe::fixup_after_fork): Ditto.  Use correct name of entity being
checked by fork_fixup.
(fhandler_pipe::fixup_after_exec): Don't bother with guard here.
(fhandler_pipe::dup): Cosmetic changes and revert creation of writepipe_exists
as noninheritable.
(fhandler_pipe::create): Revert change which eliminated SECURITY_ATTRIBUTES
argument.  Revert change which always made writepipe_exists noninheritable.
2006-05-21 21:02:52 +00:00
Christopher Faylor 9c9959a512 check in missing file 2006-05-21 17:27:14 +00:00
Danny Smith 8633e245b5 * lib/uuid.c (IID_IRpcProxyBuffer34): Remove definition. 2006-05-21 10:28:13 +00:00
Christopher Faylor b7dd7dfcf3 typo 2006-05-21 05:37:24 +00:00
Christopher Faylor b040009ecf * debug.cc (add_handle): Print handle value when collision detected.
* dtable.cc (dtable::stdio_init): Cosmetic change.
* fhandler.h (fhandler_base::create_read_state): Protect handle.
(fhandler_pipe::create_guard): Ditto.  Always mark the handle as inheritable.
(fhandler_pipe::is_slow): Return boolean value rather than numeric 1.
* pipe.cc (fhandler_pipe::fhandler_pipe): Always flag that we need fork fixup.
(fhandler_pipe::open): Don't pass security attributes to create_guard.
(fhandler_pipe::set_close_on_exec): Don't handle guard here.
(fhandler_pipe::close): Accommodate now-protected guard handle.
(fhandler_pipe::fixup_in_child): Don't proected read_state here.
(fhandler_pipe::fixup_after_exec): Close guard handle if close_on_exec.
(fhandler_pipe::fixup_after_fork): Don't bother with guard here.
(fhandler_pipe::dup): Don't set res to non-error prematurely.  Use boolean
values where appropriate.  Protect guard and read_state.
(fhandler_pipe::create): Don't call need_fork_fixup since it is now the
default.  Don't protect read_state or guard.
* pipe.cc (fhandler_base::ready_for_read): Use bool values for "avail".
* spawn.cc (spawn_guts): Set cygheap->pid_handle as inheritable when
protecting.
* select.cc (fhandler_pipe::ready_for_read): Actually get the guard mutex for
blocking reads.
2006-05-21 05:25:49 +00:00
Christopher Faylor 6118c524b0 * fhandler_tty.cc (fhandler_tty::close): Remove problematic hExeced guard. 2006-05-20 04:59:53 +00:00
Christopher Faylor 3b26b6a205 * fhandler_tty.cc (fhandler_tty_slave::open): Reinstate call to need_invisible
on first pty open.
2006-05-20 04:19:47 +00:00
Christopher Faylor 38f9b109b4 fix incorrect function name in old entry 2006-05-20 04:01:12 +00:00
Christopher Faylor 1160b21781 * fhandler_console.cc (fhandler_console::need_invisible): Allocate an invisible
window station when ctty != TTY_CONSOLE.
2006-05-19 00:32:36 +00:00
Danny Smith 01668fecd4 * mingwex/wcrtomb.c (wcrtomb_cp): Test (wc > 255) only if C locale.
Use supplied codepage as arg to WideCharToMultiByte.
2006-05-17 07:49:39 +00:00
Christopher Faylor 9fa8d227d4 * cygtls.cc (_cygtls::remove): Don't test for initialization since this
function will always be called when _my_tls is initialized.
* init.cc (dll_entry): Don't attempt to remove tls info if _my_tls is obviously
not even available.
2006-05-17 03:36:14 +00:00
Christopher Faylor 1e68a8ced0 correct changelog date 2006-05-16 03:24:26 +00:00
Christopher Faylor 562adf7890 * sigproc.cc (no_signals_available): Detect hwait_sig == INVALID_HANDLE_VALUE.
(wait_sig): Set hwait_sig to INVALID_HANDLE_VALUE on __SIGEXIT.
* cygtls.cc (_cygtls::init_thread): Zero entire _my_tls structure and no more.
* cygtls.h (_my_tls::padding): Delete.
(CYGTLS_PADSIZE): Redefine concept of padding to mean padding at the end of the
stack.
* dcrt0.cc (initialize_main_tls): Change return to void.
* gentls_offsets: Treat const specially, too.  Keep going after a '}' is found.
Change negative offset calculation to use CYGTLS_PADSIZE.
* init.cc (_my_oldfunc): New variable.
(threadfunc_fe): Use stored tls value for oldfunc rather than blindly writing
to the stack.
(munge_threadfunc): Set oldfunc in tls.
(dll_entry): Initialize tls allocation.
* tlsoffsets.h: Regenerate.
2006-05-16 03:14:24 +00:00
Christopher Faylor a9e36321fd * ntdll.h (STATUS_INVALID_INFO_CLASS): Conditionalize. 2006-05-14 18:32:57 +00:00
Dimitri Papadopoulos 9385da4973 * include/rtutils.h (TraceDumpA,TraceDumpW,TracePutsA,TracePutsW)
(TraceRegisterA,TraceRegisterW,TraceVprintfA,TraceVprintfW): Define
	as macros.
	Thanks to:    Bruce M Simpson <bms_spc at sf dot net>
2006-05-12 18:09:15 +00:00
Dimitri Papadopoulos ce4e2a866a * include/mprapi.h (MprAdminMIBBufferFree,MprAdminMIBEntryCreate)
(MprAdminMIBEntryDelete,MprAdminMIBEntryGet,MprAdminMIBEntryGetFirst)
	(MprAdminMIBEntryGetNext,MprAdminMIBEntrySet,MprAdminMIBGetTrapInfo)
	(MprAdminMIBServerConnect,MprAdminMIBServerDisconnect)
	(MprAdminMIBSetTrapInfo): Declare functions.
	Note: MprAdminMIBSetTrapInfo is missing from mprapi.def.
	(MIB_SERVER_HANDLE): New typedef.
	(MprConfigTransportSetInfo): Declare function.
	* lib/mprapi.def (MprSetupIpInIpInterfaceFriendlyNameEnum)
	(MprSetupIpInIpInterfaceFriendlyNameFree): Fix size.
2006-05-12 17:12:31 +00:00
Dimitri Papadopoulos a9d6dd61c0 * lib/rtutils.def: New file. Generated on Windows XP.
(TracePrintf{AW},TracePrintfEx{AW}): Left out for now.
	* include/rtutils.h: New file.
	(TraceDump{AW},TracePuts{AW},TraceRegister{AW},TraceVprintf{AW}):
	Commented out, they're missing from rtutils.def.
2006-05-12 13:28:46 +00:00
Dimitri Papadopoulos 0146332359 * include/mprapi.h (MprInfoBlockAdd,MprInfoBlockFind)
(MprInfoBlockQuerySize,MprInfoBlockRemove,MprInfoBlockSet)
	(MprInfoCreate,MprInfoDelete,MprInfoDuplicate)
	(MprInfoRemoveAll): Declare functions.
2006-05-12 13:05:42 +00:00
Dimitri Papadopoulos bdfe484ea1 * include/mprapi.h (MprConfigBufferFree,MprConfigGetFriendlyName)
(MprConfigGetGuidName,MprConfigInterfaceCreate)
	(MprConfigInterfaceDelete,MprConfigInterfaceEnum)
	(MprConfigInterfaceGetHandle,MprConfigInterfaceGetInfo)
	(MprConfigInterfaceSetInfo,MprConfigInterfaceTransportAdd)
	(MprConfigInterfaceTransportEnum,MprConfigInterfaceTransportGetHandle)
	(MprConfigInterfaceTransportGetInfo,MprConfigInterfaceTransportRemove)
	(MprConfigInterfaceTransportSetInfo,MprConfigServerBackup)
	(MprConfigServerConnect,MprConfigServerDisconnect)
	(MprConfigServerGetInfo,MprConfigServerInstall)
	(MprConfigServerRestore,MprConfigTransportCreate)
	(MprConfigTransportDelete,MprConfigTransportEnum)
	(MprConfigTransportGetHandle,MprConfigTransportGetInfo)
	(MprConfigTransportSetInfo): Declare functions.
2006-05-12 12:57:33 +00:00
Dimitri Papadopoulos 8595d0d7b8 * include/mprapi.h:(MprAdminBufferFree)
(MprAdminDeregisterConnectionNotification,MprAdminGetErrorString)
	(MprAdminInterfaceConnect,MprAdminInterfaceCreate)
	(MprAdminInterfaceDelete,MprAdminInterfaceDeviceGetInfo)
	(MprAdminInterfaceDeviceSetInfo,MprAdminInterfaceDisconnect)
	(MprAdminInterfaceEnum,MprAdminInterfaceGetCredentials)
	(MprAdminInterfaceGetCredentialsEx,MprAdminInterfaceGetHandle)
	(MprAdminInterfaceGetInfo,MprAdminInterfaceQueryUpdateResult)
	(MprAdminInterfaceSetCredentials,MprAdminInterfaceSetCredentialsEx)
	(MprAdminInterfaceSetInfo,MprAdminInterfaceTransportAdd)
	(MprAdminInterfaceTransportGetInfo,MprAdminInterfaceTransportRemove)
	(MprAdminInterfaceTransportSetInfo)
	(MprAdminInterfaceUpdatePhonebookInfo,MprAdminInterfaceUpdateRoutes)
	(MprAdminIsServiceRunning,MprAdminRegisterConnectionNotification)
	(MprAdminServerConnect,MprAdminServerDisconnect)
	(MprAdminServerGetCredentials,MprAdminServerGetInfo)
	(MprAdminServerSetCredentials,MprAdminTransportCreate)
	(MprAdminTransportGetInfo,MprAdminTransportSetInfo): Declare functions.
2006-05-12 12:33:37 +00:00
Dimitri Papadopoulos 28eba36967 * include/ipxtfflt.h: New file. 2006-05-12 11:55:45 +00:00
Dimitri Papadopoulos a1c9200d10 * lib/mprapi.def: Regenerate on Windows XP.
Would need to be regenerated on Windows Server 2003.
2006-05-12 07:14:40 +00:00
Dimitri Papadopoulos f5c9583cc6 * include/mprapi.h: Fix header guard. Cleanup.
(MprAdminAcceptNewConnection,MprAdminAcceptNewConnection2)
	(MprAdminAcceptNewLink,MprAdminAcceptReauthentication)
	(MprAdminConnectionHangupNotification)
	(MprAdminConnectionHangupNotification2)
	(MprAdminGetIpAddressForUser)(MprAdminInitializeDll)
	(MprAdminTerminateDll,MprAdminLinkHangupNotification)
	(MprAdminReleaseIpAddress): Declare functions.
2006-05-12 06:22:48 +00:00
Dimitri Papadopoulos 239ed4afff * include/ipifcons.h: Cleanup.
* include/ipxconst.h: Fix header guard.
	* include/ipxrtdef.h: include <ipxconst.h>.
2006-05-12 05:59:41 +00:00
Dimitri Papadopoulos dfe2700797 * include/ipxrtdef.h: Cleanup.
(IPX_INTERFACE_INFO_TYPE,IPX_STATIC_ROUTE_INFO_TYPE)
	(IPX_STATIC_SERVICE_INFO_TYPE,IPX_SERVICE_FILTER_INFO_TYPE)
	(IPX_ROUTE_FILTER_INFO_TYPE,IPX_IN_TRAFFIC_FILTER_INFO_TYPE)
	(IPX_ADAPTER_INFO_TYPE,IPXWAN_INTERFACE_INFO_TYPE,IPX_GLOBAL_INFO_TYPE)
	(IPX_STATIC_NETBIOS_NAME_INFO_TYPE)
	(IPX_IN_TRAFFIC_FILTER_GLOBAL_INFO_TYPE)
	(IPX_OUT_TRAFFIC_FILTER_INFO_TYPE)
	(IPX_OUT_TRAFFIC_FILTER_GLOBAL_INFO_TYPE): Define.
	* include/routprot.h: Cleanup.
	(PROTO_IP_*,IPRTRMGR_PID,IPX_PROTOCOL_*): Define.
	* include/fltdefs.h: New file.
	* include/ipinfoid.h: New file.
2006-05-11 15:58:39 +00:00
Dimitri Papadopoulos 51d7d63178 * include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer)
(IAMAudioRendererStats,IAMBufferNegotiation,IAMCameraControl)
	(IAMCertifiedOutputProtection): Add interfaces.
	* include/adsprop.h: New file.
	* include/cmnquery.h: New file.
	* include/dsadmin.h: New file.
	* include/dsclient.h: New file.
	* include/dsgetdc.h: New file.
	* include/dsquery.h: New file.
	* include/dsrole.h: New file.
	* include/ntdsapi.h: New file.
	* include/ntdsbcli.h: New file.
	* include/objsel.h: New file.
	Not finished. Just wanted to submit this before I'm disembarked
	from the project, so that the work isn't lost...
2006-05-11 09:53:34 +00:00
Brian Dessent a72a9c190f * Makefile.in (clean): Also delete *.dbg. 2006-05-10 22:01:57 +00:00
Dimitri Papadopoulos d7046e80d7 * include/qedit.h (DEXTER_*,SCompFmt0): Add structures.
(DEXTERF_TRACK_SEARCH_FLAGS,TIMELINE_MAJOR_TYPE): Add enums.
	(CONNECTF_DYNAMIC_*,SFN_VALIDATEF_*,RESIZEF_*): Define.
2006-05-10 09:35:26 +00:00
Dimitri Papadopoulos 8a002cefb3 * include/qedit.h: New file.
* include/errors.h: Cleanup.
2006-05-10 09:20:14 +00:00
Dimitri Papadopoulos 13dba9fe27 * include/amvideo.h (BIT_MASKS_MATCH): Don't use memcmp to
avoid dependency on <string.h>.
	There's no Win32 equivalent for memcmp:
	http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99456
2006-05-10 09:07:02 +00:00
Dimitri Papadopoulos 5f6ae3d318 * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
of memset to avoid <string.h>. Still need a fix for memcmp.
	* include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
	(AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
	(AM_WST_STYLE): Add enums.
	(AM_WST_PAGE,AMVABeginFrameInfo,AMVACompBufferInfo,AMVAEndFrameInfo,
	AMVAInternalMemInfo,AMVAUncompBufferInfo,AMVAUncompDataInfo): New
	structures.
	* include/errors.h (VFW_*): Define.
	* include/evcode.h (AM_WMT_EVENT_DATA): New structure.
	* include/mmsystem.h (WAVE_FORMAT_EXTENSIBLE): Define.
	* include/edevdefs.h (ED_FORMAT_SMPTE_30,ED_FORMAT_SMPTE_30DROP)
	(ED_FORMAT_SMPTE_25,ED_FORMAT_SMPTE_24): Move from here...
	* include/strmif.h: ... to here. New file.
	* include/aviriff.h: New file.
	* include/bdatypes.h: New file.
	* include/control.h: New file.
	* include/dvdmedia.h: New file.
	* include/il21dec.h: New file.
	* include/ks.h: New file.
	* include/ksmedia.h: New file.
	* include/mmreg.h: New file.
	* include/mpegtype.h: New file.
	* include/vidcap.h: New file.
	* include/vmr9.h: New file.
	* include/vptype.h: New file.
	* include/xprtdefs.h: New file.
2006-05-10 08:57:45 +00:00
Dimitri Papadopoulos fe9a050c9e * include/winnls.h [WINVER >= 0x0500] (LOCALE_IDEFAULTEBCDICCODEPAGE):
Documented as defined on Windows 2000 or later.
	[WINVER >= 0x0600] (LOCALE_SDURATION,LOCALE_SIETFLANGUAGE)
	(LOCALE_SISO3166CTRYNAME2,LOCALE_SISO639LANGNAME2)
	(LOCALE_SKEYBOARDSTOINSTALL,LOCALE_SNAME,LOCALE_SNAN)
	(LOCALE_SNEGINFINITY,LOCALE_SPOSINFINITY,LOCALE_SSCRIPTS): Documented
	but values unknown, Windows Vista or later.
	(CAL_UMALQURA): Cleanup.
	(CAL_SSHORTESTDAYNAME_*): Cleanup.
	[WINVER >= 0x0410] (CAL_SYEARMONTH,CAL_ITWODIGITYEARMAX)
	(CAL_NOUSEROVERRIDE,CAL_RETURN_NUMBER,CAL_USE_CP_ACP): Cleanup.
2006-05-10 08:36:05 +00:00
Dimitri Papadopoulos 5d35ee6250 * include/wingdi.h [WINVER >= 0x0500] (DC_*): Define.
(GGO_UNHINTED): Define.
	(DMPAPER_*): Define. Paper size newly added to the documentation.
	(DMPAPER_LAST): Value depends on DMPAPER_* variables actually defined.
	(DM_*): Cleanup.
	(DM_PANNINGWIDTH,DM_PANNINGHEIGHT,DM_DISPLAYFIXEDOUTPUT): Define.
	(DMDO_*,DMDFO_*): Define.
	(GetDCBrushColor,GetDCPenColor): Declare.
	* lib/msimg32.def (GetDCBrushColor,GetDCPenColor): Add stubs.
2006-05-10 08:04:49 +00:00
Dimitri Papadopoulos 972d2ba056 * include/winnt.h (LANG_*,SUBLANG_*): Define.
Languages newly added to the documentation.
2006-05-10 07:57:22 +00:00
Christopher Faylor 56aed3f578 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix typo which caused
test for ".." to be skipped.
2006-05-08 15:20:04 +00:00
Chris Sutcliffe 66b9d603da 2006-05-05 Chris Sutcliffe <ir0nh34d@users.sf.net>
* lib/directx/Makefile.in: Remove reference to libquartz.a since it was moved.
2006-05-05 19:17:05 +00:00
Earnie Boyd f56b825e8a 2006-05-05 Earnie Boyd <earnie@users.sf.net>
* lib/scrnsave.c: Correct misspelled SPI_SCREENSAVERUNNING to
	SPI_SETSCREENSAVERUNNING.
	* include winuser.h (SPI_SCREENSAVERRUNNING): Remove again.
2006-05-05 12:19:32 +00:00
Dimitri Papadopoulos 6936abd4fd * include/winuser.h (SPI_SCREENSAVERRUNNING): Define.
It had been removed because it's no documented, but Cygwin needs it.
2006-05-05 12:05:41 +00:00
Dimitri Papadopoulos 0b5d92ffdd * include/amvideo.h (IFullScreenVideo): Define.
(BIT_MASKS_MATCH,PALETTISED,PALETTE_ENTRIES,RESET_MASKS,RESET_PALETTE,
	SIZE_EGA_PALETTE,SIZE_MASKS,SIZE_PALETTE): Added Macros.
2006-05-04 16:02:36 +00:00
Dimitri Papadopoulos 93f6dae7ed * include/winnls.h (CAL_SYEARMONTH,CAL_ITWODIGITYEARMAX,
CAL_NOUSEROVERRIDE, CAL_RETURN_NUMBER,CAL_USE_CP_ACP): Documented
	as available on Windows 98 and better.
	(CAL_UMALQURA,CAL_SSHORTESTDAYNAME*): Define, Windows Vista and better.
2006-05-04 15:57:41 +00:00
Dimitri Papadopoulos da8eb0a5f8 * include/amvideo.h: New file.
* include/dshow.h: Include <amvideo.h>.
2006-05-04 12:40:50 +00:00
Dimitri Papadopoulos b2c6ca84bd * include/winuser.h (MOUSEEVENTF_*): Cleanup and new define.
(HSHELL_*): Cleanup and new define.
	(SMTO_*): Cleanup and new define.
	(SPI_*): Cleanup and new define.
	(SPIF_*): Cleanup.
	(HWND_MESSAGE): Windows 2000 only.
	(SIF_*): Cleanup.
	(SWP_*): Cleanup.
	* include/wingdi.h (ETO_*): Cleanup and new define.
2006-05-04 10:09:28 +00:00
Dimitri Papadopoulos 2d7fcee848 * include/mprapi.h (MPR_SERVER_HANDLE): New typedef.
* include/mprapi.h (MprAdmin*): Declare functions.
	* lib/mprapi.def (MprAdmin*): Add stubs.
2006-05-03 17:14:59 +00:00
Dimitri Papadopoulos a7fb6df8b9 * lib/directx/quartz.def: Move from lib/directx/...
* lib/quartz.def: ... to lib/
2006-05-03 14:23:05 +00:00
Dimitri Papadopoulos 7d1555a200 * include/amaudio.h: New file.
* include/dshow.h: Include <amaudio.h>.
2006-05-03 07:47:23 +00:00
Dimitri Papadopoulos cedb1281cf * include/errors.h: New file.
* include/dshow.h: Include <errors.h>.
2006-05-03 07:06:26 +00:00
Dimitri Papadopoulos 100b96f7b9 * include/dshow.h: New file.
* include/evcode.h: New file.
	* include/audevcod.h: New file.
	* include/dvdevcod.h: New file.
2006-05-03 06:22:00 +00:00
Christopher Faylor d182b68ce2 * external.cc (cygwin_internal): Set errno on failure. 2006-05-02 15:58:35 +00:00
Dimitri Papadopoulos b8a1621817 * include/mprapi.h (MprAdminConnection*,MprAdminPort*): Add declaration.
* lib/mprapi.def: New file.
2006-05-02 12:21:21 +00:00
Dimitri Papadopoulos fa8ffde6a4 * include/mprapi.h (PPP_*INFO*, RAS_CONNECTION_*, RAS_PORT_*,
RAS_USER_*): New structures.
	* include/mprapi.h (RAS_FLAGS_*,PPP_LCP_*,RASCCPCA_* ,PPP_CCP_*,MAX_*,
	RASPRIV_*,*ADDRESSLEN,MPR_ENABLE_*): Define.
	* include/mprapi.h (RAS_*_CONDITION): Add enums.
	* include/mprapi.h <lmcons.h>: For NETBIOS_NAME_LEN, UNLEN, DLEN.
2006-05-02 12:08:18 +00:00
Dimitri Papadopoulos 5248b38cc7 * include/mprapi.h: New file.
* include/routprot.h: New file.
	* include/ipxrtdef.h: New file.
	* include/ipxconst.h: New file.
	* include/stm.h: New file.
2006-05-02 10:51:52 +00:00
Dimitri Papadopoulos acbd76c614 * include/ddk/winddk.h (KAFFINITY): Fix typo.
Thanks to:    Oliver Stoeneberg <kidkat at sf dot net>
2006-04-28 17:39:48 +00:00
Dimitri Papadopoulos 5dcc8b249a * include/winbase.h (ENUMRES*PROC{AW}): ANSI and Unicode versions.
Thanks to:    Oliver Stoeneberg <kidkat at sf dot net>
2006-04-28 17:34:02 +00:00
Dimitri Papadopoulos f7f95ba172 * include/ntsecapi.h (POLICY_DNS_DOMAIN_INFO): Fix typo.
Thanks to:    Oliver Stoeneberg <kidkat at sf dot net>
2006-04-28 17:16:55 +00:00
Dimitri Papadopoulos 66c3c4112d * include/wingdi.h (BITMAPV5HEADER): New structure definition. 2006-04-28 17:13:14 +00:00
Dimitri Papadopoulos b1cceb5f92 * include/basetyps.h (REFFMTID): Define properly. 2006-04-28 16:55:26 +00:00
Dimitri Papadopoulos 6bcc8fbabb * include/winnt.h (WT_SET_MAX_THREADPOOL_THREADS): Define.
Thanks to:    Bruce M Simpson <bms_spc at sf dot net>
2006-04-28 10:36:46 +00:00
Dimitri Papadopoulos 7eaa966b8f * include/ipifcons.h (MIN_IF_TYPE,IF_TYPE_*,MAX_IF_TYPE,IF_ACCESS_*,
IF_CHECK_*,IF_CONNECTION_*,IF_ADMIN_*,IF_OPER_*): Define.
	* include/winbase.h (CancelWaitableTimer,UnregisterWait):
	Add function declaration.
	* include/mgm.h: New file.
	* lib/rtm.def: New file.
	Thanks to:    Bruce M Simpson <bms_spc at sf dot net>
2006-04-28 10:31:20 +00:00
Corinna Vinschen 523423ee37 * pipe.cc (DEFAULT_PIPEBUFSIZE): Raise to 64K. 2006-04-27 16:38:21 +00:00
Corinna Vinschen 330a2faed9 * fhandler.h (fhandler_base): Change fstat_helper prototype
to take file size and inode number as 64 bit values.
	* fhandler_disk_file.cc (FS_IS_SAMBA): Move to path.cc
	(FS_IS_SAMBA_WITH_QUOTA): Ditto.
	(path_conv::hasgood_inode): Delete.
	(path_conv::is_samba): Delete.
	(path_conv::isgood_inode): Centralized function to recognize
	a good inode number.
	(fhandler_base::fstat_by_handle): Constify fvi_size and fai_size.
	Accomodate argument change in fstat_helper.
	(fhandler_base::fstat_by_name): Ditto.
	(fhandler_base::fstat_helper): Accomodate argument change.  Call
	path_conv::isgood_inode to recognize good inodes.
	(fhandler_disk_file::opendir): Explain Samba weirdness here.
	Call path_conv::fs_is_samba instead of path_conv::is_samba.
	(fhandler_disk_file::readdir): Add STATUS_INVALID_INFO_CLASS
	as valid return code from NtQueryDirectoryFile to indicate that
	FileIdBothDirectoryInformation is not supported.
	Call path_conv::isgood_inode to recognize good inodes.
	* ntdll.h (STATUS_INVALID_INFO_CLASS): Define.
	* path.cc (fs_info::update): Rework file system recognition
	and set appropriate flags.
	* path.h (struct fs_info): Add is_ntfs, is_samba and is_nfs flags.
	Constify pure read accessors.
2006-04-26 16:51:09 +00:00
Christopher Faylor a2649dc651 * environ.cc (getearly): Force correct dereference order when inspecting
environ table.
2006-04-24 16:42:07 +00:00
Corinna Vinschen b4c53a7c00 * select.cc (thread_pipe): Raise sleep time only every 8th iteration.
(thread_mailslot): Ditto.
2006-04-24 15:16:45 +00:00
Dimitri Papadopoulos 27154d380a * include/ws2tcpip.h (gai_strerror): Remove thread-safety comment.
This function cannot be made thread-safe, the API would have to be
	changed for that, just like strerror() -> strerror_r() and similar
	ISO C or POSIX functions...
2006-04-24 11:53:16 +00:00
Corinna Vinschen cfa882572a * select.cc (thread_pipe): Raise sleep time dynamically to speed up
select on pipes when copying lots of data.
	(thread_mailslot): Ditto for mailslots.
2006-04-23 08:39:07 +00:00
Christopher Faylor 3153a0ecae * signal.cc (abort): On second thought, just set incyg once. 2006-04-22 23:13:18 +00:00
Christopher Faylor bdcec0d979 * abort.cc (abort): Set incyg manually to help get a reliable gdb stack trace.
* cygwin.din (abort): Make NOSIGFE.
2006-04-22 23:09:44 +00:00
Christopher Faylor 3a83d3a849 * environ.cc (getearly): Use GetEnvironmentVariable and cmalloc instead of
GetEnvironmentStrings.
(environ_init): Revert rawenv stuff.
2006-04-21 21:34:38 +00:00
Christopher Faylor 478e8b1569 format comment using GNU-style 2006-04-21 19:40:48 +00:00
Christopher Faylor 16dc3c95fb * environ.cc (rawenv): Make this variable a file-scope static.
(getearly): Rename 's' variable to 'len' since 's' is used fairly consistently
throughout cygwin as a string variable.  Remove rawenv declaration.  Perform
other minor cleanups.
(environ_init): Remove rawenv declaration.  Only set rawenv to
GetEnvironmentStrings() if it has not already been set.  Properly free rawenv
in all cases.
2006-04-21 19:19:31 +00:00
Christopher Faylor f09acf77de * tty.h (tty::hwnd): Move to tty_min.
(tty::gethwnd): Ditto.
(tty::sethwnd): Ditto.
(tty_min::hwnd): Receive variable from tty class.
(tty_min::gethwnd): Receive function from tty classs.
(tty_min::sethwnd): Ditto.
* dtable.cc (dtable::stdio_init): Only call init_console_handler when we
actually own the console.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Set tty's hwnd to
non-zero value.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Semi-reinstate handling of
console when pgrp is set.
2006-04-21 18:53:05 +00:00
Corinna Vinschen 33b0abd1c3 * environ.cc (getearly): New function.
(findenv_func): New function pointer, predefined to getearly.
	(getenv): Call findenv function over the findenv_func pointer.
	(environ_init): Change findenv_func pointer to my_findenv after Cygwin
	environment is initialized.
2006-04-21 17:21:41 +00:00
Corinna Vinschen 053fc4771a * include/asm/byteorder.h (__ntohl): Fix the missing uint32_t. 2006-04-21 14:29:54 +00:00
Corinna Vinschen 00c2208858 * fhandler_socket.cc (fhandler_socket::wait): Reorder setting
WSAError to avoid spurious errors with WSAError set to 0.
2006-04-21 11:35:44 +00:00
Corinna Vinschen 387e6a35d8 * include/asm/byteorder.h: Include stdint.h. Per standard, change
datatypes in ntohX and htonX functions to uintXX_t types.
2006-04-21 09:59:07 +00:00
Dimitri Papadopoulos 6fbcec60a8 * include/winnt.h: revert to 1.102
* include/ddk/winddk.h: revert to 1.25
2006-04-20 10:47:43 +00:00
Dimitri Papadopoulos 53e906ee42 * include/edevdefs.h: New file. 2006-04-19 11:03:17 +00:00
Dimitri Papadopoulos 9d723cf55e * include/mmsystem.h (_LPCWAVEFORMATEX_DEFINED): Define.
Use as guard for the WAVEFORMATEX structure instead of
	_WAVEFORMATEX_ to avoid clashes with DirectSound. Keep
	_WAVEFORMATEX_ for compatibility.
	Thanks to:    Andrew Jones <guln at sf dot net>
2006-04-19 08:57:16 +00:00
Dimitri Papadopoulos cb784c8950 * include/winnt.h, include/ddk/winddk.h (FIELD_OFFSET):
Compile with recent C++ compiler such as gcc 3.4.
	* include/ddk/winddk.h: Ditto.
2006-04-19 08:40:53 +00:00
Dimitri Papadopoulos a2601182c0 * include/winuser.h (CharNextEx,CharNextExW,CharPrevEx,CharPrevExW):
Delete. Only CharNextExA and CharPrevExA are documented in MSDN.
	Thanks to:    David Golub <david_golub at sf dot net>
2006-04-19 08:15:19 +00:00
Christopher Faylor 4c6f65fc7c * exceptions.cc (ctrl_c_handler): Only exit TRUE on CTRL_LOGOFF_EVENT when we
have actually handled the event.
2006-04-18 16:24:54 +00:00
Danny Smith 6ea56da87a 2006-04-18 Eric House <ehouse@eehouse.org>
PocketPC support.
	* include/aygshell.h: New file [_WIN32_WCE]. Declare most common
	functions for using aygshell on PocketPC:
	SHCreateMenuBar, SHFindMenuBar, SHCreateNewItem, SHFullScreen,
	SHSipInfo, SHHandleWMActivate, SHHandleWMSettingChange

	* include/commctrl.h [_WIN32_WCE] Add function prototypes for
	command bar API on PocketPC:
	CommandBar_Create, CommandBar_Show, CommandBar_AddBitmap,
	CommandBar_InsertComboBox, CommandBar_InsertMenubar,
	CommandBar_InsertMenubarEx, CommandBar_DrawMenuBar,
	CommandBar_GetMenu, CommandBar_AddAdornments, CommandBar_Height,
	CommandBar_InsertButton, CommandBar_Destroy.

	* include/winbase.h [_WIN32_WCE] (WIN32_FIND_DATA{A|W}): Remove
	 fields not present on PocketPC.
	(GetCurrentThreadId): Conditionally declare as extern function
	without dllimport attribute on PocketPC.
 	(ResetEvent): Likwise.
	(SetEvent): Likewise.

	* include/wingdi.h [_WIN32_WCE]  (GetTextExtentPoint32{A|W}):
	Conditionally declare as extern function without dllimport
	 attribute on PocketPC.
	* winuser.h  [_WIN32_WCE] (DialogBoxParam{A|W}): Conditionally
	declare as extern function without dllimport attribute on PocketPC.
2006-04-18 09:48:05 +00:00
Danny Smith 5c96db5d4f 2006-04-18 Eric House <ehouse@eehouse.org>
PocketPC support.
	* include/aygshell.h: New file [_WIN32_WCE]. Declare most common
	functions for using aygshell on PocketPC:
	SHCreateMenuBar, SHFindMenuBar, SHCreateNewItem, SHFullScreen,
	SHSipInfo, SHHandleWMActivate, SHHandleWMSettingChange

	* include/commctrl.h [_WIN32_WCE] Add function prototypes for
	command bar API on PocketPC:
	CommandBar_Create, CommandBar_Show, CommandBar_AddBitmap,
	CommandBar_InsertComboBox, CommandBar_InsertMenubar,
	CommandBar_InsertMenubarEx, CommandBar_DrawMenuBar,
	CommandBar_GetMenu, CommandBar_AddAdornments, CommandBar_Height,
	CommandBar_InsertButton, CommandBar_Destroy.

	* include/winbase.h [_WIN32_WCE] (WIN32_FIND_DATA{A|W}): Remove
	 fields not present on PocketPC.
	(GetCurrentThreadId): Conditionally declare as extern function
	without dllimport attribute on PocketPC.
 	(ResetEvent): Likwise.
	(SetEvent): Likewise.

	* include/wingdi.h [_WIN32_WCE]  (GetTextExtentPoint32{A|W}):
	Conditionally declare as extern function without dllimport
	 attribute on PocketPC.
	* winuser.h  [_WIN32_WCE] (DialogBoxParam{A|W}): Conditionally
	declare as extern function without dllimport attribute on PocketPC.
2006-04-18 09:35:29 +00:00
Danny Smith 065e8a7a02 2006-04-18 Thorsten Dahlheimer (dahlheim@users.sf.net>
* include/wingdi.h (ColorCorrectPalette): Add declaration.
	(CreateColorSpace): Add UNICODE mappings.
	* lib/gdi32.def (ColorCorrectPalette): Add stub. 
	* include/icm.h: New file.
	* lib/mscms.def: New file.
	* lib/icmui.def: New file.
2006-04-18 04:38:03 +00:00
Danny Smith edf92ad046 2006-04-18 Thorsten Dahlheimer (dahlheim@users.sf.net>
* include/winnt.h (IMAGE_FILE_MACHINE_IA64): New define.
	(IMAGE_FILE_MACHINE_AMD64): New define.
	(IMAGE_NT_OPTIONAL_HDR{32|64}_MAGIC. New. Map to IMAGE_NT_OPTIONAL_HDR_MAGIC.
	(IMAGE_SUBSYSTEM_NATIVE_WINDOWS): New define.
	(IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): New define.
	(IMAGE_DLLCHARACTERISTICS_WDM_DRIVER): New define.
	(IMAGE_DIRECTORY_ENTRY_*): New defines.
	(IMAGE_SCN_TYPE_*): New defines.
	(IMAGE_SCN_ALIGN_*): New defines.
	(IMAGE_DEBUG_TYPE_BORLAND): New define.
	(IMAGE_OPTIONAL_HEADER{32|64}): New structure definitions and typedefs.  Map to
	IMAGE_OPTIONAL_HEADERS.
	(IMAGE_NT_HEADERS{32|64}): New structure definitions and typedefs.  Map to
	IMAGE_NT_HEADERS.
	(IMAGE_LOAD_CONFIG_DIRECTORY64): New structure definition and typedefs.
	(IMAGE_CE_RUNTIME_FUNCTION_ENTRY): Likewise.
	(IMAGE_FUNCTION_ENTRY64): Likewise.
2006-04-18 03:58:22 +00:00
Danny Smith bcc39a0bfe 2006-04-18 Bart Oldeman <bartoldeman@users.sf.net>
* lib/test.c: Fix typo in #inlcude.
	* include/aclui.h: INTERFACE should not remain
	defined at the end of the header.
	* include/servprov.h: Ditto.
2006-04-18 02:57:59 +00:00
Christopher Faylor d1efa4e819 * mktemp.cc (_gettemp): Open temp files in binary mode. 2006-04-17 15:09:13 +00:00
Danny Smith 1d975d67b1 * include/ws2tcpip.h (gai_strerror): Add thread-safety comment. 2006-04-16 08:26:59 +00:00
Dimitri Papadopoulos 538146072a * include/ws2tcpip.h (gai_strerror{AW}): Implement as inline function. 2006-04-14 16:40:30 +00:00
Dimitri Papadopoulos 285ae543e2 * include/wsahelp.h (system_header): Add pragma.
* include/ws2spi.h (system_header): Add pragma.
	* include/rasdlg.h (system_header): Add pragma.
	* include/rasdlg.h (_RASDLG_H): Define.
	Define instead of _RASDLG_H_, this is the w32api standard.
	* include/mlang.h (_MLANG_H): Define.
	Define instead of _MLANG_H_, this is the w32api standard.
	* include/setupapi.h (_SETUPAPI_H): Define.
	Define instead of _SETUPAPI_H_, this is the w32api standard.
2006-04-14 15:54:54 +00:00
Dimitri Papadopoulos 3253f21972 * include/rpcndr.h (boolean): Add typedef.
Thanks to:    James du Russel <ephelon at users dot sf dot net>
	* include/rpcndr.h (_RPCNDR_H): Define.
	Define in addition to __RPCNDR_H__, this is the w32api standard.
2006-04-14 15:21:21 +00:00
Corinna Vinschen b40098e6f2 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Use UINT32_MAX
instead of UINT_MAX.
2006-04-14 14:34:39 +00:00
Corinna Vinschen 5b9262e797 * fhandler_disk_file.cc (path_conv::hasgood_inode): Make inline.
Drop remote fs handling entirely since unreliable inode numbers
	are now recognized differently.
	(path_conv::is_samba): Make inline.
	(fhandler_disk_file::opendir): Reformat comment.
	(fhandler_base::fstat_helper): Special case remote file systems
	returning (unreliable) 32 bit inode numbers.
	(fhandler_base::readdir): Ditto.
	* fhandler_netdrive.cc (fhandler_netdrive::readdir): Ditto.
2006-04-14 14:20:58 +00:00
Chris Sutcliffe 04cbcde8d9 2006-04-14 Chris Sutcliffe <ir0nh34d@users.sf.net>
* include/w32api.h: Increment version to 3.7.
        * Makefile.in: Ditto.
2006-04-14 12:52:50 +00:00
Christopher Faylor c99126ab96 trivial change 2006-04-14 01:31:14 +00:00
Chris Sutcliffe 9f8b325c45 2006-04-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winbase.h (GET_MODULE_HANDLE_EX_FLAG_*): Define.
        Thanks to:      Brandon Sneed <brandon at redf dot net>
2006-04-14 00:14:19 +00:00
Christopher Faylor 853f84e53c * spawn.cc (spawn_guts): Move ch.set() call back to where it was supposed to
be.
2006-04-13 16:11:06 +00:00
Corinna Vinschen bee0f85727 Bump copyright dates. 2006-04-13 12:14:58 +00:00
Corinna Vinschen 414969016e * sysconf.cc (sysconf): Add _SC_THREADS, _SC_THREAD_ATTR_STACKSIZE,
_SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PROCESS_SHARED,
	_SC_THREAD_SAFE_FUNCTIONS, _SC_TIMERS handling.
2006-04-13 12:14:05 +00:00
Christopher Faylor 2e9d484382 * spawn.cc (spawn_guts): Revert patch which treated derived cygwin programs
differently from those which are mounted with -X.  Pass extra argument to
linebuf::fromargv.
* winf.h (MAXCYGWINCMDLEN): New define.
(linebuf::finish): Add a new argument denoting when command line overflow is
ok.
(linebuf::fromargv): Ditto.
* winf.cc (linebuf::finish): Implement above change.
(linebuf::fromargv): Ditto.
2006-04-13 01:37:00 +00:00
Christopher Faylor 329a39ebea * Makefile.in (DLL_OFILES): Add winf.o.
* spawn.cc: Move command line handling stuff into winf.cc.
* winf.h: New file.
* winf.cc: New file.
2006-04-12 15:53:22 +00:00
Danny Smith be5542f716 * include/secext.h: Enclose function declarations in extern "C" for
__cplusplus.
2006-04-12 08:04:42 +00:00
Chris Sutcliffe 076887efab 2006-04-11 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/comcat.h: INTERFACE should not remain defined
    at the end of the header.
    * include/docobj.h: Ditto.
    * include/exdisp.h: Ditto.
    * include/intshcut.h: Ditto.
    * include/mlang.h: Ditto.
    * include/mshtml.h: Ditto.
    * include/oaidl.h: Ditto.
2006-04-11 22:56:08 +00:00
Dimitri Papadopoulos 84ac4d5112 * include/commdlg.h (PD_*): Rearrange. 2006-04-11 08:03:23 +00:00
Dimitri Papadopoulos 9681ad80b9 * include/commdlg.h (PD_*): Define.
Thanks to:    Wolfgang Glas <softadm at users dot sf dot net>
2006-04-11 07:53:23 +00:00
Danny Smith e5807db846 * include/iphlpapi.h (GetAdaptersAddresses): Check for winsock2
here also.
2006-04-08 03:49:28 +00:00
Dimitri Papadopoulos cf30e49114 * include/wincrypt.h (PROV_MS_EXCHANGE): Define.
We should probably remove PROV_MS_MAIL but I'm keeping it for
	now for compatibility reasons.
	Thanks to:    Marcus Agehall <agehall at users dot sf dot net>
2006-04-07 14:28:35 +00:00
Dimitri Papadopoulos c7a84ac71f * include/commdlg.h [WINVER >= 0x0500]
(PD_RESULT_*,START_PAGE_GENERAL): Define.
	Thanks to:    Wolfgang Glas <softadm at users dot sf dot net>
2006-04-07 14:17:28 +00:00
Dimitri Papadopoulos 198785c1d3 * include/wingdi.h [WINVER >= 0x0410]
(AlphaBlend,GradientFill,TransparentBlt): Windows 98 and better.
	Thanks to:    Alessandro Antonello <aleantonello at users dot sf dot net>
2006-04-07 13:41:24 +00:00
Dimitri Papadopoulos 6fca0833c6 * include/wingdi.h (CAPTUREBLT,NOMIRRORBITMAP): Define.
* include/commctrl.h (WC_LINK{AW},LIF_*,LIM_*,LM_*,
	MAX_LINKID_TEXT,L_MAX_URL_LENGTH): Define.
	(LITEM,LHITTESTINFO,NMLINK): Add structures.
	Thanks to:    Brandon Sneed <brandon at redf dot net>
2006-04-07 13:28:49 +00:00
Dimitri Papadopoulos 7d7113db13 * include/w32api.h (IE*): Define for recent versions of IE. 2006-04-06 12:26:09 +00:00
Dimitri Papadopoulos a846957047 * include/w32api.h (_W32API_H): Define.
Define in addition to _W32API_H_, this is the w32api standard.
2006-04-06 12:21:30 +00:00
Dimitri Papadopoulos 45a450621f * include/w32api.h (WindowsVista): Define. 2006-04-06 12:18:40 +00:00
Dimitri Papadopoulos e98a5b1c43 * include/iptypes.h (IP_ADAPTER_*): Define parts that depend
on SOCKET_ADDRESS only if winsock2.h has already been included.
2006-04-06 12:16:49 +00:00
Dimitri Papadopoulos 944a4fa770 * include/winuser.h (WM_IME_*): Remove. Defined in imm.h. 2006-04-06 11:53:54 +00:00
Christopher Faylor f2e6c50869 * fhandler_socket.cc: Move iptypes.h include after winsock2 since it now relies
on it.
* net.cc: Ditto.
2006-04-05 16:53:12 +00:00
Christopher Faylor 0ce97eb453 * dcrt0.cc (dll_crt0_0): Move user_data->{resourcelocks,threadinterface}
initialization here from dll_crt0_1.
(dll_crt0_1): See above.
2006-04-05 16:42:27 +00:00
Dimitri Papadopoulos 3728ca6538 * include/iphlpapi.h (GAA_FLAG_*): Define.
(GetAdaptersAddresses): Add function declaration.
	* lib/iphlpapi.def (GetAdaptersAddresses): Add function stub.
	Thanks to:    ross <rossboulet at users dot sf dot net>
2006-04-05 16:05:04 +00:00
Dimitri Papadopoulos 273243a857 * include/iptypes.h (IP_INTERFACE_NAME_INFO,
IP_ADAPTER_ANYCAST_ADDRESS,IP_ADAPTER_MULTICAST_ADDRESS,
	IP_ADAPTER_UNICAST_ADDRESS,IP_ADAPTER_DNS_SERVER_ADDRESS,
	IP_ADAPTER_PREFIX,IP_ADAPTER_ADDRESSES): Add structures.
	(IF_OPER_STATUS,IP_DAD_STATE,IP_PREFIX_ORIGIN,IP_SUFFIX_ORIGIN,
	SCOPE_LEVEL): Add enums.
	(IP_ADAPTER_*): Define.
2006-04-05 15:53:58 +00:00
Dimitri Papadopoulos be95339627 * include/winuser.h (GetWindowExtEx): Removed, belongs to wingdi.h.
Thanks to:    Sergey Philippov <phis at users dot sf dot net>
2006-04-05 15:06:56 +00:00
Dimitri Papadopoulos d5ad5abfc2 * include/objidl.h (PIDSI_*): Define.
(PRSPEC_*): Define.
	Thanks to:    Oliver Stoeneberg <kidkat at users dot sf dot net>
2006-04-05 14:16:17 +00:00
Dimitri Papadopoulos 1d509e2a22 * include/winbase.h (LOGON32_PROVIDER_WINNT40,
LOGON32_PROVIDER_WINNT50, LOGON32_LOGON_NETWORK,
	LOGON32_LOGON_UNLOCK, LOGON32_LOGON_NETWORK_CLEARTEXT,
	LOGON32_LOGON_NEW_CREDENTIALS): Define.
	Thanks to:    Oliver Stoeneberg <kidkat at users dot sf dot net>
2006-04-05 13:53:14 +00:00
Dimitri Papadopoulos 347fb1920b * include/mq.h: New file.
* lib/mqrt.def: (MQ*): Define a few missing functions.
2006-04-05 10:01:56 +00:00
Dimitri Papadopoulos 024d48dff7 * lib/mqrt.def: New file.
Needs the mq.h file to work properly, working on it.
	Thanks to:    Pascal Obry <pobry at users dot sf dot net>
2006-04-05 07:23:14 +00:00
Dimitri Papadopoulos e159a2ade2 * include/winerror.h (STG_E_*): Define.
Thanks to:    Oliver Stoeneberg <kidkat at users dot sf dot net>
	* include/winerror.h (STG_S_*): Define.
	(CO_S_MACHINENAMENOTFOUND): Define.
	(RPC_E_*): Define.
	(NTE_*): Define.
2006-04-05 07:06:06 +00:00
Joshua Daniel Franklin 6804a9d4e1 faq.using.chmod faq.programming.adjusting-heap 2006-04-05 04:09:55 +00:00
Corinna Vinschen 8ca521afe9 * net.cc (fdsock): Raise default SO_RCVBUF/SO_SNDBUF buffer sizes to
the same values as on Linux.
2006-04-04 09:54:25 +00:00
Christopher Faylor 9dbb0bc355 * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
(child_info_fork::alloc_stack): Move into this class.
(child_info_fork::alloc_stack_hard_way): Ditto.
* dcrt0.cc (child_info_fork::alloc_stack): Ditto.
(child_info_fork::alloc_stack_hard_way): Ditto.
(_dll_crt0): Reference alloc_stack via fork_info.
2006-04-03 17:33:07 +00:00
Corinna Vinschen 45bdcc689a * spawn.cc (linebuf::finish): Drop argument. Don't check command line
length.
	(spawn_guts): Remove wascygexec.  Check real_path.iscygexec instead.
	Accommodate change to linebuf::finish.
2006-04-03 17:21:42 +00:00
Christopher Faylor 1a6aafd031 * dcrt0.cc (sm): Delete.
(alloc_stack_hard_way): Figure out where the stack lives here rather than
relying on previously filled out information which has been invalid since
1.5.19.
2006-04-03 16:04:02 +00:00
Dimitri Papadopoulos 29c2d97a8c * include/commctrl.h (ListView_*): Define and correct.
(LVM_*): Define.
2006-04-03 13:01:26 +00:00
Dimitri Papadopoulos 4b0baaa5eb * include/winuser.h (WM_IME_*): Define (DWORD type).
(EM_*IMESTATUS): Define.
	(WM_*): Define.
	(XBUTTON*): Define.
	Thanks to:    Steve Folly <spfolly at users dot sf dot net>
2006-04-03 09:55:26 +00:00