summaryrefslogtreecommitdiffstats
path: root/private/os2/os2ses/mon.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/os2/os2ses/mon.h')
-rw-r--r--private/os2/os2ses/mon.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/private/os2/os2ses/mon.h b/private/os2/os2ses/mon.h
new file mode 100644
index 000000000..eca918589
--- /dev/null
+++ b/private/os2/os2ses/mon.h
@@ -0,0 +1,82 @@
+/*++
+
+Copyright (c) 1989 Microsoft Corporation
+
+Module Name:
+
+ mon.h
+
+Abstract:
+
+ Prototypes for functions & macros in monrqust.c
+
+Author:
+
+ Michael Jarus (mjarus) 2-Feb-1992
+
+Environment:
+
+ User Mode Only
+
+Revision History:
+
+--*/
+
+/*
+ * Table for all (registered) monitor buffers
+ * <ProcessId>+<Buffer> must be unique.
+ */
+
+typedef struct _MON_BUFFER_TABLE
+{
+ PMON_HEADER MonHeader;
+ ULONG ProcessId;
+ PVOID Buffer;
+} MON_BUFFER_TABLE, *PMON_BUFFER_TABLE;
+
+#define MON_BUFFER_TABLE_SIZE 30
+
+MON_BUFFER_TABLE MonBuffTable[MON_BUFFER_TABLE_SIZE];
+
+/*
+ * Find/Add/Delete a Buffer in/to/from the monitor-buffer-table
+ */
+
+DWORD FindMonitorBuffer(IN PVOID Buffer,
+ IN ULONG ProcessId);
+
+DWORD AddMonitorBuffer(IN PVOID Buffer,
+ IN PMON_HEADER MonHeader,
+ IN ULONG ProcessId);
+
+DWORD DelMonitorBuffer(IN PMON_HEADER MonHeader);
+
+/*
+ * Add/Remove the monitor-queue to/from the device chain
+ */
+
+DWORD AddMonitor(IN PMON_HEADER NewMonHeader,
+ IN PMON_HEADER *pMonQueue);
+
+DWORD RemoveMonitor(IN PMON_HEADER OldMonHeader,
+ IN PMON_HEADER *pMonQueue);
+
+/*
+ * Mon internal functions to serve the client requsets.
+ */
+
+DWORD MonOpen(IN MONDEVNUMBER DevType,
+ OUT PHANDLE hMon);
+
+DWORD MonReg(IN PMON_REG MonReg);
+
+DWORD MonRead(IN OUT PMON_RW rwParms,
+ OUT PULONG pReply,
+ IN PVOID pMsg);
+
+DWORD MonWrite(IN PMON_RW rwParms,
+ OUT PULONG pReply,
+ IN PVOID pMsg);
+
+DWORD MonClose(IN HANDLE hMon);
+