[FORMATTING] Standardize win32csr to 4-space indents. Based on a patch by Adam Kachwa...
[reactos.git] / reactos / subsystems / win32 / csrss / win32csr / dllmain.c
index f8332a7..7d8b7e2 100644 (file)
@@ -23,7 +23,13 @@ HINSTANCE Win32CsrDllHandle = NULL;
 static CSRSS_EXPORTED_FUNCS CsrExports;
 
 static CSRSS_API_DEFINITION Win32CsrApiDefinitions[] =
-  {
+{
+    CSRSS_DEFINE_API(GET_INPUT_HANDLE,             CsrGetHandle),
+    CSRSS_DEFINE_API(GET_OUTPUT_HANDLE,            CsrGetHandle),
+    CSRSS_DEFINE_API(CLOSE_HANDLE,                 CsrCloseHandle),
+    CSRSS_DEFINE_API(VERIFY_HANDLE,                CsrVerifyHandle),
+    CSRSS_DEFINE_API(DUPLICATE_HANDLE,             CsrDuplicateHandle),
+    CSRSS_DEFINE_API(GET_INPUT_WAIT_HANDLE,        CsrGetInputWaitHandle),
     CSRSS_DEFINE_API(WRITE_CONSOLE,                CsrWriteConsole),
     CSRSS_DEFINE_API(READ_CONSOLE,                 CsrReadConsole),
     CSRSS_DEFINE_API(ALLOC_CONSOLE,                CsrAllocConsole),
@@ -75,135 +81,63 @@ static CSRSS_API_DEFINITION Win32CsrApiDefinitions[] =
     CSRSS_DEFINE_API(GET_CONSOLE_ALIASES_EXES_LENGTH, CsrGetConsoleAliasesExesLength),
     CSRSS_DEFINE_API(GENERATE_CTRL_EVENT,          CsrGenerateCtrlEvent),
     CSRSS_DEFINE_API(SET_SCREEN_BUFFER_SIZE,       CsrSetScreenBufferSize),
+    CSRSS_DEFINE_API(GET_CONSOLE_SELECTION_INFO,   CsrGetConsoleSelectionInfo),
     { 0, 0, NULL }
-  };
-
-static CSRSS_OBJECT_DEFINITION Win32CsrObjectDefinitions[] =
-  {
-    { CONIO_CONSOLE_MAGIC,       ConioDeleteConsole },
-    { CONIO_SCREEN_BUFFER_MAGIC, ConioDeleteScreenBuffer },
-    { 0,                         NULL }
-  };
+};
 
 /* FUNCTIONS *****************************************************************/
 
 BOOL WINAPI
 DllMain(HANDLE hDll,
-       DWORD dwReason,
-       LPVOID lpReserved)
+        DWORD dwReason,
+        LPVOID lpReserved)
 {
-  if (DLL_PROCESS_ATTACH == dwReason)
+    if (DLL_PROCESS_ATTACH == dwReason)
     {
-      Win32CsrDllHandle = hDll;
-      InitializeAppSwitchHook();
+        Win32CsrDllHandle = hDll;
+        InitializeAppSwitchHook();
     }
 
-  return TRUE;
-}
-
-NTSTATUS FASTCALL
-Win32CsrInsertObject(PCSRSS_PROCESS_DATA ProcessData,
-                      PHANDLE Handle,
-                      Object_t *Object,
-                      DWORD Access,
-                      BOOL Inheritable)
-{
-  return (CsrExports.CsrInsertObjectProc)(ProcessData, Handle, Object, Access, Inheritable);
-}
-
-NTSTATUS FASTCALL
-Win32CsrGetObject(PCSRSS_PROCESS_DATA ProcessData,
-                 HANDLE Handle,
-                 Object_t **Object,
-                 DWORD Access)
-{
-  return (CsrExports.CsrGetObjectProc)(ProcessData, Handle, Object, Access);
-}
-
-NTSTATUS FASTCALL
-Win32CsrLockObject(PCSRSS_PROCESS_DATA ProcessData,
-                   HANDLE Handle,
-                   Object_t **Object,
-                   DWORD Access,
-                   LONG Type)
-{
-  NTSTATUS Status;
-
-  Status = (CsrExports.CsrGetObjectProc)(ProcessData, Handle, Object, Access);
-  if (! NT_SUCCESS(Status))
-    {
-      return Status;
-    }
-
-  if ((*Object)->Type != Type)
-    {
-      (CsrExports.CsrReleaseObjectByPointerProc)(*Object);
-      return STATUS_INVALID_HANDLE;
-    }
-
-  EnterCriticalSection(&((*Object)->Lock));
-
-  return STATUS_SUCCESS;
-}
-
-VOID FASTCALL
-Win32CsrUnlockObject(Object_t *Object)
-{
-  LeaveCriticalSection(&(Object->Lock));
-  (CsrExports.CsrReleaseObjectByPointerProc)(Object);
-}
-
-NTSTATUS FASTCALL
-Win32CsrReleaseObjectByPointer(Object_t *Object)
-{
-  return (CsrExports.CsrReleaseObjectByPointerProc)(Object);
-}
-
-NTSTATUS FASTCALL
-Win32CsrReleaseObject(PCSRSS_PROCESS_DATA ProcessData,
-                      HANDLE Object)
-{
-  return (CsrExports.CsrReleaseObjectProc)(ProcessData, Object);
+    return TRUE;
 }
 
 NTSTATUS FASTCALL
 Win32CsrEnumProcesses(CSRSS_ENUM_PROCESS_PROC EnumProc,
                       PVOID Context)
 {
-  return (CsrExports.CsrEnumProcessesProc)(EnumProc, Context);
+    return (CsrExports.CsrEnumProcessesProc)(EnumProc, Context);
 }
 
 static BOOL WINAPI
 Win32CsrInitComplete(void)
 {
-  PrivateCsrssInitialized();
+    PrivateCsrssInitialized();
 
-  return TRUE;
+    return TRUE;
 }
 
 BOOL WINAPI
 Win32CsrInitialization(PCSRSS_API_DEFINITION *ApiDefinitions,
-                       PCSRSS_OBJECT_DEFINITION *ObjectDefinitions,
-                       CSRPLUGIN_INIT_COMPLETE_PROC *InitComplete,
-                       CSRPLUGIN_HARDERROR_PROC *HardError,
+                       PCSRPLUGIN_SERVER_PROCS ServerProcs,
                        PCSRSS_EXPORTED_FUNCS Exports,
                        HANDLE CsrssApiHeap)
 {
-  NTSTATUS Status;
-  CsrExports = *Exports;
-  Win32CsrApiHeap = CsrssApiHeap;
+    NTSTATUS Status;
+    CsrExports = *Exports;
+    Win32CsrApiHeap = CsrssApiHeap;
 
-  Status = NtUserInitialize(0 ,NULL, NULL);
+    Status = NtUserInitialize(0, NULL, NULL);
 
-  PrivateCsrssManualGuiCheck(0);
-  CsrInitConsoleSupport();
+    PrivateCsrssManualGuiCheck(0);
+    CsrInitConsoleSupport();
 
-  *ApiDefinitions = Win32CsrApiDefinitions;
-  *ObjectDefinitions = Win32CsrObjectDefinitions;
-  *InitComplete = Win32CsrInitComplete;
-  *HardError = Win32CsrHardError;
+    *ApiDefinitions = Win32CsrApiDefinitions;
+    ServerProcs->InitCompleteProc = Win32CsrInitComplete;
+    ServerProcs->HardErrorProc = Win32CsrHardError;
+    ServerProcs->ProcessInheritProc = Win32CsrDuplicateHandleTable;
+    ServerProcs->ProcessDeletedProc = Win32CsrReleaseConsole;
 
-  return TRUE;
+    return TRUE;
 }
 
 /* EOF */