aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2002-12-29 06:14:26 +0000
committerChristopher Faylor <me@cgf.cx>2002-12-29 06:14:26 +0000
commit918939cf19683bfab3a37ee77282b1f864165903 (patch)
tree079547bd1a75b4945f57b6f85ca08c1b7527409f /winsup
parentd828d318149f30e9876896ac95a7c67b4f5a2b93 (diff)
downloadnewlib-918939cf19683bfab3a37ee77282b1f864165903.zip
newlib-918939cf19683bfab3a37ee77282b1f864165903.tar.gz
newlib-918939cf19683bfab3a37ee77282b1f864165903.tar.bz2
* cygwin-gperf: New file.
* Makefile.in: Use cygwin-gperf script to build devices.cc. * configure.in: Remove some comments. * configure: Regenerate. * devices.gperf: Remove max unit determination from FH_TTY. Add /dev/kmem. Add /dev/fifo. Add /dev/rawdrive. Remove specific "const device *" declarations since they are now autogenerated. (device::parse): Treat FH_TTY specially. Move logic for determining real tty device to separate function. (device::init): Reduce to nothing. (device::parse): New function taking different arguments. (device::parse): Ditto. (device::tty_to_real_device): New function. * devices.h (struct device): Define above new functions. (device::dev_on_fs): New element. (device::setfs): New function. (device::isfs): Ditto. * dtable.cc (dtable::build_fhandler): Treat FH_TTY specially. * fhandler.cc (fhandler_base::set_name): Make special determination for non-disk-resident devices. * fhandler.h (fhandler_base::isdevice): Renamed from 'is_device'. (fhandler_disk_file::isdevice): Ditto. (fhandler_base::is_auto_device): New function. (fhandler_base::is_fs_device): New function. (fhandler_tty_slave::get_unit): Declare. (fhandler_disk_file::readdir): Take special .lnk consideration for devices as well as symlinks. * fhandler_tty.cc: Use get_unit () rather than dev.minor throughout. (fhandler_tty_slave::get_unit): Define new function. * path.cc (symlink_info::major): New element. (symlink_info::major): Ditto. (symlink_info::devtype): Ditto. (path_conv::check): Handle devices detected by symlink_info::check. (win32_device_name): Eliminate special FH_TTY handling. (symlink): Move bulk of procesing to symlink_worker. (symlink_worker): New function. Handles devices. (symlink_info::parse_device): Parse info from potential device file into symlink_info elements. (symlink_info::check): If contents of .lnk file begin with a ':' then treat the file as a device file. * path.h (isdevice): Renamed from is_device. (is_auto_device): New function. (is_fs_device): Ditto. * syscalls.cc (chown_worker): Allow setting of ownership for on-disk devices. (chmod): Ditto. (mknod): Implement. * winsup.h (symlink_worker): Declare.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/winsup.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index e46c072..59988ed 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -242,6 +242,10 @@ extern void multiple_cygwin_problem (const char *, unsigned, unsigned);
class path_conv;
int __stdcall stat_worker (const char *name, struct __stat64 *buf, int nofollow,
path_conv *pc = NULL) __attribute__ ((regparm (3)));
+
+int symlink_worker (const char *, const char *, bool, bool)
+ __attribute__ ((regparm (3)));
+
int __stdcall low_priority_sleep (DWORD) __attribute__ ((regparm (1)));
#define SLEEP_0_STAY_LOW INFINITE