Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset f2d88f3 in mainline


Ignore:
Timestamp:
2019-01-04T21:22:17Z (2 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
af7b85b
Parents:
06412ba
Message:

Add forgotten changes to enable non-blocking chardev read

Location:
uspace
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sportdmp/sportdmp.c

    r06412ba rf2d88f3  
    146146
    147147        while (true) {
    148                 rc = chardev_read(chardev, buf, BUF_SIZE, &nread);
     148                rc = chardev_read(chardev, buf, BUF_SIZE, &nread,
     149                    chardev_f_none);
    149150                for (size_t i = 0; i < nread; i++) {
    150151                        printf("%02hhx ", buf[i]);
  • uspace/app/tester/chardev/chardev1.c

    r06412ba rf2d88f3  
    11/*
    2  * Copyright (c) 2017 Jiri Svoboda
     2 * Copyright (c) 2019 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    7676        TPRINTF("Sent %zu bytes\n", nbytes);
    7777
    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);
    7980        if (rc != EOK) {
    8081                chardev_close(chardev);
     
    128129        TPRINTF("Sent %zu bytes\n", nbytes);
    129130
    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);
    131133        if (rc != EOK) {
    132134                chardev_close(chardev);
     
    181183            str_error_name(rc));
    182184
    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);
    184187        if (rc != EIO || nbytes != 1) {
    185188                chardev_close(chardev);
  • uspace/app/tester/hw/serial/serial1.c

    r06412ba rf2d88f3  
    136136        while (total < cnt) {
    137137
    138                 rc = chardev_read(chardev, buf, cnt - total, &nread);
     138                rc = chardev_read(chardev, buf, cnt - total, &nread,
     139                    chardev_f_none);
    139140                if (rc != EOK) {
    140141                        (void) serial_set_comm_props(serial, old_baud,
  • uspace/drv/char/i8042/i8042.c

    r06412ba rf2d88f3  
    6767
    6868static void i8042_char_conn(ipc_call_t *, void *);
    69 static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *);
     69static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *,
     70    chardev_flags_t);
    7071static errno_t i8042_write(chardev_srv_t *, const void *, size_t, size_t *);
    7172
     
    385386 */
    386387static 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)
    388389{
    389390        i8042_port_t *port = (i8042_port_t *)srv->srvs->sarg;
     
    394395        fibril_mutex_lock(&port->buf_lock);
    395396
    396         while (circ_buf_nused(&port->cbuf) == 0)
     397        while ((flags & chardev_f_nonblock) == 0 &&
     398            circ_buf_nused(&port->cbuf) == 0)
    397399                fibril_condvar_wait(&port->buf_cv, &port->buf_lock);
    398400
  • uspace/drv/char/msim-con/msim-con.c

    r06412ba rf2d88f3  
    4343static void msim_con_connection(ipc_call_t *, void *);
    4444
    45 static errno_t msim_con_read(chardev_srv_t *, void *, size_t, size_t *);
     45static errno_t msim_con_read(chardev_srv_t *, void *, size_t, size_t *,
     46    chardev_flags_t);
    4647static errno_t msim_con_write(chardev_srv_t *, const void *, size_t, size_t *);
    4748
     
    185186/** Read from msim console device */
    186187static 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)
    188189{
    189190        msim_con_t *con = (msim_con_t *) srv->srvs->sarg;
     
    194195        fibril_mutex_lock(&con->buf_lock);
    195196
    196         while (circ_buf_nused(&con->cbuf) == 0)
     197        while ((flags & chardev_f_nonblock) == 0 &&
     198            circ_buf_nused(&con->cbuf) == 0)
    197199                fibril_condvar_wait(&con->buf_cv, &con->buf_lock);
    198200
  • uspace/drv/char/ns8250/ns8250.c

    r06412ba rf2d88f3  
    246246 * @param count         The number of bytes to be read.
    247247 * @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
    248250 *
    249251 * @return              EOK on success or non-zero error code
    250252 */
    251 static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread)
     253static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread,
     254    chardev_flags_t flags)
    252255{
    253256        ns8250_t *ns = srv_ns8250(srv);
     
    261264
    262265        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))
    264268                fibril_condvar_wait(&ns->input_buffer_available, &ns->mutex);
    265269        while (!buf_is_empty(&ns->input_buffer) && pos < count) {
  • uspace/drv/char/pc-lpt/pc-lpt.c

    r06412ba rf2d88f3  
    4545static void pc_lpt_connection(ipc_call_t *, void *);
    4646
    47 static errno_t pc_lpt_read(chardev_srv_t *, void *, size_t, size_t *);
     47static errno_t pc_lpt_read(chardev_srv_t *, void *, size_t, size_t *,
     48    chardev_flags_t);
    4849static errno_t pc_lpt_write(chardev_srv_t *, const void *, size_t, size_t *);
    4950
     
    224225/** Read from pc-lpt device */
    225226static 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)
    227228{
    228229        pc_lpt_t *lpt = (pc_lpt_t *) srv->srvs->sarg;
  • uspace/drv/char/pl050/pl050.c

    r06412ba rf2d88f3  
    5959static errno_t pl050_fun_offline(ddf_fun_t *);
    6060static void pl050_char_conn(ipc_call_t *, void *);
    61 static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *);
     61static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *,
     62    chardev_flags_t);
    6263static errno_t pl050_write(chardev_srv_t *, const void *, size_t, size_t *);
    6364
     
    242243
    243244static 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)
    245246{
    246247        pl050_t *pl050 = (pl050_t *)srv->srvs->sarg;
     
    252253        left = size;
    253254        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)
    255257                        fibril_condvar_wait(&pl050->buf_cv, &pl050->buf_lock);
    256258                if (pl050->buf_rp == pl050->buf_wp)
  • uspace/drv/char/ski-con/ski-con.c

    r06412ba rf2d88f3  
    5555static void ski_con_connection(ipc_call_t *, void *);
    5656
    57 static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *);
     57static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *,
     58    chardev_flags_t);
    5859static errno_t ski_con_write(chardev_srv_t *, const void *, size_t, size_t *);
    5960
     
    260261/** Read from Ski console device */
    261262static 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)
    263264{
    264265        ski_con_t *con = (ski_con_t *) srv->srvs->sarg;
     
    269270        fibril_mutex_lock(&con->buf_lock);
    270271
    271         while (circ_buf_nused(&con->cbuf) == 0)
     272        while ((flags & chardev_f_nonblock) == 0 &&
     273            circ_buf_nused(&con->cbuf) == 0)
    272274                fibril_condvar_wait(&con->buf_cv, &con->buf_lock);
    273275
  • uspace/drv/char/sun4v-con/sun4v-con.c

    r06412ba rf2d88f3  
    4646#define POLL_INTERVAL  10000
    4747
    48 static errno_t sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *);
     48static errno_t sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *,
     49    chardev_flags_t);
    4950static errno_t sun4v_con_write(chardev_srv_t *, const void *, size_t, size_t *);
    5051
     
    154155/** Read from Sun4v console device */
    155156static 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)
    157158{
    158159        sun4v_con_t *con = (sun4v_con_t *) srv->srvs->sarg;
     
    161162        char c;
    162163
    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)
    164166                fibril_usleep(POLL_INTERVAL);
    165167
  • uspace/drv/hid/atkbd/atkbd.c

    r06412ba rf2d88f3  
    211211        while (true) {
    212212                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);
    214214                if (rc != EOK)
    215215                        return EIO;
     
    222222                        map_size = sizeof(scanmap_e0) / sizeof(unsigned int);
    223223
    224                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     224                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     225                            chardev_f_none);
    225226                        if (rc != EOK)
    226227                                return EIO;
    227228                } 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);
    229231                        if (rc != EOK)
    230232                                return EIO;
     
    232234                                continue;
    233235
    234                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     236                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     237                            chardev_f_none);
    235238                        if (rc != EOK)
    236239                                return EIO;
     
    238241                                continue;
    239242
    240                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     243                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     244                            chardev_f_none);
    241245                        if (rc != EOK)
    242246                                return EIO;
     
    244248                                continue;
    245249
    246                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     250                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     251                            chardev_f_none);
    247252                        if (rc != EOK)
    248253                                return EIO;
     
    250255                                continue;
    251256
    252                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     257                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     258                            chardev_f_none);
    253259                        if (rc != EOK)
    254260                                return EIO;
     
    256262                                continue;
    257263
    258                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     264                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     265                            chardev_f_none);
    259266                        if (rc != EOK)
    260267                                return EIO;
     
    262269                                continue;
    263270
    264                         rc = chardev_read(kbd->chardev, &code, 1, &nwr);
     271                        rc = chardev_read(kbd->chardev, &code, 1, &nwr,
     272                            chardev_f_none);
    265273                        if (rc != EOK)
    266274                                return EIO;
     
    277285                if (code == KBD_SCANCODE_KEY_RELEASE) {
    278286                        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);
    280289                        if (rc != EOK)
    281290                                return EIO;
     
    418427                return EIO;
    419428        }
    420         rc = chardev_read(kbd->chardev, &code, 1, &bytes);
     429        rc = chardev_read(kbd->chardev, &code, 1, &bytes,
     430            chardev_f_none);
    421431        if (rc != EOK || code != AT_KBD_ACK) {
    422432                ddf_msg(LVL_ERROR, "Failed to confirm keyboard enable: %hhx.",
  • uspace/drv/hid/ps2mouse/ps2mouse.c

    r06412ba rf2d88f3  
    7777        uint8_t data = 0; \
    7878        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); \
    8081        if (rc != EOK) { \
    8182                ddf_msg(LVL_ERROR, "Failed reading byte: %s", str_error_name(rc));\
     
    184185
    185186        size_t nread;
    186         rc = chardev_read(mouse->chardev, &report, 1, &nread);
     187        rc = chardev_read(mouse->chardev, &report, 1, &nread, chardev_f_none);
    187188        if (rc != EOK || report != PS2_MOUSE_ACK) {
    188189                ddf_msg(LVL_ERROR, "Failed to confirm data reporting: %hhx.",
     
    232233        while (pos < psize) {
    233234                rc = chardev_read(mouse->chardev, pbuf + pos, psize - pos,
    234                     &nread);
     235                    &nread, chardev_f_none);
    235236                if (rc != EOK) {
    236237                        ddf_msg(LVL_WARN, "Error reading packet.");
  • uspace/drv/hid/xtkbd/xtkbd.c

    r06412ba rf2d88f3  
    216216
    217217                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);
    219219                if (rc != EOK)
    220220                        return EIO;
     
    229229                        map_size = sizeof(scanmap_e0) / sizeof(unsigned int);
    230230
    231                         rc = chardev_read(kbd->chardev, &code, 1, &nread);
     231                        rc = chardev_read(kbd->chardev, &code, 1, &nread,
     232                            chardev_f_none);
    232233                        if (rc != EOK)
    233234                                return EIO;
     
    236237
    237238                        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);
    239241                                if (rc != EOK)
    240242                                        return EIO;
     
    243245                                        continue;
    244246
    245                                 rc = chardev_read(kbd->chardev, &code, 1, &nread);
     247                                rc = chardev_read(kbd->chardev, &code, 1, &nread,
     248                                    chardev_f_none);
    246249                                if (rc != EOK)
    247250                                        return EIO;
     
    254257
    255258                        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);
    257261                                if (rc != EOK)
    258262                                        return EIO;
     
    261265                                        continue;
    262266
    263                                 rc = chardev_read(kbd->chardev, &code, 1, &nread);
     267                                rc = chardev_read(kbd->chardev, &code, 1, &nread,
     268                                    chardev_f_none);
    264269                                if (rc != EOK)
    265270                                        return EIO;
     
    274279                /* Extended special set */
    275280                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);
    277283                        if (rc != EOK)
    278284                                return EIO;
     
    281287                                continue;
    282288
    283                         rc = chardev_read(kbd->chardev, &code, 1, &nread);
     289                        rc = chardev_read(kbd->chardev, &code, 1, &nread,
     290                            chardev_f_none);
    284291                        if (rc != EOK)
    285292                                return EIO;
     
    288295                                continue;
    289296
    290                         rc = chardev_read(kbd->chardev, &code, 1, &nread);
     297                        rc = chardev_read(kbd->chardev, &code, 1, &nread,
     298                            chardev_f_none);
    291299                        if (rc != EOK)
    292300                                return EIO;
     
    295303                                continue;
    296304
    297                         rc = chardev_read(kbd->chardev, &code, 1, &nread);
     305                        rc = chardev_read(kbd->chardev, &code, 1, &nread,
     306                            chardev_f_none);
    298307                        if (rc != EOK)
    299308                                return EIO;
     
    302311                                continue;
    303312
    304                         rc = chardev_read(kbd->chardev, &code, 1, &nread);
     313                        rc = chardev_read(kbd->chardev, &code, 1, &nread,
     314                            chardev_f_none);
    305315                        if (rc != EOK)
    306316                                return EIO;
  • uspace/lib/c/generic/io/chardev.c

    r06412ba rf2d88f3  
    9191 * @param size Maximum number of bytes to read
    9292 * @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
    9395 *
    9496 * @return EOK on success or non-zero error code
    9597 */
    96 errno_t chardev_read(chardev_t *chardev, void *buf, size_t size, size_t *nread)
     98errno_t chardev_read(chardev_t *chardev, void *buf, size_t size, size_t *nread,
     99    chardev_flags_t flags)
    97100{
    98101        async_exch_t *exch = async_exchange_begin(chardev->sess);
     
    104107
    105108        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);
    107110        errno_t rc = async_data_read_start(exch, buf, size);
    108111        async_exchange_end(exch);
  • uspace/lib/c/generic/io/chardev_srv.c

    r06412ba rf2d88f3  
    4848        size_t size;
    4949        size_t nread;
     50        chardev_flags_t flags;
    5051        errno_t rc;
     52
     53        flags = IPC_GET_ARG1(*icall);
    5154
    5255        ipc_call_t call;
     
    7073        }
    7174
    72         rc = srv->srvs->ops->read(srv, buf, size, &nread);
     75        rc = srv->srvs->ops->read(srv, buf, size, &nread, flags);
    7376        if (rc != EOK && nread == 0) {
    7477                async_answer_0(&call, rc);
  • uspace/lib/c/include/io/chardev.h

    r06412ba rf2d88f3  
    3636#include <async.h>
    3737#include <stddef.h>
     38#include <types/io/chardev.h>
    3839
    3940typedef struct {
     
    4344extern errno_t chardev_open(async_sess_t *, chardev_t **);
    4445extern void chardev_close(chardev_t *);
    45 extern errno_t chardev_read(chardev_t *, void *, size_t, size_t *);
     46extern errno_t chardev_read(chardev_t *, void *, size_t, size_t *,
     47    chardev_flags_t);
    4648extern errno_t chardev_write(chardev_t *, const void *, size_t, size_t *);
    4749
  • uspace/lib/c/include/io/chardev_srv.h

    r06412ba rf2d88f3  
    4141#include <stdbool.h>
    4242#include <stddef.h>
     43#include <types/io/chardev.h>
    4344
    4445typedef struct chardev_ops chardev_ops_t;
     
    5960        errno_t (*open)(chardev_srvs_t *, chardev_srv_t *);
    6061        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);
    6264        errno_t (*write)(chardev_srv_t *, const void *, size_t, size_t *);
    6365        void (*def_handler)(chardev_srv_t *, ipc_call_t *);
  • uspace/lib/c/include/types/io/chardev.h

    r06412ba rf2d88f3  
    3535/** Chardev read/write operation flags */
    3636typedef enum {
     37        /** No flags */
     38        chardev_f_none = 0,
    3739        /** Do not block even if no bytes can be transferred */
    3840        chardev_f_nonblock = 0x1
  • uspace/srv/hid/input/input.c

    r06412ba rf2d88f3  
    539539                size_t nread;
    540540
    541                 chardev_read(sdev->chardev, &data, sizeof(data), &nread);
     541                chardev_read(sdev->chardev, &data, sizeof(data), &nread,
     542                    chardev_f_none);
    542543                /* XXX Handle error */
    543544                kbd_push_data(sdev->kdev, data);
  • uspace/srv/hid/input/port/chardev.c

    r06412ba rf2d88f3  
    138138
    139139        while (true) {
    140                 rc = chardev_read(chardev, &b, sizeof(b), &nread);
     140                rc = chardev_read(chardev, &b, sizeof(b), &nread,
     141                    chardev_f_none);
    141142                if (rc != EOK || nread != sizeof(b)) {
    142143                        printf("%s: Error reading data", NAME);
  • uspace/srv/hid/isdv4_tablet/isdv4.c

    r06412ba rf2d88f3  
    293293
    294294                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);
    296296                if (rc != EOK && nread == 0)
    297297                        return EIO;
  • uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c

    r06412ba rf2d88f3  
    6969static void s3c24xx_uart_sendb(s3c24xx_uart_t *, uint8_t);
    7070
    71 static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *);
     71static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *,
     72    chardev_flags_t);
    7273static errno_t s3c24xx_uart_write(chardev_srv_t *, const void *, size_t, size_t *);
    7374
     
    199200
    200201static 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)
    202203{
    203204        s3c24xx_uart_t *uart = (s3c24xx_uart_t *) srv->srvs->sarg;
     
    208209        fibril_mutex_lock(&uart->buf_lock);
    209210
    210         while (circ_buf_nused(&uart->cbuf) == 0)
     211        while ((flags & chardev_f_nonblock) == 0 &&
     212            circ_buf_nused(&uart->cbuf) == 0)
    211213                fibril_condvar_wait(&uart->buf_cv, &uart->buf_lock);
    212214
  • uspace/srv/net/slip/slip.c

    r06412ba rf2d88f3  
    212212
    213213                rc = chardev_read(chardev, slip_recv_buf,
    214                     sizeof(slip_recv_buf), &nread);
     214                    sizeof(slip_recv_buf), &nread, chardev_f_none);
    215215                if (rc != EOK) {
    216216                        log_msg(LOG_DEFAULT, LVL_ERROR,
  • uspace/srv/test/chardev-test/main.c

    r06412ba rf2d88f3  
    5050static errno_t smallx_close(chardev_srv_t *);
    5151static 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 *);
     52static errno_t smallx_read(chardev_srv_t *, void *, size_t, size_t *,
     53    chardev_flags_t);
    5354
    5455static errno_t largex_open(chardev_srvs_t *, chardev_srv_t *);
    5556static errno_t largex_close(chardev_srv_t *);
    5657static 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 *);
     58static errno_t largex_read(chardev_srv_t *, void *, size_t, size_t *,
     59    chardev_flags_t);
    5860
    5961static errno_t partialx_open(chardev_srvs_t *, chardev_srv_t *);
    6062static errno_t partialx_close(chardev_srv_t *);
    6163static 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 *);
     64static errno_t partialx_read(chardev_srv_t *, void *, size_t, size_t *,
     65    chardev_flags_t);
    6366
    6467static service_id_t smallx_svc_id;
     
    186189
    187190static 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)
    189192{
    190193        if (size < 1) {
     
    221224
    222225static 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)
    224227{
    225228        if (size < 1) {
     
    256259
    257260static 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)
    259262{
    260263        if (size < 1) {
Note: See TracChangeset for help on using the changeset viewer.