diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-09-30 21:43:40 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-09-30 21:43:40 +0000 |
commit | a4b25e31cae7d5af653f3fee3d0e605f6d550598 (patch) | |
tree | 828b9be3e3a7b6bdf204a054bb3170194695654d /winsup/cygwin/fhandler_raw.cc | |
parent | 7f7eda07801f6723d8b42202703ac0ca3e941458 (diff) | |
download | cygnal-a4b25e31cae7d5af653f3fee3d0e605f6d550598.tar.gz cygnal-a4b25e31cae7d5af653f3fee3d0e605f6d550598.tar.bz2 cygnal-a4b25e31cae7d5af653f3fee3d0e605f6d550598.zip |
* fhandler.h (class fhandler_dev_raw): Add method fstat.
* fhandler_raw.cc (fhandler_dev_raw::fstat): New method.
Add missing ChangeLog for previous patch.
Diffstat (limited to 'winsup/cygwin/fhandler_raw.cc')
-rw-r--r-- | winsup/cygwin/fhandler_raw.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_raw.cc b/winsup/cygwin/fhandler_raw.cc index 38ef837d0..ba74d7edf 100644 --- a/winsup/cygwin/fhandler_raw.cc +++ b/winsup/cygwin/fhandler_raw.cc @@ -129,6 +129,31 @@ fhandler_dev_raw::~fhandler_dev_raw (void) clear (); } +int __stdcall +fhandler_dev_raw::fstat (struct __stat64 *buf) +{ + debug_printf ("here"); + + switch (get_device ()) + { + case FH_TAPE: + case FH_NTAPE: + buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + break; + default: + buf->st_mode = S_IFBLK | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + break; + } + + buf->st_uid = geteuid32 (); + buf->st_gid = getegid32 (); + buf->st_nlink = 1; + buf->st_blksize = S_BLKSIZE; + time_as_timestruc_t (&buf->st_ctim); + buf->st_atim = buf->st_mtim = buf->st_ctim; + return 0; +} + int fhandler_dev_raw::open (int flags, mode_t) { |