]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
Change the file headers and some function comments.
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / TerminalConIn.c
index b82ff3d8afcf76e0563c71cb78975ac1330de3cd..406dcb794245f5e0e882ee43a681bcfb1271d9b7 100644 (file)
@@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 /**\r
   Reads the next keystroke from the input device. The WaitForKey Event can\r
-  be used to test for existance of a keystroke via WaitForEvent () call.\r
+  be used to test for existence of a keystroke via WaitForEvent () call.\r
 \r
   @param  TerminalDevice           Terminal driver private structure\r
   @param  KeyData                  A pointer to a buffer that is filled in with the\r
@@ -25,7 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                    pressed.\r
 \r
   @retval EFI_SUCCESS              The keystroke information was returned.\r
-  @retval EFI_NOT_READY            There was no keystroke data availiable.\r
+  @retval EFI_NOT_READY            There was no keystroke data available.\r
   @retval EFI_DEVICE_ERROR         The keystroke information was not returned due\r
                                    to hardware errors.\r
   @retval EFI_INVALID_PARAMETER    KeyData is NULL.\r
@@ -39,6 +39,7 @@ ReadKeyStrokeWorker (
 {\r
   EFI_STATUS                      Status;\r
   LIST_ENTRY                      *Link;\r
+  LIST_ENTRY                      *NotifyList;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *CurrentNotify;\r
 \r
   if (KeyData == NULL) {\r
@@ -66,7 +67,8 @@ ReadKeyStrokeWorker (
   //\r
   // Invoke notification functions if exist\r
   //\r
-  for (Link = TerminalDevice->NotifyList.ForwardLink; Link != &TerminalDevice->NotifyList; Link = Link->ForwardLink) {\r
+  NotifyList = &TerminalDevice->NotifyList;\r
+  for (Link = GetFirstNode (NotifyList); !IsNull (NotifyList,Link); Link = GetNextNode (NotifyList,Link)) {\r
     CurrentNotify = CR (\r
                       Link,\r
                       TERMINAL_CONSOLE_IN_EX_NOTIFY,\r
@@ -177,6 +179,8 @@ TerminalConInReadKeyStroke (
 \r
 /**\r
   Check if the key already has been registered.\r
+  \r
+  If both RegsiteredData and InputData is NULL, then ASSERT().\r
 \r
   @param  RegsiteredData           A pointer to a buffer that is filled in with the\r
                                    keystroke state data for the key that was\r
@@ -237,7 +241,7 @@ TerminalConInWaitForKeyEx (
 //\r
 \r
 /**\r
-  Reset the input device and optionaly run diagnostics\r
+  Reset the input device and optionally run diagnostics\r
 \r
   @param  This                     Protocol instance pointer.\r
   @param  ExtendedVerification     Driver may perform diagnostics on reset.\r
@@ -271,7 +275,7 @@ TerminalConInResetEx (
 \r
 /**\r
   Reads the next keystroke from the input device. The WaitForKey Event can\r
-  be used to test for existance of a keystroke via WaitForEvent () call.\r
+  be used to test for existence of a keystroke via WaitForEvent () call.\r
 \r
   @param  This                     Protocol instance pointer.\r
   @param  KeyData                  A pointer to a buffer that is filled in with the\r
@@ -279,7 +283,7 @@ TerminalConInResetEx (
                                    pressed.\r
 \r
   @retval EFI_SUCCESS              The keystroke information was returned.\r
-  @retval EFI_NOT_READY            There was no keystroke data availiable.\r
+  @retval EFI_NOT_READY            There was no keystroke data available.\r
   @retval EFI_DEVICE_ERROR         The keystroke information was not returned due\r
                                    to hardware errors.\r
   @retval EFI_INVALID_PARAMETER    KeyData is NULL.\r
@@ -349,7 +353,7 @@ TerminalConInSetState (
 \r
   @retval EFI_SUCCESS              The notification function was registered\r
                                    successfully.\r
-  @retval EFI_OUT_OF_RESOURCES     Unable to allocate resources for necesssary data\r
+  @retval EFI_OUT_OF_RESOURCES     Unable to allocate resources for necessary data\r
                                    structures.\r
   @retval EFI_INVALID_PARAMETER    KeyData or NotifyHandle is NULL.\r
 \r
@@ -367,6 +371,7 @@ TerminalConInRegisterKeyNotify (
   TERMINAL_DEV                    *TerminalDevice;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *NewNotify;\r
   LIST_ENTRY                      *Link;\r
+  LIST_ENTRY                      *NotifyList;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *CurrentNotify;\r
 \r
   if (KeyData == NULL || NotifyHandle == NULL || KeyNotificationFunction == NULL) {\r
@@ -378,7 +383,8 @@ TerminalConInRegisterKeyNotify (
   //\r
   // Return EFI_SUCCESS if the (KeyData, NotificationFunction) is already registered.\r
   //\r
-  for (Link = TerminalDevice->NotifyList.ForwardLink; Link != &TerminalDevice->NotifyList; Link = Link->ForwardLink) {\r
+  NotifyList = &TerminalDevice->NotifyList;\r
+  for (Link = GetFirstNode (NotifyList); !IsNull (NotifyList,Link); Link = GetNextNode (NotifyList,Link)) {\r
     CurrentNotify = CR (\r
                       Link,\r
                       TERMINAL_CONSOLE_IN_EX_NOTIFY,\r
@@ -445,7 +451,8 @@ TerminalConInUnregisterKeyNotify (
   TERMINAL_DEV                    *TerminalDevice;\r
   LIST_ENTRY                      *Link;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *CurrentNotify;\r
-\r
+  LIST_ENTRY                      *NotifyList;\r
+  \r
   if (NotificationHandle == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
@@ -464,7 +471,8 @@ TerminalConInUnregisterKeyNotify (
 \r
   TerminalDevice = TERMINAL_CON_IN_EX_DEV_FROM_THIS (This);\r
 \r
-  for (Link = TerminalDevice->NotifyList.ForwardLink; Link != &TerminalDevice->NotifyList; Link = Link->ForwardLink) {\r
+  NotifyList = &TerminalDevice->NotifyList;\r
+  for (Link = GetFirstNode (NotifyList); !IsNull (NotifyList,Link); Link = GetNextNode (NotifyList,Link)) {\r
     CurrentNotify = CR (\r
                       Link,\r
                       TERMINAL_CONSOLE_IN_EX_NOTIFY,\r
@@ -568,7 +576,7 @@ TerminalConInWaitForKey (
 \r
   @retval EFI_SUCCESS              There is key pending.\r
   @retval EFI_NOT_READY            There is no key pending.\r
-  @retval EFI_DEVICE_ERROR         If Serial IO is not attched to serial device.\r
+  @retval EFI_DEVICE_ERROR         If Serial IO is not attached to serial device.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -682,7 +690,7 @@ TerminalConInCheckForKey (
 /**\r
   Get one key out of serial buffer.\r
 \r
-  @param  SerialIo           Serial I/O protocl attached to the serial device.\r
+  @param  SerialIo           Serial I/O protocol attached to the serial device.\r
   @param  Output             The fetched key.\r
 \r
   @return EFI_NOT_READY      If serial buffer is empty.\r
@@ -1123,32 +1131,35 @@ UnicodeToEfiKeyFlushState (
   )\r
 {\r
   EFI_INPUT_KEY Key;\r
-\r
-  if ((TerminalDevice->InputState & INPUT_STATE_ESC) != 0) {\r
+  UINT32        InputState;\r
+  \r
+  InputState = TerminalDevice->InputState;\r
+  \r
+  if ((InputState & INPUT_STATE_ESC) != 0) {\r
     Key.ScanCode    = SCAN_ESC;\r
     Key.UnicodeChar = 0;\r
     EfiKeyFiFoInsertOneKey (TerminalDevice, Key);\r
   }\r
 \r
-  if ((TerminalDevice->InputState & INPUT_STATE_CSI) != 0) {\r
+  if ((InputState & INPUT_STATE_CSI) != 0) {\r
     Key.ScanCode    = SCAN_NULL;\r
     Key.UnicodeChar = CSI;\r
     EfiKeyFiFoInsertOneKey (TerminalDevice, Key);\r
   }\r
 \r
-  if ((TerminalDevice->InputState & INPUT_STATE_LEFTOPENBRACKET) != 0) {\r
+  if ((InputState & INPUT_STATE_LEFTOPENBRACKET) != 0) {\r
     Key.ScanCode    = SCAN_NULL;\r
     Key.UnicodeChar = LEFTOPENBRACKET;\r
     EfiKeyFiFoInsertOneKey (TerminalDevice, Key);\r
   }\r
 \r
-  if ((TerminalDevice->InputState & INPUT_STATE_O) != 0) {\r
+  if ((InputState & INPUT_STATE_O) != 0) {\r
     Key.ScanCode    = SCAN_NULL;\r
     Key.UnicodeChar = 'O';\r
     EfiKeyFiFoInsertOneKey (TerminalDevice, Key);\r
   }\r
 \r
-  if ((TerminalDevice->InputState & INPUT_STATE_2) != 0) {\r
+  if ((InputState & INPUT_STATE_2) != 0) {\r
     Key.ScanCode    = SCAN_NULL;\r
     Key.UnicodeChar = '2';\r
     EfiKeyFiFoInsertOneKey (TerminalDevice, Key);\r
@@ -1173,7 +1184,7 @@ UnicodeToEfiKeyFlushState (
   \r
   The table below shows the keyboard input mappings that this function supports.\r
   If the ESC sequence listed in one of the columns is presented, then it is translated\r
-  into the coorespoding EFI Scan Code.  If a matching sequence is not found, then the raw\r
+  into the corresponding EFI Scan Code.  If a matching sequence is not found, then the raw\r
   key strokes are converted into EFI Keys.\r
 \r
   2 seconds are allowed for an ESC sequence to be completed.  If the ESC sequence is not\r