Rev 2601 | Rev 2623 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2601 | Rev 2622 | ||
---|---|---|---|
Line 327... | Line 327... | ||
327 | /** Forwards call from one answerbox to another one. |
327 | /** Forwards call from one answerbox to another one. |
328 | * |
328 | * |
329 | * @param call Call structure to be redirected. |
329 | * @param call Call structure to be redirected. |
330 | * @param newphone Phone structure to target answerbox. |
330 | * @param newphone Phone structure to target answerbox. |
331 | * @param oldbox Old answerbox structure. |
331 | * @param oldbox Old answerbox structure. |
- | 332 | * @param mode Flags that specify mode of the forward operation. |
|
332 | * |
333 | * |
333 | * @return Return 0 if forwarding succeeded or an error code if |
334 | * @return Return 0 if forwarding succeeded or an error code if |
334 | * there was error. |
335 | * there was error. |
335 | * |
336 | * |
336 | * The return value serves only as an information for the forwarder, |
337 | * The return value serves only as an information for the forwarder, |
337 | * the original caller is notified automatically with EFORWARD. |
338 | * the original caller is notified automatically with EFORWARD. |
338 | */ |
339 | */ |
339 | int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox) |
340 | int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox, int mode) |
340 | { |
341 | { |
341 | spinlock_lock(&oldbox->lock); |
342 | spinlock_lock(&oldbox->lock); |
342 | list_remove(&call->link); |
343 | list_remove(&call->link); |
343 | spinlock_unlock(&oldbox->lock); |
344 | spinlock_unlock(&oldbox->lock); |
344 | 345 |