Changeset c8211849 in mainline
- Timestamp:
- 2017-12-08T21:03:35Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a99cbc1e
- Parents:
- c19a5a59
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-07 23:08:49)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-08 21:03:35)
- Location:
- uspace
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/io/con_srv.c
rc19a5a59 rc8211849 93 93 } 94 94 95 rc = srv->srvs->ops->read(srv, buf, size); 96 if (rc < 0) { 95 size_t nread; 96 rc = srv->srvs->ops->read(srv, buf, size, &nread); 97 if (rc != EOK) { 97 98 async_answer_0(rcallid, rc); 98 99 async_answer_0(callid, rc); … … 101 102 } 102 103 103 async_data_read_finalize(rcallid, buf, size);104 async_data_read_finalize(rcallid, buf, nread); 104 105 free(buf); 105 106 106 if (rc >= 0) 107 async_answer_1(callid, EOK, rc); 108 else 109 async_answer_0(callid, rc); 107 async_answer_1(callid, EOK, nread); 110 108 } 111 109 … … 128 126 } 129 127 130 rc = srv->srvs->ops->write(srv, data, size); 128 size_t nwritten = 0; 129 rc = srv->srvs->ops->write(srv, data, size, &nwritten); 131 130 free(data); 132 131 133 if (rc >= 0) 134 async_answer_1(callid, EOK, rc); 135 else 136 async_answer_0(callid, rc); 132 async_answer_1(callid, rc, nwritten); 137 133 } 138 134 -
uspace/lib/c/include/io/con_srv.h
rc19a5a59 rc8211849 69 69 int (*open)(con_srvs_t *, con_srv_t *); 70 70 int (*close)(con_srv_t *); 71 int (*read)(con_srv_t *, void *, size_t );72 int (*write)(con_srv_t *, void *, size_t );71 int (*read)(con_srv_t *, void *, size_t, size_t *); 72 int (*write)(con_srv_t *, void *, size_t, size_t *); 73 73 void (*sync)(con_srv_t *); 74 74 void (*clear)(con_srv_t *); -
uspace/lib/gui/terminal.c
rc19a5a59 rc8211849 64 64 static int term_open(con_srvs_t *, con_srv_t *); 65 65 static int term_close(con_srv_t *); 66 static int term_read(con_srv_t *, void *, size_t );67 static int term_write(con_srv_t *, void *, size_t );66 static int term_read(con_srv_t *, void *, size_t, size_t *); 67 static int term_write(con_srv_t *, void *, size_t, size_t *); 68 68 static void term_sync(con_srv_t *); 69 69 static void term_clear(con_srv_t *); … … 386 386 } 387 387 388 static int term_read(con_srv_t *srv, void *buf, size_t size )388 static int term_read(con_srv_t *srv, void *buf, size_t size, size_t *nread) 389 389 { 390 390 terminal_t *term = srv_to_terminal(srv); … … 431 431 } 432 432 433 return size; 433 *nread = size; 434 return EOK; 434 435 } 435 436 … … 462 463 } 463 464 464 static int term_write(con_srv_t *srv, void *data, size_t size )465 static int term_write(con_srv_t *srv, void *data, size_t size, size_t *nwritten) 465 466 { 466 467 terminal_t *term = srv_to_terminal(srv); … … 470 471 term_write_char(term, str_decode(data, &off, size)); 471 472 472 return size; 473 *nwritten = size; 474 return EOK; 473 475 } 474 476 -
uspace/srv/hid/console/console.c
rc19a5a59 rc8211849 119 119 static int cons_open(con_srvs_t *, con_srv_t *); 120 120 static int cons_close(con_srv_t *); 121 static int cons_read(con_srv_t *, void *, size_t );122 static int cons_write(con_srv_t *, void *, size_t );121 static int cons_read(con_srv_t *, void *, size_t, size_t *); 122 static int cons_write(con_srv_t *, void *, size_t, size_t *); 123 123 static void cons_sync(con_srv_t *); 124 124 static void cons_clear(con_srv_t *); … … 338 338 } 339 339 340 static int cons_read(con_srv_t *srv, void *buf, size_t size )340 static int cons_read(con_srv_t *srv, void *buf, size_t size, size_t *nread) 341 341 { 342 342 uint8_t *bbuf = buf; … … 378 378 } 379 379 380 return size; 381 } 382 383 static int cons_write(con_srv_t *srv, void *data, size_t size) 380 *nread = size; 381 return EOK; 382 } 383 384 static int cons_write(con_srv_t *srv, void *data, size_t size, size_t *nwritten) 384 385 { 385 386 console_t *cons = srv_to_console(srv); … … 389 390 cons_write_char(cons, str_decode(data, &off, size)); 390 391 391 return size; 392 *nwritten = size; 393 return EOK; 392 394 } 393 395 -
uspace/srv/hid/remcons/remcons.c
rc19a5a59 rc8211849 72 72 static int remcons_open(con_srvs_t *, con_srv_t *); 73 73 static int remcons_close(con_srv_t *); 74 static int remcons_write(con_srv_t *, void *, size_t );74 static int remcons_write(con_srv_t *, void *, size_t, size_t *); 75 75 static void remcons_sync(con_srv_t *); 76 76 static void remcons_clear(con_srv_t *); … … 137 137 } 138 138 139 static int remcons_write(con_srv_t *srv, void *data, size_t size )139 static int remcons_write(con_srv_t *srv, void *data, size_t size, size_t *nwritten) 140 140 { 141 141 telnet_user_t *user = srv_to_user(srv); … … 146 146 return rc; 147 147 148 return size; 148 *nwritten = size; 149 return EOK; 149 150 } 150 151
Note:
See TracChangeset
for help on using the changeset viewer.