diff options
author | Christopher Faylor <me@cgf.cx> | 2002-07-02 01:36:15 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-07-02 01:36:15 +0000 |
commit | 74fcdaec2071bb23c090bc13b9cfd0c4765ed3bd (patch) | |
tree | d3b434a7db3a5299525ed8741601bd646e1ffb3a /winsup/cygwin/fhandler.h | |
parent | cc81f456ac9c552bf50e15df7181271c226d908b (diff) | |
download | cygnal-74fcdaec2071bb23c090bc13b9cfd0c4765ed3bd.tar.gz cygnal-74fcdaec2071bb23c090bc13b9cfd0c4765ed3bd.tar.bz2 cygnal-74fcdaec2071bb23c090bc13b9cfd0c4765ed3bd.zip |
* autoload.cc (GetSecurityInfo): Define new autoload function.
(RegQueryInfoKeyA): Ditto.
* fhandler.h (fhandler_virtual::fill_filebuf): Change return type to bool.
(fhandler_proc::fill_filebuf): Ditto.
(fhandler_registry::fill_filebuf): Ditto.
(fhandler_process::fill_filebuf): Ditto.
(fhandler_registry::value_name): Add new member.
(fhandler_registry::close): Add new method.
(fhandler_process::p): Remove member.
* fhandler_proc.cc (fhandler_proc::open): Add set_nohandle after calling
superclass method. Check return value of fill_filebuf.
(fhandler_proc::fill_filebuf): Change return type to bool. Add return
statement.
* fhandler_process.cc (fhandler_process::open): Add set_nohandle after calling
superclass method. Remove references to p. Check return value of
fill_filebuf.
(fhandler_process::fill_filebuf): Change return type to bool. Don't use
dereference operator on p. Add return statement.
(fhandler_process::format_process_stat): Fix typo.
* fhandler_registry.cc: Add static open_key declaration.
(fhandler_registry::exists): Assume path is already normalised. Try opening
the path as a key in its own right first, before reverting to enumerating
subkeys and values of the parent key.
(fhandler_registry::fstat): Add additional code to return more relevant
information about the registry key/value.
(fhandler_registry::readdir): Explicitly set desired access when opening
registry key. Remove output of buf from debug_printf format string.
(fhandler_registry::open): Use set_io_handle to store registry key handle. Set
value_name member. Move code to read a value from the registry to
fill_filebuf. Add call to fill_filebuf.
(fhandler_registry::close): New method.
(fhandler_registry::fill_filebuf): Change return type to bool. Add code to
read a value from registry.
(fhandler_registry::open_key): Make function static. Use KEY_READ as desired
access unless this is the last path component. Check the return value of
RegOpenKeyEx for an error instead of hKey.
* fhandler_virtual.cc (fhandler_virtual::lseek): Check the return value of
fill_filebuf.
(fhandler_virtual::open): Remove call to set_nohandle.
(fhandler_virtual::fill_filebuf): Change return type to bool. Add return
statement.
* security.cc (get_nt_object_attribute): New function.
(get_object_attribute): New function.
* security.h (get_object_attribute): New function declaration.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index ebb07a8df..5727d24ab 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1090,7 +1090,7 @@ class fhandler_virtual : public fhandler_base int open (path_conv *, int flags, mode_t mode = 0); int close (void); int __stdcall fstat (struct stat *buf, path_conv *pc) __attribute__ ((regparm (3))); - virtual void fill_filebuf (); + virtual bool fill_filebuf (); }; class fhandler_proc: public fhandler_virtual @@ -1104,11 +1104,13 @@ class fhandler_proc: public fhandler_virtual int open (path_conv *real_path, int flags, mode_t mode = 0); int __stdcall fstat (struct __stat64 *buf, path_conv *) __attribute__ ((regparm (3))); - void fill_filebuf (); + bool fill_filebuf (); }; class fhandler_registry: public fhandler_proc { + private: + char *value_name; public: fhandler_registry (); int exists(); @@ -1120,22 +1122,21 @@ class fhandler_registry: public fhandler_proc int open (path_conv *real_path, int flags, mode_t mode = 0); int __stdcall fstat (struct __stat64 *buf, path_conv *) __attribute__ ((regparm (3))); - HKEY open_key(const char *name, REGSAM access = KEY_READ, bool isValue = false); - void fill_filebuf (); + bool fill_filebuf (); + int close (void); }; class pinfo; class fhandler_process: public fhandler_proc { pid_t pid; - pinfo *p; public: fhandler_process (); int exists(); struct dirent *readdir (DIR *); int open (path_conv *real_path, int flags, mode_t mode = 0); int __stdcall fstat (struct __stat64 *buf, path_conv *) __attribute__ ((regparm (3))); - void fill_filebuf (); + bool fill_filebuf (); }; typedef union |