* dcrt0.cc (dummy_autoload): Add load statement for RegDeleteValueA.

* external.cc (get_cygdrive_prefixes): New function.
(cygwin_internal): Add CW_GET_CYGDRIVE_PREFIXES case.
* path.cc (mount_info::read_cygdrive_info_from_registry): Read system cygdrive
prefix if user one is undefined.
(mount_info::write_cygdrive_info_to_registry): Write cygdrive prefix to the
appropriate registry hive.  Overwrite in-memory copy of cygdrive, if
appropriate.
(mount_info::remove_cygdrive_info_from_registry): New method.
(mount_info::get_cygdrive_prefixes): New method.
(cygwin_umount): Remove cygdrive prefix, if appropriate.
* registry.cc (reg_key::killvalue): New method.
* shared.h (class reg_key): Add killvalue, remove_cygdrive_info_to_registry,
and get_cygdrive_prefixes declarations.
* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GET_CYGDRIVE_PREFIXES.
This commit is contained in:
Christopher Faylor
2000-07-28 22:33:43 +00:00
parent c84b63e961
commit 637f5ce0fe
7 changed files with 155 additions and 12 deletions

View File

@ -247,6 +247,7 @@ public:
int error () {return key == (HKEY) INVALID_HANDLE_VALUE;}
int kill (const char *child);
int killvalue (const char *name);
HKEY get_key ();
int get_int (const char *,int def);
@ -336,6 +337,8 @@ public:
struct mntent *getmntent (int x);
int write_cygdrive_info_to_registry (const char *cygdrive_prefix, unsigned flags);
int remove_cygdrive_info_from_registry (const char *cygdrive_prefix, unsigned flags);
int get_cygdrive_prefixes (char *user, char *system);
void import_v1_mounts ();