dosutils: use NCP87 DOS info fields in NDIR

Add a Client32 NCP87 helper for obtaining DOS namespace file and
subdirectory information and use it in NDIR.

The new helper reads the classic NCP87 subfunction 6 RIM_ALL DOS info
block, including timestamps, inherited rights, directory identifiers and
size metadata.

Use the NCP87 inherited rights mask for the inherited-rights column while
keeping the existing Client32 effective-rights path for the effective
rights column.  Also use the NCP87 modify, archive, last-access and
creation date fields for the /DATES display, falling back to DOS
findfirst timestamps when the NCP87 info request is not available.

Tighten the /DATES layout so the full Created/Copied timestamp remains
within an 80-column DOS screen.
This commit is contained in:
Mario Fetka
2026-05-25 09:17:56 +02:00
parent 7117bfff68
commit 6d2d3f367f
5 changed files with 244 additions and 18 deletions

View File

@@ -534,10 +534,10 @@ NDIR PUBLIC /DO
The first version intentionally focuses on the common listing path. More
advanced Novell NDIR features such as sorting and restrictions are accepted
only as future compatibility points or will be implemented in later revisions. The `/RIGHTS` display currently uses effective rights for both
rights columns until inherited-right masks are exposed. The `/DATES` display
uses the DOS update timestamp and placeholder values for archive/access fields
until full NetWare namespace date fields are available.
only as future compatibility points or will be implemented in later revisions. The `/RIGHTS` display uses NCP87 information for inherited rights and
Client32 effective-rights calls for effective rights. The `/DATES` display
uses NCP87 DOS info fields when available and falls back to DOS findfirst
timestamps otherwise.
### `DEBUG`