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


Ignore:
Timestamp:
2017-12-20T19:51:45Z (7 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/iplink_srv.c

    rd4a829e r25a179e  
    7878                async_answer_0(callid, rc);
    7979       
    80         async_answer_0(iid, (sysarg_t) rc);
     80        async_answer_0(iid, rc);
    8181}
    8282
     
    9090
    9191        if (!async_data_write_receive(&callid, &size)) {
    92                 async_answer_0(callid, (sysarg_t) EREFUSED);
    93                 async_answer_0(iid, (sysarg_t) EREFUSED);
     92                async_answer_0(callid, EREFUSED);
     93                async_answer_0(iid, EREFUSED);
    9494        }
    9595
     
    104104                async_answer_0(callid, rc);
    105105       
    106         async_answer_0(iid, (sysarg_t) rc);
     106        async_answer_0(iid, rc);
    107107}
    108108
     
    127127        int rc = async_data_write_finalize(callid, &addr, size);
    128128        if (rc != EOK) {
    129                 async_answer_0(callid, (sysarg_t) rc);
    130                 async_answer_0(iid, (sysarg_t) rc);
     129                async_answer_0(callid, rc);
     130                async_answer_0(iid, rc);
    131131        }
    132132       
    133133        rc = srv->ops->addr_add(srv, &addr);
    134         async_answer_0(iid, (sysarg_t) rc);
     134        async_answer_0(iid, rc);
    135135}
    136136
     
    155155        int rc = async_data_write_finalize(callid, &addr, size);
    156156        if (rc != EOK) {
    157                 async_answer_0(callid, (sysarg_t) rc);
    158                 async_answer_0(iid, (sysarg_t) rc);
     157                async_answer_0(callid, rc);
     158                async_answer_0(iid, rc);
    159159        }
    160160       
    161161        rc = srv->ops->addr_remove(srv, &addr);
    162         async_answer_0(iid, (sysarg_t) rc);
     162        async_answer_0(iid, rc);
    163163}
    164164
     
    204204        int rc = async_data_write_finalize(callid, &sdu.dest, size);
    205205        if (rc != EOK) {
    206                 async_answer_0(callid, (sysarg_t) rc);
    207                 async_answer_0(iid, (sysarg_t) rc);
     206                async_answer_0(callid, rc);
     207                async_answer_0(iid, rc);
    208208        }
    209209       
     
    321321        }
    322322       
    323         sysarg_t retval;
     323        int retval;
    324324        async_wait_for(req, &retval);
    325325        if (retval != EOK)
     
    347347        }
    348348       
    349         sysarg_t retval;
     349        int retval;
    350350        async_wait_for(req, &retval);
    351351        if (retval != EOK)
Note: See TracChangeset for help on using the changeset viewer.