Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ipcrsc.c

    r9d58539 rc33f39f  
    132132#include <ipc/ipcrsc.h>
    133133#include <debug.h>
     134#include <abi/errno.h>
    134135
    135136/** Find call_t * in call table according to callid.
     
    151152       
    152153        list_foreach(TASK->answerbox.dispatched_calls, lst) {
    153                 call_t *call = list_get_instance(lst, call_t, link);
     154                call_t *call = list_get_instance(lst, call_t, ab_link);
    154155                if ((sysarg_t) call == callid) {
    155156                        result = call;
     
    160161        irq_spinlock_unlock(&TASK->answerbox.lock, true);
    161162        return result;
     163}
     164
     165/** Get phone from the current task by ID.
     166 *
     167 * @param phoneid Phone ID.
     168 * @param phone   Place to store pointer to phone.
     169 *
     170 * @return EOK on success, EINVAL if ID is invalid.
     171 *
     172 */
     173int phone_get(sysarg_t phoneid, phone_t **phone)
     174{
     175        if (phoneid >= IPC_MAX_PHONES)
     176                return EINVAL;
     177       
     178        *phone = &TASK->phones[phoneid];
     179        return EOK;
    162180}
    163181
     
    223241 * @param phoneid Phone handle to be connected.
    224242 * @param box     Answerbox to which to connect the phone handle.
     243 * @return        True if the phone was connected, false otherwise.
    225244 *
    226245 * The procedure _enforces_ that the user first marks the phone
     
    229248 *
    230249 */
    231 void phone_connect(int phoneid, answerbox_t *box)
     250bool phone_connect(int phoneid, answerbox_t *box)
    232251{
    233252        phone_t *phone = &TASK->phones[phoneid];
    234253       
    235254        ASSERT(phone->state == IPC_PHONE_CONNECTING);
    236         ipc_phone_connect(phone, box);
     255        return ipc_phone_connect(phone, box);
    237256}
    238257
Note: See TracChangeset for help on using the changeset viewer.