Changeset 5d50c419 in mainline for uspace/lib/c/generic/io/chardev.c
- Timestamp:
- 2017-11-19T21:14:19Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c657bd7
- Parents:
- 75fcf9b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/io/chardev.c
r75fcf9b r5d50c419 40 40 #include <io/chardev.h> 41 41 #include <ipc/chardev.h> 42 #include <stddef.h> 42 43 #include <stdlib.h> 43 44 … … 76 77 } 77 78 78 ssize_t chardev_read(chardev_t *chardev, void *data, size_t size)79 int chardev_read(chardev_t *chardev, void *data, size_t size, size_t *nread) 79 80 { 80 81 if (size > 4 * sizeof(sysarg_t)) … … 88 89 if (ret > 0 && (size_t)ret <= size) 89 90 memcpy(data, message, size); 90 return ret; 91 92 if (ret < 0) { 93 *nread = 0; 94 return ret; 95 } 96 97 *nread = ret; 98 return EOK; 91 99 } 92 100 93 ssize_t chardev_write(chardev_t *chardev, const void *data, size_t size) 101 int chardev_write(chardev_t *chardev, const void *data, size_t size, 102 size_t *nwritten) 94 103 { 95 104 int ret; … … 104 113 message[0], message[1], message[2]); 105 114 async_exchange_end(exch); 106 return ret; 115 116 if (ret < 0) { 117 *nwritten = 0; 118 return ret; 119 } 120 121 *nwritten = ret; 122 return EOK; 107 123 } 108 124
Note:
See TracChangeset
for help on using the changeset viewer.