Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ipc/sysipc_ops.h

    r5b0cf63 r466e95f7  
    4040#define SYSIPC_OP(op, call, ...) \
    4141        ({ \
    42                 sysipc_ops_t *ops = sysipc_ops_get((call)->request_method); \
    43                 assert(ops->op); \
    44                 ops->op((call), ##__VA_ARGS__); \
     42                int rc = EOK; \
     43                \
     44                sysipc_ops_t *ops; \
     45                ops = sysipc_ops_get((call)->request_method); \
     46                if (ops->op) \
     47                        rc = ops->op((call), ##__VA_ARGS__); \
     48                rc; \
    4549        })
    4650
     
    9094         * Invoked on:          all calls
    9195         */
    92         errno_t (*request_preprocess)(call_t *, phone_t *);
     96        int (* request_preprocess)(call_t *, phone_t *);
    9397
    9498        /**
     
    101105         *                      _ipc_answer_free_call()
    102106         * Invoked on:          all forgotten calls
    103          */
    104         errno_t (*request_forget)(call_t *);
     107         */     
     108        int (* request_forget)(call_t *);
    105109
    106110        /**
     
    111115         * Races with:          request_forget()
    112116         * Invoked on:          all calls delivered to the callee
    113          */
    114         int (*request_process)(call_t *, answerbox_t *);
     117         */     
     118        int (* request_process)(call_t *, answerbox_t *);
    115119
    116120        /**
     
    123127         * Invoked on:          all forgotten calls
    124128         */
    125         errno_t (*answer_cleanup)(call_t *, ipc_data_t *);
     129        int (* answer_cleanup)(call_t *, ipc_data_t *);
    126130
    127131        /**
     
    134138         * Invoked on:          all answered calls
    135139         */
    136         errno_t (*answer_preprocess)(call_t *, ipc_data_t *);
     140        int (* answer_preprocess)(call_t *, ipc_data_t *);
    137141
    138142        /**
     
    144148         * Invoked on:          all answered calls
    145149         */
    146         errno_t (*answer_process)(call_t *);
     150        int (* answer_process)(call_t *);
    147151} sysipc_ops_t;
    148152
    149153extern sysipc_ops_t *sysipc_ops_get(sysarg_t);
    150154
    151 extern errno_t null_request_preprocess(call_t *, phone_t *);
    152 extern errno_t null_request_forget(call_t *);
     155extern int null_request_preprocess(call_t *, phone_t *);
     156extern int null_request_forget(call_t *);
    153157extern int null_request_process(call_t *, answerbox_t *);
    154 extern errno_t null_answer_cleanup(call_t *, ipc_data_t *);
    155 extern errno_t null_answer_preprocess(call_t *, ipc_data_t *);
    156 extern errno_t null_answer_process(call_t *);
     158extern int null_answer_cleanup(call_t *, ipc_data_t *);
     159extern int null_answer_preprocess(call_t *, ipc_data_t *);
     160extern int null_answer_process(call_t *);
    157161
    158162#endif
Note: See TracChangeset for help on using the changeset viewer.