diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index de7ab0649..080b75089 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,8 @@ +2008-12-11 Christian Franke + + * pathnames.sgml: New section for /proc/registry. Document registry + name encoding. + 2008-12-04 Corinna Vinschen * ntsec.sgml: Fix typo. diff --git a/winsup/doc/pathnames.sgml b/winsup/doc/pathnames.sgml index 2daad6d2c..f501606b8 100644 --- a/winsup/doc/pathnames.sgml +++ b/winsup/doc/pathnames.sgml @@ -510,11 +510,23 @@ displays information such as what model and speed processor you have. One unique aspect of the Cygwin /proc filesystem -is /proc/registry, which displays the Windows -registry with each KEY as a directory and each -VALUE as a file. As anytime you deal with the -Windows registry, use caution since changes may result in an unstable -or broken system. There are additionally subdirectories called +is /proc/registry, see next section. + + +The Cygwin /proc is not as complete as the +one in Linux, but it provides significant capabilities. The +procps package contains several utilities +that use it. + + + +The /proc/registry filesystem + +The /proc/registry filesystem provides read-only +access to the Windows registry. It displays each KEY +as a directory and each VALUE as a file. As anytime +you deal with the Windows registry, use caution since changes may result +in an unstable or broken system. There are additionally subdirectories called /proc/registry32 and /proc/registry64. They are identical to /proc/registry on 32 bit host OSes. On 64 bit host OSes, /proc/registry32 @@ -522,10 +534,29 @@ opens the 32 bit processes view on the registry, while /proc/registry64 opens the 64 bit processes view. -The Cygwin /proc is not as complete as the -one in Linux, but it provides significant capabilities. The -procps package contains several utilities -that use it. +Reserved characters ('/', '\', ':', and '%') or reserved names +(. and ..) are converted by +percent-encoding: + +bash$ regtool list -v '\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' +... +\DosDevices\C: (REG_BINARY) = cf a8 97 e8 00 08 fe f7 +... +bash$ cd /proc/registry/HKEY_LOCAL_MACHINE/SYSTEM +bash$ ls -l MountedDevices +... +-r--r----- 1 Admin SYSTEM 12 Dec 10 11:20 %5CDosDevices%5CC%3A +... +bash$ od -t x1 MountedDevices/%5CDosDevices%5CC%3A +0000000 cf a8 97 e8 00 08 fe f7 01 00 00 00 + +The unnamed (default) value of a key can be accessed using the filename +@. + + +If a registry key contains a subkey and a value with the same name +foo, Cygwin displays the subkey as +foo and the value as foo%val.