diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-10-19 10:01:03 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-10-19 10:01:03 +0000 |
commit | 20f9af53481ba97c6759e2febe449428618936ad (patch) | |
tree | a72d0bc81c925035b3a6b363b368f912105c87c5 /winsup/cygwin/fhandler.h | |
parent | d145878a0750751e48f092f0a4fdc0d802fe6eff (diff) | |
download | cygnal-20f9af53481ba97c6759e2febe449428618936ad.tar.gz cygnal-20f9af53481ba97c6759e2febe449428618936ad.tar.bz2 cygnal-20f9af53481ba97c6759e2febe449428618936ad.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 6103b432c..c740ecee9 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -139,7 +139,7 @@ class fhandler_base class fhandler_base *archetype; int usecount; - void set_name (path_conv &pc); + virtual void set_name (path_conv &pc); int error () const {return pc.error;} void set_error (int error) {pc.error = error;} bool exists () const {return pc.exists ();} @@ -1266,8 +1266,11 @@ class fhandler_registry: public fhandler_proc { private: char *value_name; + DWORD wow64; + int prefix_len; public: fhandler_registry (); + void set_name (path_conv &pc); int exists(); int readdir (DIR *, dirent *) __attribute__ ((regparm (3))); _off64_t telldir (DIR *); |