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.
Add an initial Novell-style NDIR implementation for the DOS utilities.
The new tool supports basic DOS namespace directory listings using
_dos_findfirst/_dos_findnext, including wildcard paths, current-directory
listing, files-only and directories-only modes, recursive /SUB listings,
continuous output and Novell-style help text.
NDIR separates file and directory output into Novell-like sections,
prints long NetWare-style attribute brackets, and reports both file bytes
and allocated bytes in blocks using a simple per-file 4 KiB block
approximation for the initial implementation.
Add initial /RIGHTS support. The rights format displays rights columns
for files and directories, obtains effective rights through Client32
NCP87, and falls back to the older directory-handle effective-rights path
when needed. For now the inherited-rights column uses the effective
rights value until a separate inherited-rights mask is available.
Add initial /DATES support with a Novell-style date column layout showing
Last Updated, Last Archived, Accessed and Created/Copied fields. The
initial implementation uses the DOS findfirst update timestamp for the
available date values and placeholder archive/access values until full
NetWare namespace date fields are exposed.
Add /SHORT and /BRIEF as compact output modes for recursive listings and
manual testing. These modes keep the useful values while suppressing the
large Novell-style section headers and empty recursive sections.
Wire NDIR into the multicall dispatcher, CMake build and install list,
and document the supported command forms in the README.
Owner display, true inherited-right masks, full namespace date fields,
sorting and restrictions remain future work.