summaryrefslogtreecommitdiffstats
path: root/private/os2/inc/conrqust.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/os2/inc/conrqust.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/os2/inc/conrqust.h')
-rw-r--r--private/os2/inc/conrqust.h162
1 files changed, 162 insertions, 0 deletions
diff --git a/private/os2/inc/conrqust.h b/private/os2/inc/conrqust.h
new file mode 100644
index 000000000..4f3044834
--- /dev/null
+++ b/private/os2/inc/conrqust.h
@@ -0,0 +1,162 @@
+
+#define NTOS2_ONLY
+#include "sesport.h"
+#include "os2err.h"
+
+/*
+ * Routines defined in conrqust.c to send requests to OS2.EXE
+ */
+
+APIRET
+SendCtrlConsoleRequest(
+ IN OUT PSCREQUESTMSG Request,
+ IN PCH OutBuffer,
+ OUT PCH InBuffer,
+ IN HANDLE hSem
+ );
+
+APIRET
+Od2CallRootProcessThruLPC(
+ IN OUT PSCREQUESTMSG Request,
+ IN PCH OutBuffer,
+ OUT PCH InBuffer,
+ IN HANDLE hSem,
+ IN ULONG ArgLength
+ );
+
+APIRET
+Od2LockCtrlRequestDataBuffer();
+
+VOID
+Od2UnlockCtrlRequestDataBuffer();
+
+APIRET
+Od2RemoveConsoleThread();
+
+APIRET
+Od2RestartConsoleThread();
+
+APIRET
+Od2AddWin32ChildProcess();
+
+APIRET
+Od2RemoveWin32ChildProcess();
+
+/*
+ * Routines in "VIO" (vio/kbd/mou) that are called from dllremot.c or
+ * dllmisc.c(DosDevIOCtl)
+ */
+
+APIRET KbdOpenLogHandle(PHANDLE);
+APIRET RemoteCloseHandle(HANDLE Handle);
+NTSTATUS CtrlCloseHandle(IN HANDLE hFile);
+APIRET KbdRead(IN PFILE_HANDLE hFileRecord, OUT PCH Buffer, IN ULONG Length,
+ OUT PULONG BytesRead, IN KBDREQUESTNUMBER RequestType);
+APIRET VioWrite(IN PFILE_HANDLE hFileRecord, IN PCH Buffer, IN ULONG Length,
+ OUT PULONG BytesWritten, IN VIOREQUESTNUMBER RequestType);
+APIRET DevMouOpen(OUT PHANDLE FileHandle);
+APIRET DevMouClose();
+APIRET KbdDupLogHandle( IN HANDLE hKbd);
+APIRET OpenLVBsection(VOID);
+APIRET Od2WaitForSingleObject(IN HANDLE Handle, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL);
+
+APIRET DosMonReg( IN ULONG hMon, IN PBYTE pInBuffer, IN PBYTE pOutBuffer,
+ IN ULONG fPosition, IN ULONG usIndex);
+APIRET KbdCharIn(OUT PKBDKEYINFO Info, IN ULONG Wait, IN ULONG hKbd);
+APIRET KbdPeek(OUT PKBDKEYINFO Info, IN ULONG hKbd);
+APIRET KbdGetFocus( IN ULONG Wait, IN ULONG hKbd);
+APIRET MouDrawPtr(IN ULONG hMou);
+APIRET MouGetDevStatus(OUT PUSHORT DevStatus, IN ULONG hMou);
+APIRET MouGetEventMask(OUT PUSHORT EventMask, IN ULONG hMou);
+APIRET MouGetNumButtons(OUT PUSHORT NumButtons, IN ULONG hMou);
+APIRET MouGetNumMickeys(OUT PUSHORT NumMickeys, IN ULONG hMou);
+APIRET MouGetNumQueEl(OUT PMOUQUEINFO NumQueEl, IN ULONG hMou);
+APIRET MouGetPtrPos(OUT PPTRLOC PtrPos, IN ULONG hMou);
+APIRET MouGetPtrShape(OUT PBYTE PtrMask, OUT PPTRSHAPE PtrShape, IN ULONG hMou);
+APIRET MouGetScaleFact(OUT PSCALEFACT ScaleFact, IN ULONG hMou);
+APIRET MouReadEventQue(OUT PMOUEVENTINFO MouEvent, IN PUSHORT Wait, IN ULONG hMou);
+APIRET MouRemovePtr(IN PNOPTRRECT Rect, IN ULONG hMou);
+APIRET MouSetDevStatus(IN PUSHORT DevStatus, IN ULONG hMou);
+APIRET MouSetEventMask(IN PUSHORT EventMask, IN ULONG hMou);
+APIRET MouSetPtrPos(IN PPTRLOC PtrPos, IN ULONG hMou);
+APIRET MouSetPtrShape(IN PBYTE PtrMask, IN PPTRSHAPE PtrShape, IN ULONG hMou);
+APIRET MouSetScaleFact(IN PSCALEFACT ScaleFact, IN ULONG hMou);
+
+APIRET KbdGetCpId(OUT PUSHORT pIdCodePage, IN ULONG hKbd);
+APIRET KbdGetInputMode(OUT PBYTE pInputMode, IN ULONG hKbd);
+APIRET KbdGetInterimFlag(OUT PBYTE pInterimFlag, IN ULONG hKbd);
+APIRET KbdGetKbdType(OUT PUSHORT pKbdType, IN ULONG hKbd);
+APIRET KbdGetHotKey(IN PUSHORT pParm, OUT PBYTE pHotKey, IN ULONG hKbd);
+APIRET KbdGetShiftState(OUT PBYTE pvData, IN ULONG hDev);
+APIRET KbdSetInputMode(IN BYTE InputMode, IN ULONG hDev);
+APIRET KbdSetInterimFlag(IN BYTE InterimFlag, IN ULONG hDev);
+APIRET KbdSetShiftState(OUT PBYTE pvData, IN ULONG hDev);
+APIRET KbdSetTypamaticRate(IN PBYTE pRateDelay, IN ULONG hDev);
+APIRET MouAllowPtrDraw(IN ULONG hMou);
+APIRET MouScreenSwitch(IN PBYTE pScreenGroup, IN ULONG hMou);
+
+/*
+ * pointer to section of all-session-group parm
+ */
+
+POS2_SES_GROUP_PARMS SesGrp;
+ULONG SesGrpId;
+
+/*
+ * parameters from os2.exe ports for Vio/Kbd/Mou/Mon/Net APIs
+ */
+
+HANDLE CtrlPortHandle;
+
+PVOID VioBuff; // LVB buffer for VIO (after got selector)
+
+extern HANDLE FocusSemaphore;
+extern HANDLE CtrlDataSemaphore;
+extern HANDLE KbdDataSemaphore;
+extern HANDLE MouDataSemaphore;
+extern HANDLE PopUpSemaphore;
+extern HANDLE ScreenLockSemaphore;
+extern HANDLE PauseEvent;
+extern HANDLE Od2VioWriteSemHandle;
+
+USHORT MoniorOpenedForThisProcess;
+
+#if DBG
+
+//
+// conrqust.c
+//
+
+VOID
+AcquireStdHandleLock(
+ IN PSZ CallingRoutine
+ );
+
+VOID
+ReleaseStdHandleLock(
+ IN PSZ CallingRoutine
+ );
+
+#else
+VOID
+AcquireStdHandleLock(
+ );
+
+VOID
+ReleaseStdHandleLock(
+ );
+#endif
+
+
+#if DBG
+#define UNSUPPORTED_API() \
+ DbgPrint("%s Not Implemented Yet\n", FuncName); \
+ /* DbgUserBreakPoint(); */ \
+ return NO_ERROR;
+#else
+#define UNSUPPORTED_API() \
+ /* DbgUserBreakPoint(); */ \
+ return NO_ERROR;
+#endif
+
+