Subversion Repositories HelenOS

Rev

Rev 1568 | Rev 1582 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1568 Rev 1573
Line 183... Line 183...
183
    IPC_PHONE_CONNECTED,    /**< Phone is connected */
183
    IPC_PHONE_CONNECTED,    /**< Phone is connected */
184
    IPC_PHONE_HUNGUP,  /**< Phone is hung up, waiting for answers to come */
184
    IPC_PHONE_HUNGUP,  /**< Phone is hung up, waiting for answers to come */
185
    IPC_PHONE_SLAMMED       /**< Phone was hungup from server */
185
    IPC_PHONE_SLAMMED       /**< Phone was hungup from server */
186
} ipc_phone_state_t;
186
} ipc_phone_state_t;
187
 
187
 
-
 
188
/** Structure identifying phone (in TASK structure) */
188
struct phone_s {
189
struct phone_s {
189
    SPINLOCK_DECLARE(lock);
190
    SPINLOCK_DECLARE(lock);
190
    link_t list;
191
    link_t link;
191
    answerbox_t *callee;
192
    answerbox_t *callee;
192
    ipc_phone_state_t state;
193
    ipc_phone_state_t state;
193
    atomic_t active_calls;
194
    atomic_t active_calls;
194
};
195
};
195
 
196
 
196
typedef struct {
197
typedef struct {
197
    link_t list;
198
    link_t link;
198
 
199
 
199
    int flags;
200
    int flags;
200
 
201
 
201
    /* Identification of the caller */
202
    /* Identification of the caller */
202
    task_t *sender;
203
    task_t *sender;
Line 224... Line 225...
224
extern void task_print_list(void);
225
extern void task_print_list(void);
225
extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox);
226
extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox);
226
extern void ipc_cleanup(task_t *task);
227
extern void ipc_cleanup(task_t *task);
227
extern int ipc_phone_hangup(phone_t *phone, int aggressive);
228
extern int ipc_phone_hangup(phone_t *phone, int aggressive);
228
extern void ipc_backsend_err(phone_t *phone, call_t *call, __native err);
229
extern void ipc_backsend_err(phone_t *phone, call_t *call, __native err);
-
 
230
extern void ipc_print_task(task_id_t taskid);
229
 
231
 
230
extern answerbox_t *ipc_phone_0;
232
extern answerbox_t *ipc_phone_0;
231
 
233
 
232
#endif
234
#endif
233
 
235