Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2006-10-19 14:01:03 +0400
committerCorinna Vinschen <corinna@vinschen.de>2006-10-19 14:01:03 +0400
commit20f9af53481ba97c6759e2febe449428618936ad (patch)
treea72d0bc81c925035b3a6b363b368f912105c87c5 /winsup/cygwin/fhandler.h
parentd145878a0750751e48f092f0a4fdc0d802fe6eff (diff)
* 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.h5
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 *);