Changeset d31c3ea in mainline for uspace/srv/hid
- Timestamp:
- 2024-10-01T11:13:28Z (13 months ago)
- Branches:
- master
- Children:
- 6907f26
- Parents:
- 357d9dd
- git-author:
- Jiri Svoboda <jiri@…> (2024-09-30 19:13:18)
- git-committer:
- Jiri Svoboda <jiri@…> (2024-10-01 11:13:28)
- Location:
- uspace/srv/hid
- Files:
-
- 4 edited
-
output/ctl/serial.c (modified) (3 diffs)
-
output/ctl/serial.h (modified) (1 diff)
-
output/port/chardev.c (modified) (5 diffs)
-
remcons/remcons.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/output/ctl/serial.c
r357d9dd rd31c3ea 44 44 #define SERIAL_COLS 80 45 45 #define SERIAL_ROWS 24 46 47 static serial_putuchar_t serial_putuchar_fn; 48 static serial_control_puts_t serial_control_puts_fn; 49 static serial_flush_t serial_flush_fn; 50 51 static void serial_vt_putuchar(void *, char32_t); 52 static void serial_vt_control_puts(void *, const char *); 53 static void serial_vt_flush(void *); 54 55 static vt100_cb_t serial_vt_cb = { 56 .putuchar = serial_vt_putuchar, 57 .control_puts = serial_vt_control_puts, 58 .flush = serial_vt_flush 59 }; 46 60 47 61 /** Draw the character at the specified position. … … 124 138 }; 125 139 126 errno_t serial_init( vt100_putuchar_t putuchar_fn,127 vt100_control_puts_t control_puts_fn, vt100_flush_t flush_fn)140 errno_t serial_init(serial_putuchar_t putuchar_fn, 141 serial_control_puts_t control_puts_fn, serial_flush_t flush_fn) 128 142 { 129 143 char_attrs_t attrs; 130 vt100_t *vt100 = 131 vt100_create(NULL, SERIAL_COLS, SERIAL_ROWS, putuchar_fn, 132 control_puts_fn, flush_fn); 144 vt100_t *vt100; 145 146 serial_putuchar_fn = putuchar_fn; 147 serial_control_puts_fn = control_puts_fn; 148 serial_flush_fn = flush_fn; 149 150 vt100 = vt100_create(NULL, SERIAL_COLS, SERIAL_ROWS, &serial_vt_cb); 133 151 if (vt100 == NULL) 134 152 return ENOMEM; … … 150 168 } 151 169 170 static void serial_vt_putuchar(void *arg, char32_t c) 171 { 172 (void)arg; 173 serial_putuchar_fn(c); 174 } 175 176 static void serial_vt_control_puts(void *arg, const char *str) 177 { 178 (void)arg; 179 serial_control_puts_fn(str); 180 } 181 182 static void serial_vt_flush(void *arg) 183 { 184 (void)arg; 185 serial_flush_fn(); 186 } 187 152 188 /** @} 153 189 */ -
uspace/srv/hid/output/ctl/serial.h
r357d9dd rd31c3ea 38 38 #include <vt/vt100.h> 39 39 40 extern errno_t serial_init(vt100_putuchar_t, vt100_control_puts_t, vt100_flush_t); 40 typedef void (*serial_putuchar_t)(char32_t); 41 typedef void (*serial_control_puts_t)(const char *); 42 typedef void (*serial_flush_t)(void); 43 44 extern errno_t serial_init(serial_putuchar_t, serial_control_puts_t, 45 serial_flush_t); 41 46 42 47 #endif -
uspace/srv/hid/output/port/chardev.c
r357d9dd rd31c3ea 65 65 static FIBRIL_CONDVAR_INITIALIZE(discovery_cv); 66 66 67 static void chardev_flush(void *arg)67 static void chardev_flush(void) 68 68 { 69 69 size_t nwr; 70 71 (void)arg;72 70 73 71 if (chardev_bused == 0) … … 83 81 { 84 82 if (chardev_bused == chardev_buf_size) 85 chardev_flush( NULL);83 chardev_flush(); 86 84 chardev_buf[chardev_bused++] = (uint8_t) ch; 87 85 } 88 86 89 static void chardev_putuchar( void *arg,char32_t ch)87 static void chardev_putuchar(char32_t ch) 90 88 { 91 89 char buf[STR_BOUNDS(1)]; … … 94 92 errno_t rc; 95 93 96 (void)arg;97 98 94 off = 0; 99 95 rc = chr_encode(ch, buf, &off, sizeof(buf)); … … 105 101 } 106 102 107 static void chardev_control_puts( void *arg,const char *str)103 static void chardev_control_puts(const char *str) 108 104 { 109 105 const char *p; … … 111 107 p = str; 112 108 while (*p != '\0') 113 chardev_putuchar( arg,*p++);109 chardev_putuchar(*p++); 114 110 } 115 111 -
uspace/srv/hid/remcons/remcons.c
r357d9dd rd31c3ea 121 121 }; 122 122 123 static void remcons_vt_putchar(void *, char32_t); 124 static void remcons_vt_cputs(void *, const char *); 125 static void remcons_vt_flush(void *); 126 127 static vt100_cb_t remcons_vt_cb = { 128 .putuchar = remcons_vt_putchar, 129 .control_puts = remcons_vt_cputs, 130 .flush = remcons_vt_flush 131 }; 132 123 133 static void remcons_new_conn(tcp_listener_t *lst, tcp_conn_t *conn); 124 134 … … 568 578 remcons->curs_visible = true; 569 579 570 remcons->vt = vt100_create((void *)remcons, 80, 25, 571 remcons_vt_putchar, remcons_vt_cputs, remcons_vt_flush); 580 remcons->vt = vt100_create((void *)remcons, 80, 25, &remcons_vt_cb); 572 581 assert(remcons->vt != NULL); // XXX 573 582 remcons->vt->enable_rgb = remcons->enable_rgb;
Note:
See TracChangeset
for help on using the changeset viewer.
