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 | ||