ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection.
diff --git a/server/protocol.def b/server/protocol.def
index 9bfdbd0..af9db7b 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -238,6 +238,8 @@
     APC_VIRTUAL_FLUSH,
     APC_VIRTUAL_LOCK,
     APC_VIRTUAL_UNLOCK,
+    APC_MAP_VIEW,
+    APC_UNMAP_VIEW,
     APC_CREATE_THREAD
 };
 
@@ -313,6 +315,23 @@
     } virtual_unlock;
     struct
     {
+        enum apc_type    type;      /* APC_MAP_VIEW */
+        obj_handle_t     handle;    /* mapping handle */
+        void            *addr;      /* requested address */
+        unsigned long    size;      /* allocation size */
+        unsigned int     offset_low;/* file offset */
+        unsigned int     offset_high;
+        unsigned int     zero_bits; /* allocation alignment */
+        unsigned int     alloc_type;/* allocation type */
+        unsigned int     prot;      /* memory protection flags */
+    } map_view;
+    struct
+    {
+        enum apc_type    type;      /* APC_UNMAP_VIEW */
+        void            *addr;      /* view address */
+    } unmap_view;
+    struct
+    {
         enum apc_type    type;      /* APC_CREATE_THREAD */
         void (__stdcall *func)(void*);  /* start function */
         void            *arg;       /* argument for start function */
@@ -382,6 +401,18 @@
     } virtual_unlock;
     struct
     {
+        enum apc_type    type;      /* APC_MAP_VIEW */
+        unsigned int     status;    /* status returned by call */
+        void            *addr;      /* resulting address */
+        unsigned long    size;      /* resulting size */
+    } map_view;
+    struct
+    {
+        enum apc_type    type;      /* APC_MAP_VIEW */
+        unsigned int     status;    /* status returned by call */
+    } unmap_view;
+    struct
+    {
         enum apc_type    type;      /* APC_CREATE_THREAD */
         unsigned int     status;    /* status returned by call */
         thread_id_t      tid;       /* thread id */