Changeset 25a179e in mainline for uspace/lib/c/generic/devman.c


Ignore:
Timestamp:
2017-12-20T19:51:45Z (6 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f96b6c8
Parents:
d4a829e
Message:

IPC return values are always errno constants. Adjust types to reflect that.

In principle, IPC server is not allowed to return non-errno values via
the "main" return value, because kernel interprets it (e.g. EHANGUP).
It's still possible to return arbitrary additional return values alongside EOK,
which are not interpreted in normal communication.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/devman.c

    rd4a829e r25a179e  
    182182        ipc_call_t answer;
    183183        aid_t req = async_send_2(exch, DEVMAN_DRIVER_REGISTER, 0, 0, &answer);
    184         sysarg_t retval = async_data_write_start(exch, name, str_size(name));
     184        int retval = async_data_write_start(exch, name, str_size(name));
    185185       
    186186        devman_exchange_end(exch);
     
    222222        aid_t req = async_send_3(exch, DEVMAN_ADD_FUNCTION, (sysarg_t) ftype,
    223223            devh, match_count, &answer);
    224         sysarg_t retval = async_data_write_start(exch, name, str_size(name));
     224        int retval = async_data_write_start(exch, name, str_size(name));
    225225        if (retval != EOK) {
    226226                devman_exchange_end(exch);
     
    272272        aid_t req = async_send_1(exch, DEVMAN_ADD_DEVICE_TO_CATEGORY,
    273273            devman_handle, &answer);
    274         sysarg_t retval = async_data_write_start(exch, cat_name,
     274        int retval = async_data_write_start(exch, cat_name,
    275275            str_size(cat_name));
    276276       
     
    310310{
    311311        async_exch_t *exch;
    312         sysarg_t retval;
     312        int retval;
    313313       
    314314        exch = devman_exchange_begin_blocking(INTERFACE_DDF_DRIVER);
     
    316316        devman_exchange_end(exch);
    317317       
    318         return (int) retval;
     318        return retval;
    319319}
    320320
     
    325325                return ENOMEM;
    326326       
    327         sysarg_t retval = async_req_1_0(exch, DEVMAN_DRV_FUN_ONLINE, funh);
    328        
    329         devman_exchange_end(exch);
    330         return (int) retval;
     327        int retval = async_req_1_0(exch, DEVMAN_DRV_FUN_ONLINE, funh);
     328       
     329        devman_exchange_end(exch);
     330        return retval;
    331331}
    332332
     
    337337                return ENOMEM;
    338338       
    339         sysarg_t retval = async_req_1_0(exch, DEVMAN_DRV_FUN_OFFLINE, funh);
    340        
    341         devman_exchange_end(exch);
    342         return (int) retval;
     339        int retval = async_req_1_0(exch, DEVMAN_DRV_FUN_OFFLINE, funh);
     340       
     341        devman_exchange_end(exch);
     342        return retval;
    343343}
    344344
     
    374374        aid_t req = async_send_2(exch, DEVMAN_DEVICE_GET_HANDLE, flags, 0,
    375375            &answer);
    376         sysarg_t retval = async_data_write_start(exch, pathname,
     376        int retval = async_data_write_start(exch, pathname,
    377377            str_size(pathname));
    378378       
     
    405405        ipc_call_t dreply;
    406406        size_t act_size;
    407         sysarg_t dretval;
     407        int dretval;
    408408       
    409409        exch = devman_exchange_begin_blocking(INTERFACE_DDF_CLIENT);
     
    421421        }
    422422       
    423         sysarg_t retval;
     423        int retval;
    424424        async_wait_for(req, &retval);
    425425       
     
    476476                return ENOMEM;
    477477       
    478         sysarg_t retval = async_req_1_0(exch, DEVMAN_FUN_ONLINE, funh);
    479        
    480         devman_exchange_end(exch);
    481         return (int) retval;
     478        int retval = async_req_1_0(exch, DEVMAN_FUN_ONLINE, funh);
     479       
     480        devman_exchange_end(exch);
     481        return retval;
    482482}
    483483
     
    488488                return ENOMEM;
    489489       
    490         sysarg_t retval = async_req_1_0(exch, DEVMAN_FUN_OFFLINE, funh);
    491        
    492         devman_exchange_end(exch);
    493         return (int) retval;
     490        int retval = async_req_1_0(exch, DEVMAN_FUN_OFFLINE, funh);
     491       
     492        devman_exchange_end(exch);
     493        return retval;
    494494}
    495495
     
    510510        }
    511511       
    512         sysarg_t retval;
     512        int retval;
    513513        async_wait_for(req, &retval);
    514514       
     
    580580                return ENOMEM;
    581581       
    582         sysarg_t retval = async_req_1_1(exch, DEVMAN_FUN_GET_CHILD,
     582        int retval = async_req_1_1(exch, DEVMAN_FUN_GET_CHILD,
    583583            funh, devh);
    584584       
    585585        devman_exchange_end(exch);
    586         return (int) retval;
     586        return retval;
    587587}
    588588
     
    600600                return ENOMEM;
    601601       
    602         sysarg_t retval = async_req_1_1(exch, DEVMAN_DEV_GET_PARENT,
     602        int retval = async_req_1_1(exch, DEVMAN_DEV_GET_PARENT,
    603603            devh, funh);
    604604       
    605605        devman_exchange_end(exch);
    606         return (int) retval;
     606        return retval;
    607607}
    608608
     
    613613                return ENOMEM;
    614614       
    615         sysarg_t retval = async_req_1_1(exch, DEVMAN_FUN_SID_TO_HANDLE,
     615        int retval = async_req_1_1(exch, DEVMAN_FUN_SID_TO_HANDLE,
    616616            sid, handle);
    617617       
    618618        devman_exchange_end(exch);
    619         return (int) retval;
     619        return retval;
    620620}
    621621
     
    643643        ipc_call_t answer;
    644644        aid_t req = async_send_0(exch, DEVMAN_DRIVER_GET_HANDLE, &answer);
    645         sysarg_t retval = async_data_write_start(exch, drvname,
     645        int retval = async_data_write_start(exch, drvname,
    646646            str_size(drvname));
    647647       
Note: See TracChangeset for help on using the changeset viewer.