mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
273 lines
12 KiB
273 lines
12 KiB
|
|
Aug-27-1991:
|
|
|
|
NOTE (Yarons):
|
|
This is the 32 bit support as of April 1st 1990 - by stevewo
|
|
For 32 bit APIs, we added named pipes, fixed bugs and support UNC.
|
|
|
|
Bulk of work and focus is on 16bit APIs, which is scheduled in a Win
|
|
Project file with WIN32/NT product 1 schedule
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
; This list defines the Cruiser OS/2 API Calls that are supported by the
|
|
; NT OS/2 Emulation Subsystem. The percent complete column has the
|
|
; following meanings:
|
|
;
|
|
; XXX - Api is implemented and has passed component test
|
|
; 100 - Api is implemented and is 100% functional (i.e. passed unit test)
|
|
; 10 - Api is implemented and is 10% functional
|
|
; 0 - Api is implemented but does nothing (i.e. a stub to link against)
|
|
; blank - Api is not callable
|
|
|
|
Percent Location of Notes on
|
|
Complete External API Name Implementation Status
|
|
|
|
90 DosQuerySysInfo DLL
|
|
80 DosBeep DLL
|
|
60 DosDevConfig DLL
|
|
|
|
100 DosSetExceptionHandler DLL
|
|
100 DosUnsetExceptionHandler DLL
|
|
100 DosRaiseException DLL
|
|
100 DosUnwindException DLL
|
|
|
|
100 DosError DLL
|
|
100 DosErrClass DLL
|
|
|
|
100 DosGetMessage DLL
|
|
100 DosInsertMessage DLL
|
|
100 DosPutMessage DLL
|
|
100 DosQueryMessageCP DLL
|
|
|
|
100 DosSetProcessCp DLL
|
|
100 DosQueryCp DLL
|
|
70 DosQueryCtryInfo DLL
|
|
70 DosQueryDBCSEnv DLL
|
|
70 DosQueryCollate DLL
|
|
70 DosMapCase DLL
|
|
|
|
100 DosScanEnv DLL
|
|
100 DosSearchPath DLL
|
|
100 DosQueryVerify DLL
|
|
100 DosSetVerify DLL
|
|
100 DosSetMaxFH DLL
|
|
|
|
100 DosCreateThread Server
|
|
100 DosWaitChild Server
|
|
100 DosWaitThread Server
|
|
100 DosEnterCritSec Server
|
|
100 DosExitCritSec Server
|
|
100 DosExecPgm DLL/Server
|
|
100 DosExit Server
|
|
100 DosExitList DLL
|
|
100 DosGetThreadInfo DLL
|
|
100 DosSetPriority Server
|
|
100 DosKillProcess Server
|
|
100 DosResumeThread Server
|
|
100 DosSuspendThread Server
|
|
|
|
100 DosCreatePipe DLL/Server
|
|
|
|
100 DosCreateEventSem DLL/Server
|
|
100 DosOpenEventSem DLL/Server
|
|
100 DosCloseEventSem DLL/Server
|
|
100 DosResetEventSem DLL
|
|
100 DosPostEventSem DLL
|
|
100 DosWaitEventSem DLL
|
|
100 DosQueryEventSem DLL
|
|
|
|
100 DosCreateMutexSem DLL/Server
|
|
100 DosOpenMutexSem DLL/Server
|
|
100 DosCloseMutexSem DLL/Server
|
|
100 DosRequestMutexSem DLL
|
|
100 DosReleaseMutexSem DLL
|
|
100 DosQueryMutexSem DLL
|
|
|
|
90 DosCreateMuxWaitSem DLL/Server
|
|
90 DosOpenMuxWaitSem DLL/Server
|
|
90 DosCloseMuxWaitSem DLL/Server
|
|
90 DosWaitMuxWaitSem DLL/Server
|
|
90 DosAddMuxWaitSem DLL/Server
|
|
90 DosDeleteMuxWaitSem DLL/Server
|
|
90 DosQueryMuxWaitSem DLL/Server
|
|
|
|
100 DosGetDateTime DLL
|
|
100 DosSetDateTime DLL
|
|
100 DosSleep DLL
|
|
100 DosAsyncTimer DLL
|
|
100 DosStartTimer DLL
|
|
100 DosStopTimer DLL
|
|
|
|
90 DosAllocMem DLL
|
|
90 DosAllocSharedMem Server
|
|
90 DosGetNamedSharedMem Server
|
|
90 DosGetSharedMem Server
|
|
90 DosGiveSharedMem Server
|
|
90 DosFreeMem DLL/Server
|
|
90 DosSetMem DLL
|
|
90 DosQueryMem DLL
|
|
|
|
100 DosSubAlloc DLL
|
|
100 DosSubFree DLL
|
|
100 DosSubSet DLL
|
|
|
|
100 DosLoadModule DLL/Loader Subsystem
|
|
100 DosFreeModule DLL/Loader Subsystem
|
|
100 DosQueryProcAddr DLL/Loader Subsystem
|
|
100 DosQueryModuleHandle DLL/Loader Subsystem
|
|
100 DosQueryModuleName DLL/Loader Subsystem
|
|
100 DosGetResource DLL/Loader Subsystem
|
|
100 DosQueryResourceSize DLL/Loader Subsystem
|
|
100 DosQueryAppType DLL/Loader Subsystem
|
|
|
|
100 DosOpen DLL
|
|
100 DosSetFHState DLL
|
|
100 DosQueryFHState DLL
|
|
100 DosQueryHType DLL
|
|
|
|
100 DosSetFileInfo DLL
|
|
100 DosQueryFileInfo DLL
|
|
100 DosResetBuffer DLL
|
|
100 DosSetFilePtr DLL
|
|
100 DosRead DLL
|
|
100 DosWrite DLL
|
|
100 DosClose DLL
|
|
|
|
DosDevIOCtl DLL (see below)
|
|
100 DosDupHandle DLL
|
|
100 DosSetFileLocks DLL
|
|
100 DosSetFileSize DLL
|
|
|
|
85 DosFindFirst DLL
|
|
85 DosFindNext DLL
|
|
85 DosFindClose DLL
|
|
100 DosSetDefaultDisk DLL
|
|
100 DosQueryCurrentDisk DLL
|
|
100 DosSetCurrentDir DLL/Server
|
|
100 DosQueryCurrentDir DLL/Server
|
|
100 DosDelete DLL
|
|
100 DosEditName DLL
|
|
100 DosQueryPathInfo DLL
|
|
100 DosSetPathInfo DLL
|
|
DosEnumAttribute DLL
|
|
100 DosCreateDir DLL
|
|
100 DosDeleteDir DLL
|
|
90 DosMove DLL (move not done in NT)
|
|
100 DosCopy DLL
|
|
|
|
10 DosFSAttach DLL (see below)
|
|
75 DosFSCtl DLL (see below)
|
|
10 DosQueryFSAttach DLL (see below)
|
|
100 DosSetFSInfo DLL
|
|
100 DosQueryFSInfo DLL
|
|
|
|
100 DosStartSession Server
|
|
100 DosSetSession Server
|
|
100 DosSelectSession Server
|
|
100 DosStopSession Server
|
|
|
|
DosCallNPipe Server
|
|
DosConnectNPipe Server
|
|
DosDisConnectNPipe Server
|
|
DosCreateNPipe Server
|
|
DosPeekNPipe Server
|
|
DosQueryNPHState Server
|
|
DosQueryNPipeInfo Server
|
|
DosQueryNPipeSemState Server
|
|
DosRawReadNPipe Server
|
|
DosRawWriteNPipe Server
|
|
DosSetNPHState Server
|
|
DosSetNPipeSem Server
|
|
DosTransactNPipe Server
|
|
DosWaitNPipe Server
|
|
|
|
100 DosCreateQueue Server
|
|
100 DosOpenQueue Server
|
|
100 DosCloseQueue Server
|
|
100 DosPeekQueue Server
|
|
100 DosPurgeQueue Server
|
|
100 DosQueryQueue Server
|
|
100 DosReadQueue Server
|
|
100 DosWriteQueue Server
|
|
|
|
Work Items:
|
|
|
|
1. Implement NLS support (5 days)
|
|
|
|
This work item includes the following items:
|
|
|
|
o spec the source file format for all the NLS information. This
|
|
will be a superset of the contents of COUNTRY.SYS. Currently
|
|
OS/2 uses an incomprehensible 4000 line assembler file with lots
|
|
of macros and a few includes just to keep you guessing.
|
|
|
|
o spec the binary file format of the NLS information. The NLS file(s?)
|
|
will be mapped into readonly memory at runtime and accessed directly.
|
|
|
|
o write a utility to convert the source file format to the binary file
|
|
format.
|
|
|
|
o write a throw away utility to convert COUNTRY.SYS to the new source
|
|
format.
|
|
|
|
o modify the following NLS API calls to access the new binary file format
|
|
by mapping the NLS binary file(s?). Maintain a cache so we only map
|
|
the NLS file(s?) the first time they are needed in a process.
|
|
|
|
DosSetProcessCp DosQueryCp DosQueryCtryInfo
|
|
DosQueryDBCSEnv DosQueryCollate DosMapCase
|
|
|
|
|
|
2. Implement DBCS support (5 days)
|
|
|
|
This work item includes the following items:
|
|
|
|
o implement DBCS runtime code for moving forwards and backwards through
|
|
a string (both ASCIZ and counted STRING types). Also fetching for
|
|
characters as well. How does executive access DBCS NLS information if
|
|
we are mapping it in user mode. Is it also mapped in executive space,
|
|
and if so, then that is aliasing within the same addres space.
|
|
|
|
o Modify all OS/2 API calls the parse string parameters so that they call
|
|
runtime routines to advance a string pointer and fetch characters.
|
|
|
|
These include:
|
|
DosGetMessage DosInsertMessage DosPutMessage
|
|
DosQueryMessageCP DosMapCase DosScanEnv
|
|
DosSearchPath DosExecPgm DosCreateEventSem
|
|
DosOpenEventSem DosCreateMutexSem DosOpenMutexSem
|
|
DosCreateMuxWaitSem DosOpenMuxWaitSem
|
|
DosAllocSharedMem DosGetNamedSharedMem DosLoadModule
|
|
DosQueryProcAddr DosQueryModuleHandle DosQueryAppType
|
|
DosOpen DosFindFirst DosFindNext DosSetCurrentDir
|
|
DosDelete DosEditName DosQueryPathInfo
|
|
DosSetPathInfo DosCreateDir DosDeleteDir DosMove
|
|
DosCopy DosFSAttach DosQueryFSAttach DosSetFSInfo
|
|
DosQueryFSInfo DosStartSession DosCallNPipe
|
|
DosCreateNPipe DosRawReadNPipe DosRawWriteNPipe
|
|
DosWaitNPipe DosCreateQueue DosOpenQueue
|
|
|
|
3. Implement Cruiser Named Pipes (10 days)
|
|
|
|
4. DosDevioctl
|
|
|
|
We need to decide among the following options:
|
|
|
|
o remove from cruiser 32-bit API set and redefine API in
|
|
OS/2 subsystem to look like NtDeviceIoControl
|
|
|
|
o choose a subset of DosDevioctl function/category combinations
|
|
to support in subsystem (map to corresponding
|
|
NtDeviceIoControl functions)
|
|
|
|
The first option makes more sense since the 16-bit interface is available
|
|
in cruiser and the 32-bit API provides no additional functionality.
|
|
Using the NT interface is cleaner/more extendible.
|
|
|
|
5. DosFsAttach/DosQFsAttach/DosFsctl
|
|
|
|
These are fully designed. We need to decide whether these should exist as
|
|
32-bit API in cruiser since they provide no new functionality and we might
|
|
want to modify the interface in NT. We also need to decide whether these
|
|
are worth including in NT since they have no use at this time.
|