DOS namespaces, accessible/walk-able as Admin via Cygwin?

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Fri Apr 26 05:23:00 GMT 2024


On 2024-04-25 19:45, Dan Shelton via Cygwin wrote:
> On Mon, 22 Apr 2024 at 07:01, Brian Inglis via Cygwin wrote:
>> On 2024-04-21 17:24, Dan Shelton via Cygwin wrote:
>>> On Sat, 20 Apr 2024 at 05:37, Brian Inglis via Cygwin wrote:
>>>>> 2. If I have Administrator rights, is there a way in /proc where I can
>>>>> /bin/ls -la  or /bin/find -ls all those DOS namespaces and soft links
>>>>> to the real devices?
>>>>
>>>> Cygwin exposes these MS Windows Executive Object Manager subsystem resource
>>>> objects under /proc/sys/ and object namespaces are per session under
>>>> /proc/sys/Sessions/ you have e.g.
>>
>>>> $ ls -glo /proc/sys/Sessions/BNOLINKS/
>>>> total 0
>>>> lr--r--r-- 1 0 Apr 19 21:23 0 -> /proc/sys/BaseNamedObjects
>>>> lr--r--r-- 1 0 Apr 19 21:23 1 -> /proc/sys/Sessions/1/BaseNamedObjects
>>>>
>>>> so each session has its own set of BaseNamedObjects, which you can list with
>>>> appropriate permissions, or using a tree browser.
>>
>>> Now where does the "1" in /proc/sys/Sessions/1/BaseNamedObjects come
>>> from? Is there a Cygwin or Win32 API for that?
>>
>> It's the MS Windows session number for the first user session.
>> You can access them using Cygwin or MS Windows directory lookups or tree
>> browsers, as I said.
>> Search microsoft.com for Windows sessions for details about MS Windows APIs.
> 
> Windows has multiple session apis (terminal, logon, ...), which is
> used for the DOS namespace?

There really does not appear to be a "DOS" namespace, rather there are a bunch 
of legacy object names in the namespaces which may be used by console and GUI 
programs to access and operate on the underlying objects, possibly also using 
legacy APIs.

>>>> Under MS Windows you can use Sysinternals WinObj64 to browse the hierarchy and
>>>> objects.
>>>
>>> What is that?
>>
>> If you do not yet know that, perhaps you should not yet be digging into these MS
>> Windows Executive subsystem objects.
>>
>> Some of these questions seem very abstract - are these academic questions or
>> projects?
> 
> Building knowledge, learning, and debugging actual code.

Have a look at the object hierarchies either using a Cygwin tree browser or the 
winobj64 object browser to see what is actually out there and their properties.

The Cygwin all-volunteer spare time project's interest is in using newlib libc 
and Windows APIs to provide Unix functionality, to relevant POSIX standards if 
available and appropriate.

For anything else you should consult the available project documentation in the 
cygwin-doc package or online, in the newlib-cygwin/winsup/cygwin C++ source code 
providing the emulation, any MS Windows documentation that the vendor cares to 
make available, and perhaps other MS Windows emulation based open source 
projects like Wine, mingw64, msys2, etc.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin mailing list