Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/device/src/bd_srv.c

    r5fc8244 r4285f384  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2025 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup libc
     29/** @addtogroup libdevice
    3030 * @{
    3131 */
     
    5656        ipc_call_t rcall;
    5757        if (!async_data_read_receive(&rcall, &size)) {
     58                async_answer_0(&rcall, EINVAL);
    5859                async_answer_0(call, EINVAL);
    5960                return;
     
    99100        ipc_call_t rcall;
    100101        if (!async_data_read_receive(&rcall, &size)) {
     102                async_answer_0(&rcall, EINVAL);
    101103                async_answer_0(call, EINVAL);
    102104                return;
     
    204206}
    205207
     208static void bd_eject_srv(bd_srv_t *srv, ipc_call_t *call)
     209{
     210        errno_t rc;
     211
     212        if (srv->srvs->ops->eject == NULL) {
     213                async_answer_0(call, ENOTSUP);
     214                return;
     215        }
     216
     217        rc = srv->srvs->ops->eject(srv);
     218        async_answer_0(call, rc);
     219}
     220
    206221static bd_srv_t *bd_srv_create(bd_srvs_t *srvs)
    207222{
     
    274289                        bd_get_num_blocks_srv(srv, &call);
    275290                        break;
     291                case BD_EJECT:
     292                        bd_eject_srv(srv, &call);
     293                        break;
    276294                default:
    277295                        async_answer_0(&call, EINVAL);
Note: See TracChangeset for help on using the changeset viewer.