#include <sys/spinlock.h>
Go to the source code of this file.
◆ Console
◆ CONSOLE_KEYBUF_MAXLEN
#define CONSOLE_KEYBUF_MAXLEN 256 |
◆ KEY_F1
◆ KEY_F10
◆ KEY_F11
◆ KEY_F12
◆ KEY_F2
◆ KEY_F3
◆ KEY_F4
◆ KEY_F5
◆ KEY_F6
◆ KEY_F7
◆ KEY_F8
◆ KEY_F9
◆ Console
◆ Console_EnqueueKey()
void Console_EnqueueKey |
( |
char |
key | ) |
|
Definition at line 75 of file console.c.
76{
80 return;
81 }
85}
char keyBuf[CONSOLE_KEYBUF_MAXLEN]
#define CONSOLE_KEYBUF_MAXLEN
void Spinlock_Unlock(Spinlock *lock) __UNLOCK_EX(*lock)
void Spinlock_Lock(Spinlock *lock) __LOCK_EX(*lock)
◆ Console_Getc()
Definition at line 47 of file console.c.
48{
49 while (1) {
55 return key;
56 }
58
59
62 switch (key) {
63 case '\r':
64 return '\n';
65 case 0x7f:
66 return '\b';
67 default:
68 return key;
69 }
70 }
71 }
72}
◆ Console_Gets()
void Console_Gets |
( |
char * |
str, |
|
|
size_t |
n |
|
) |
| |
Definition at line 88 of file console.c.
89{
90 int i;
91
92 for (i = 0; i < (n - 1); i++)
93 {
95 if (ch == '\b') {
96 if (i > 0) {
98 i--;
99 }
100 i--;
101 continue;
102 }
103 if (ch == '\n') {
105 str[i] = '\0';
106 return;
107 }
108 if (ch == '\r') {
110 str[i] = '\0';
111 return;
112 }
113 if (ch == '\t') {
115 str[i] = '\t';
116 continue;
117 }
118 if (ch < 0x20)
119 {
120
121 continue;
122 }
124 str[i] = ch;
125 }
126
127 str[i+1] = '\0';
128}
void Console_Putc(char ch)
◆ Console_Init()
Definition at line 22 of file console.c.
23{
27
29
31
35}
void Console_Puts(const char *str)
#define SPINLOCK_TYPE_NORMAL
void Spinlock_Init(Spinlock *lock, const char *name, uint64_t type)
◆ Console_Putc()
void Console_Putc |
( |
char |
ch | ) |
|
Definition at line 131 of file console.c.
132{
138}
void DebugConsole_Putc(short c)
void Serial_Putc(char ch)
◆ Console_Puts()
void Console_Puts |
( |
const char * |
str | ) |
|
Definition at line 141 of file console.c.
142{
148}
void DebugConsole_Puts(const char *str)
void Serial_Puts(const char *str)
void VGA_Puts(const char *str)