Changeset f2d88f3 in mainline
- Timestamp:
- 2019-01-04T21:22:17Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- af7b85b
- Parents:
- 06412ba
- Location:
- uspace
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sportdmp/sportdmp.c
r06412ba rf2d88f3 146 146 147 147 while (true) { 148 rc = chardev_read(chardev, buf, BUF_SIZE, &nread); 148 rc = chardev_read(chardev, buf, BUF_SIZE, &nread, 149 chardev_f_none); 149 150 for (size_t i = 0; i < nread; i++) { 150 151 printf("%02hhx ", buf[i]); -
uspace/app/tester/chardev/chardev1.c
r06412ba rf2d88f3 1 1 /* 2 * Copyright (c) 201 7Jiri Svoboda2 * Copyright (c) 2019 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 76 76 TPRINTF("Sent %zu bytes\n", nbytes); 77 77 78 rc = chardev_read(chardev, small_buffer, SMALL_BUFFER_SIZE, &nbytes); 78 rc = chardev_read(chardev, small_buffer, SMALL_BUFFER_SIZE, &nbytes, 79 chardev_f_none); 79 80 if (rc != EOK) { 80 81 chardev_close(chardev); … … 128 129 TPRINTF("Sent %zu bytes\n", nbytes); 129 130 130 rc = chardev_read(chardev, large_buffer, LARGE_BUFFER_SIZE, &nbytes); 131 rc = chardev_read(chardev, large_buffer, LARGE_BUFFER_SIZE, &nbytes, 132 chardev_f_none); 131 133 if (rc != EOK) { 132 134 chardev_close(chardev); … … 181 183 str_error_name(rc)); 182 184 183 rc = chardev_read(chardev, small_buffer, SMALL_BUFFER_SIZE, &nbytes); 185 rc = chardev_read(chardev, small_buffer, SMALL_BUFFER_SIZE, &nbytes, 186 chardev_f_none); 184 187 if (rc != EIO || nbytes != 1) { 185 188 chardev_close(chardev); -
uspace/app/tester/hw/serial/serial1.c
r06412ba rf2d88f3 136 136 while (total < cnt) { 137 137 138 rc = chardev_read(chardev, buf, cnt - total, &nread); 138 rc = chardev_read(chardev, buf, cnt - total, &nread, 139 chardev_f_none); 139 140 if (rc != EOK) { 140 141 (void) serial_set_comm_props(serial, old_baud, -
uspace/drv/char/i8042/i8042.c
r06412ba rf2d88f3 67 67 68 68 static void i8042_char_conn(ipc_call_t *, void *); 69 static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *); 69 static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *, 70 chardev_flags_t); 70 71 static errno_t i8042_write(chardev_srv_t *, const void *, size_t, size_t *); 71 72 … … 385 386 */ 386 387 static errno_t i8042_read(chardev_srv_t *srv, void *dest, size_t size, 387 size_t *nread )388 size_t *nread, chardev_flags_t flags) 388 389 { 389 390 i8042_port_t *port = (i8042_port_t *)srv->srvs->sarg; … … 394 395 fibril_mutex_lock(&port->buf_lock); 395 396 396 while (circ_buf_nused(&port->cbuf) == 0) 397 while ((flags & chardev_f_nonblock) == 0 && 398 circ_buf_nused(&port->cbuf) == 0) 397 399 fibril_condvar_wait(&port->buf_cv, &port->buf_lock); 398 400 -
uspace/drv/char/msim-con/msim-con.c
r06412ba rf2d88f3 43 43 static void msim_con_connection(ipc_call_t *, void *); 44 44 45 static errno_t msim_con_read(chardev_srv_t *, void *, size_t, size_t *); 45 static errno_t msim_con_read(chardev_srv_t *, void *, size_t, size_t *, 46 chardev_flags_t); 46 47 static errno_t msim_con_write(chardev_srv_t *, const void *, size_t, size_t *); 47 48 … … 185 186 /** Read from msim console device */ 186 187 static errno_t msim_con_read(chardev_srv_t *srv, void *buf, size_t size, 187 size_t *nread )188 size_t *nread, chardev_flags_t flags) 188 189 { 189 190 msim_con_t *con = (msim_con_t *) srv->srvs->sarg; … … 194 195 fibril_mutex_lock(&con->buf_lock); 195 196 196 while (circ_buf_nused(&con->cbuf) == 0) 197 while ((flags & chardev_f_nonblock) == 0 && 198 circ_buf_nused(&con->cbuf) == 0) 197 199 fibril_condvar_wait(&con->buf_cv, &con->buf_lock); 198 200 -
uspace/drv/char/ns8250/ns8250.c
r06412ba rf2d88f3 246 246 * @param count The number of bytes to be read. 247 247 * @param nread Place to store number of bytes actually read 248 * @param flags @c chardev_f_nonblock not to block waiting for data 249 * even if no data is available 248 250 * 249 251 * @return EOK on success or non-zero error code 250 252 */ 251 static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread) 253 static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread, 254 chardev_flags_t flags) 252 255 { 253 256 ns8250_t *ns = srv_ns8250(srv); … … 261 264 262 265 fibril_mutex_lock(&ns->mutex); 263 while (buf_is_empty(&ns->input_buffer)) 266 while ((flags & chardev_f_none) == 0 && 267 buf_is_empty(&ns->input_buffer)) 264 268 fibril_condvar_wait(&ns->input_buffer_available, &ns->mutex); 265 269 while (!buf_is_empty(&ns->input_buffer) && pos < count) { -
uspace/drv/char/pc-lpt/pc-lpt.c
r06412ba rf2d88f3 45 45 static void pc_lpt_connection(ipc_call_t *, void *); 46 46 47 static errno_t pc_lpt_read(chardev_srv_t *, void *, size_t, size_t *); 47 static errno_t pc_lpt_read(chardev_srv_t *, void *, size_t, size_t *, 48 chardev_flags_t); 48 49 static errno_t pc_lpt_write(chardev_srv_t *, const void *, size_t, size_t *); 49 50 … … 224 225 /** Read from pc-lpt device */ 225 226 static errno_t pc_lpt_read(chardev_srv_t *srv, void *buf, size_t size, 226 size_t *nread )227 size_t *nread, chardev_flags_t flags) 227 228 { 228 229 pc_lpt_t *lpt = (pc_lpt_t *) srv->srvs->sarg; -
uspace/drv/char/pl050/pl050.c
r06412ba rf2d88f3 59 59 static errno_t pl050_fun_offline(ddf_fun_t *); 60 60 static void pl050_char_conn(ipc_call_t *, void *); 61 static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *); 61 static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *, 62 chardev_flags_t); 62 63 static errno_t pl050_write(chardev_srv_t *, const void *, size_t, size_t *); 63 64 … … 242 243 243 244 static errno_t pl050_read(chardev_srv_t *srv, void *buffer, size_t size, 244 size_t *nread )245 size_t *nread, chardev_flags_t flags) 245 246 { 246 247 pl050_t *pl050 = (pl050_t *)srv->srvs->sarg; … … 252 253 left = size; 253 254 while (left > 0) { 254 while (left == size && pl050->buf_rp == pl050->buf_wp) 255 while ((flags & chardev_f_nonblock) == 0 && 256 left == size && pl050->buf_rp == pl050->buf_wp) 255 257 fibril_condvar_wait(&pl050->buf_cv, &pl050->buf_lock); 256 258 if (pl050->buf_rp == pl050->buf_wp) -
uspace/drv/char/ski-con/ski-con.c
r06412ba rf2d88f3 55 55 static void ski_con_connection(ipc_call_t *, void *); 56 56 57 static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *); 57 static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *, 58 chardev_flags_t); 58 59 static errno_t ski_con_write(chardev_srv_t *, const void *, size_t, size_t *); 59 60 … … 260 261 /** Read from Ski console device */ 261 262 static errno_t ski_con_read(chardev_srv_t *srv, void *buf, size_t size, 262 size_t *nread )263 size_t *nread, chardev_flags_t flags) 263 264 { 264 265 ski_con_t *con = (ski_con_t *) srv->srvs->sarg; … … 269 270 fibril_mutex_lock(&con->buf_lock); 270 271 271 while (circ_buf_nused(&con->cbuf) == 0) 272 while ((flags & chardev_f_nonblock) == 0 && 273 circ_buf_nused(&con->cbuf) == 0) 272 274 fibril_condvar_wait(&con->buf_cv, &con->buf_lock); 273 275 -
uspace/drv/char/sun4v-con/sun4v-con.c
r06412ba rf2d88f3 46 46 #define POLL_INTERVAL 10000 47 47 48 static errno_t sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *); 48 static errno_t sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *, 49 chardev_flags_t); 49 50 static errno_t sun4v_con_write(chardev_srv_t *, const void *, size_t, size_t *); 50 51 … … 154 155 /** Read from Sun4v console device */ 155 156 static errno_t sun4v_con_read(chardev_srv_t *srv, void *buf, size_t size, 156 size_t *nread )157 size_t *nread, chardev_flags_t flags) 157 158 { 158 159 sun4v_con_t *con = (sun4v_con_t *) srv->srvs->sarg; … … 161 162 char c; 162 163 163 while (con->input_buffer->read_ptr == con->input_buffer->write_ptr) 164 while ((flags & chardev_f_nonblock) == 0 && 165 con->input_buffer->read_ptr == con->input_buffer->write_ptr) 164 166 fibril_usleep(POLL_INTERVAL); 165 167 -
uspace/drv/hid/atkbd/atkbd.c
r06412ba rf2d88f3 211 211 while (true) { 212 212 uint8_t code = 0; 213 rc = chardev_read(kbd->chardev, &code, 1, &nwr );213 rc = chardev_read(kbd->chardev, &code, 1, &nwr, chardev_f_none); 214 214 if (rc != EOK) 215 215 return EIO; … … 222 222 map_size = sizeof(scanmap_e0) / sizeof(unsigned int); 223 223 224 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 224 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 225 chardev_f_none); 225 226 if (rc != EOK) 226 227 return EIO; 227 228 } else if (code == KBD_SCANCODE_SET_EXTENDED_SPECIAL) { 228 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 229 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 230 chardev_f_none); 229 231 if (rc != EOK) 230 232 return EIO; … … 232 234 continue; 233 235 234 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 236 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 237 chardev_f_none); 235 238 if (rc != EOK) 236 239 return EIO; … … 238 241 continue; 239 242 240 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 243 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 244 chardev_f_none); 241 245 if (rc != EOK) 242 246 return EIO; … … 244 248 continue; 245 249 246 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 250 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 251 chardev_f_none); 247 252 if (rc != EOK) 248 253 return EIO; … … 250 255 continue; 251 256 252 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 257 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 258 chardev_f_none); 253 259 if (rc != EOK) 254 260 return EIO; … … 256 262 continue; 257 263 258 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 264 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 265 chardev_f_none); 259 266 if (rc != EOK) 260 267 return EIO; … … 262 269 continue; 263 270 264 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 271 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 272 chardev_f_none); 265 273 if (rc != EOK) 266 274 return EIO; … … 277 285 if (code == KBD_SCANCODE_KEY_RELEASE) { 278 286 type = KEY_RELEASE; 279 rc = chardev_read(kbd->chardev, &code, 1, &nwr); 287 rc = chardev_read(kbd->chardev, &code, 1, &nwr, 288 chardev_f_none); 280 289 if (rc != EOK) 281 290 return EIO; … … 418 427 return EIO; 419 428 } 420 rc = chardev_read(kbd->chardev, &code, 1, &bytes); 429 rc = chardev_read(kbd->chardev, &code, 1, &bytes, 430 chardev_f_none); 421 431 if (rc != EOK || code != AT_KBD_ACK) { 422 432 ddf_msg(LVL_ERROR, "Failed to confirm keyboard enable: %hhx.", -
uspace/drv/hid/ps2mouse/ps2mouse.c
r06412ba rf2d88f3 77 77 uint8_t data = 0; \ 78 78 size_t nread; \ 79 const errno_t rc = chardev_read((mouse)->chardev, &data, 1, &nread); \ 79 const errno_t rc = chardev_read((mouse)->chardev, &data, 1, &nread, \ 80 chardev_f_none); \ 80 81 if (rc != EOK) { \ 81 82 ddf_msg(LVL_ERROR, "Failed reading byte: %s", str_error_name(rc));\ … … 184 185 185 186 size_t nread; 186 rc = chardev_read(mouse->chardev, &report, 1, &nread );187 rc = chardev_read(mouse->chardev, &report, 1, &nread, chardev_f_none); 187 188 if (rc != EOK || report != PS2_MOUSE_ACK) { 188 189 ddf_msg(LVL_ERROR, "Failed to confirm data reporting: %hhx.", … … 232 233 while (pos < psize) { 233 234 rc = chardev_read(mouse->chardev, pbuf + pos, psize - pos, 234 &nread );235 &nread, chardev_f_none); 235 236 if (rc != EOK) { 236 237 ddf_msg(LVL_WARN, "Error reading packet."); -
uspace/drv/hid/xtkbd/xtkbd.c
r06412ba rf2d88f3 216 216 217 217 uint8_t code = 0; 218 rc = chardev_read(kbd->chardev, &code, 1, &nread );218 rc = chardev_read(kbd->chardev, &code, 1, &nread, chardev_f_none); 219 219 if (rc != EOK) 220 220 return EIO; … … 229 229 map_size = sizeof(scanmap_e0) / sizeof(unsigned int); 230 230 231 rc = chardev_read(kbd->chardev, &code, 1, &nread); 231 rc = chardev_read(kbd->chardev, &code, 1, &nread, 232 chardev_f_none); 232 233 if (rc != EOK) 233 234 return EIO; … … 236 237 237 238 if (code == 0x2a) { /* Print Screen */ 238 rc = chardev_read(kbd->chardev, &code, 1, &nread); 239 rc = chardev_read(kbd->chardev, &code, 1, &nread, 240 chardev_f_none); 239 241 if (rc != EOK) 240 242 return EIO; … … 243 245 continue; 244 246 245 rc = chardev_read(kbd->chardev, &code, 1, &nread); 247 rc = chardev_read(kbd->chardev, &code, 1, &nread, 248 chardev_f_none); 246 249 if (rc != EOK) 247 250 return EIO; … … 254 257 255 258 if (code == 0x46) { /* Break */ 256 rc = chardev_read(kbd->chardev, &code, 1, &nread); 259 rc = chardev_read(kbd->chardev, &code, 1, &nread, 260 chardev_f_none); 257 261 if (rc != EOK) 258 262 return EIO; … … 261 265 continue; 262 266 263 rc = chardev_read(kbd->chardev, &code, 1, &nread); 267 rc = chardev_read(kbd->chardev, &code, 1, &nread, 268 chardev_f_none); 264 269 if (rc != EOK) 265 270 return EIO; … … 274 279 /* Extended special set */ 275 280 if (code == KBD_SCANCODE_SET_EXTENDED_SPECIAL) { 276 rc = chardev_read(kbd->chardev, &code, 1, &nread); 281 rc = chardev_read(kbd->chardev, &code, 1, &nread, 282 chardev_f_none); 277 283 if (rc != EOK) 278 284 return EIO; … … 281 287 continue; 282 288 283 rc = chardev_read(kbd->chardev, &code, 1, &nread); 289 rc = chardev_read(kbd->chardev, &code, 1, &nread, 290 chardev_f_none); 284 291 if (rc != EOK) 285 292 return EIO; … … 288 295 continue; 289 296 290 rc = chardev_read(kbd->chardev, &code, 1, &nread); 297 rc = chardev_read(kbd->chardev, &code, 1, &nread, 298 chardev_f_none); 291 299 if (rc != EOK) 292 300 return EIO; … … 295 303 continue; 296 304 297 rc = chardev_read(kbd->chardev, &code, 1, &nread); 305 rc = chardev_read(kbd->chardev, &code, 1, &nread, 306 chardev_f_none); 298 307 if (rc != EOK) 299 308 return EIO; … … 302 311 continue; 303 312 304 rc = chardev_read(kbd->chardev, &code, 1, &nread); 313 rc = chardev_read(kbd->chardev, &code, 1, &nread, 314 chardev_f_none); 305 315 if (rc != EOK) 306 316 return EIO; -
uspace/lib/c/generic/io/chardev.c
r06412ba rf2d88f3 91 91 * @param size Maximum number of bytes to read 92 92 * @param nread Place to store actual number of bytes read 93 * @param flags @c chardev_f_nonblock to return immediately even if no 94 * bytes are available 93 95 * 94 96 * @return EOK on success or non-zero error code 95 97 */ 96 errno_t chardev_read(chardev_t *chardev, void *buf, size_t size, size_t *nread) 98 errno_t chardev_read(chardev_t *chardev, void *buf, size_t size, size_t *nread, 99 chardev_flags_t flags) 97 100 { 98 101 async_exch_t *exch = async_exchange_begin(chardev->sess); … … 104 107 105 108 ipc_call_t answer; 106 aid_t req = async_send_ 0(exch, CHARDEV_READ, &answer);109 aid_t req = async_send_1(exch, CHARDEV_READ, flags, &answer); 107 110 errno_t rc = async_data_read_start(exch, buf, size); 108 111 async_exchange_end(exch); -
uspace/lib/c/generic/io/chardev_srv.c
r06412ba rf2d88f3 48 48 size_t size; 49 49 size_t nread; 50 chardev_flags_t flags; 50 51 errno_t rc; 52 53 flags = IPC_GET_ARG1(*icall); 51 54 52 55 ipc_call_t call; … … 70 73 } 71 74 72 rc = srv->srvs->ops->read(srv, buf, size, &nread );75 rc = srv->srvs->ops->read(srv, buf, size, &nread, flags); 73 76 if (rc != EOK && nread == 0) { 74 77 async_answer_0(&call, rc); -
uspace/lib/c/include/io/chardev.h
r06412ba rf2d88f3 36 36 #include <async.h> 37 37 #include <stddef.h> 38 #include <types/io/chardev.h> 38 39 39 40 typedef struct { … … 43 44 extern errno_t chardev_open(async_sess_t *, chardev_t **); 44 45 extern void chardev_close(chardev_t *); 45 extern errno_t chardev_read(chardev_t *, void *, size_t, size_t *); 46 extern errno_t chardev_read(chardev_t *, void *, size_t, size_t *, 47 chardev_flags_t); 46 48 extern errno_t chardev_write(chardev_t *, const void *, size_t, size_t *); 47 49 -
uspace/lib/c/include/io/chardev_srv.h
r06412ba rf2d88f3 41 41 #include <stdbool.h> 42 42 #include <stddef.h> 43 #include <types/io/chardev.h> 43 44 44 45 typedef struct chardev_ops chardev_ops_t; … … 59 60 errno_t (*open)(chardev_srvs_t *, chardev_srv_t *); 60 61 errno_t (*close)(chardev_srv_t *); 61 errno_t (*read)(chardev_srv_t *, void *, size_t, size_t *); 62 errno_t (*read)(chardev_srv_t *, void *, size_t, size_t *, 63 chardev_flags_t); 62 64 errno_t (*write)(chardev_srv_t *, const void *, size_t, size_t *); 63 65 void (*def_handler)(chardev_srv_t *, ipc_call_t *); -
uspace/lib/c/include/types/io/chardev.h
r06412ba rf2d88f3 35 35 /** Chardev read/write operation flags */ 36 36 typedef enum { 37 /** No flags */ 38 chardev_f_none = 0, 37 39 /** Do not block even if no bytes can be transferred */ 38 40 chardev_f_nonblock = 0x1 -
uspace/srv/hid/input/input.c
r06412ba rf2d88f3 539 539 size_t nread; 540 540 541 chardev_read(sdev->chardev, &data, sizeof(data), &nread); 541 chardev_read(sdev->chardev, &data, sizeof(data), &nread, 542 chardev_f_none); 542 543 /* XXX Handle error */ 543 544 kbd_push_data(sdev->kdev, data); -
uspace/srv/hid/input/port/chardev.c
r06412ba rf2d88f3 138 138 139 139 while (true) { 140 rc = chardev_read(chardev, &b, sizeof(b), &nread); 140 rc = chardev_read(chardev, &b, sizeof(b), &nread, 141 chardev_f_none); 141 142 if (rc != EOK || nread != sizeof(b)) { 142 143 printf("%s: Error reading data", NAME); -
uspace/srv/hid/isdv4_tablet/isdv4.c
r06412ba rf2d88f3 293 293 294 294 rc = chardev_read(state->chardev, state->buf + state->buf_end, 295 state->buf_size - state->buf_end, &nread );295 state->buf_size - state->buf_end, &nread, chardev_f_none); 296 296 if (rc != EOK && nread == 0) 297 297 return EIO; -
uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
r06412ba rf2d88f3 69 69 static void s3c24xx_uart_sendb(s3c24xx_uart_t *, uint8_t); 70 70 71 static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *); 71 static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *, 72 chardev_flags_t); 72 73 static errno_t s3c24xx_uart_write(chardev_srv_t *, const void *, size_t, size_t *); 73 74 … … 199 200 200 201 static errno_t s3c24xx_uart_read(chardev_srv_t *srv, void *buf, size_t size, 201 size_t *nread )202 size_t *nread, chardev_flags_t flags) 202 203 { 203 204 s3c24xx_uart_t *uart = (s3c24xx_uart_t *) srv->srvs->sarg; … … 208 209 fibril_mutex_lock(&uart->buf_lock); 209 210 210 while (circ_buf_nused(&uart->cbuf) == 0) 211 while ((flags & chardev_f_nonblock) == 0 && 212 circ_buf_nused(&uart->cbuf) == 0) 211 213 fibril_condvar_wait(&uart->buf_cv, &uart->buf_lock); 212 214 -
uspace/srv/net/slip/slip.c
r06412ba rf2d88f3 212 212 213 213 rc = chardev_read(chardev, slip_recv_buf, 214 sizeof(slip_recv_buf), &nread );214 sizeof(slip_recv_buf), &nread, chardev_f_none); 215 215 if (rc != EOK) { 216 216 log_msg(LOG_DEFAULT, LVL_ERROR, -
uspace/srv/test/chardev-test/main.c
r06412ba rf2d88f3 50 50 static errno_t smallx_close(chardev_srv_t *); 51 51 static errno_t smallx_write(chardev_srv_t *, const void *, size_t, size_t *); 52 static errno_t smallx_read(chardev_srv_t *, void *, size_t, size_t *); 52 static errno_t smallx_read(chardev_srv_t *, void *, size_t, size_t *, 53 chardev_flags_t); 53 54 54 55 static errno_t largex_open(chardev_srvs_t *, chardev_srv_t *); 55 56 static errno_t largex_close(chardev_srv_t *); 56 57 static errno_t largex_write(chardev_srv_t *, const void *, size_t, size_t *); 57 static errno_t largex_read(chardev_srv_t *, void *, size_t, size_t *); 58 static errno_t largex_read(chardev_srv_t *, void *, size_t, size_t *, 59 chardev_flags_t); 58 60 59 61 static errno_t partialx_open(chardev_srvs_t *, chardev_srv_t *); 60 62 static errno_t partialx_close(chardev_srv_t *); 61 63 static errno_t partialx_write(chardev_srv_t *, const void *, size_t, size_t *); 62 static errno_t partialx_read(chardev_srv_t *, void *, size_t, size_t *); 64 static errno_t partialx_read(chardev_srv_t *, void *, size_t, size_t *, 65 chardev_flags_t); 63 66 64 67 static service_id_t smallx_svc_id; … … 186 189 187 190 static errno_t smallx_read(chardev_srv_t *srv, void *buf, size_t size, 188 size_t *nread )191 size_t *nread, chardev_flags_t flags) 189 192 { 190 193 if (size < 1) { … … 221 224 222 225 static errno_t largex_read(chardev_srv_t *srv, void *buf, size_t size, 223 size_t *nread )226 size_t *nread, chardev_flags_t flags) 224 227 { 225 228 if (size < 1) { … … 256 259 257 260 static errno_t partialx_read(chardev_srv_t *srv, void *buf, size_t size, 258 size_t *nread )261 size_t *nread, chardev_flags_t flags) 259 262 { 260 263 if (size < 1) {
Note:
See TracChangeset
for help on using the changeset viewer.