Changeset b9c7425 in mainline for kernel/generic/src/console/console.c
- Timestamp:
- 2009-08-20T20:03:41Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bc7d44c
- Parents:
- e731b0d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/console.c
re731b0d rb9c7425 76 76 static parea_t klog_parea; 77 77 78 static indev_t stdin_sink; 79 static outdev_t stdout_source; 80 78 81 static indev_operations_t stdin_ops = { 79 82 .poll = NULL 80 83 }; 81 84 85 static void stdout_write(outdev_t *dev, wchar_t ch, bool silent); 86 87 static outdev_operations_t stdout_ops = { 88 .write = stdout_write 89 }; 90 82 91 /** Silence output */ 83 92 bool silent = false; … … 90 99 { 91 100 if (stdin == NULL) { 92 stdin = malloc(sizeof(indev_t), FRAME_ATOMIC); 93 if (stdin != NULL) 94 indev_initialize("stdin", stdin, &stdin_ops); 101 indev_initialize("stdin", &stdin_sink, &stdin_ops); 102 stdin = &stdin_sink; 95 103 } 96 104 97 105 return stdin; 106 } 107 108 void stdout_wire(outdev_t *outdev) 109 { 110 if (stdout == NULL) { 111 outdev_initialize("stdout", &stdout_source, &stdout_ops); 112 stdout = &stdout_source; 113 } 114 115 list_append(&outdev->link, &stdout->list); 116 } 117 118 static void stdout_write(outdev_t *dev, wchar_t ch, bool silent) 119 { 120 link_t *cur; 121 122 for (cur = dev->list.next; cur != &dev->list; cur = cur->next) { 123 outdev_t *sink = list_get_instance(cur, outdev_t, link); 124 sink->op->write(sink, ch, silent); 125 } 98 126 } 99 127
Note:
See TracChangeset
for help on using the changeset viewer.