Subversion Repositories HelenOS-historic

Rev

Rev 1359 | Rev 1428 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1359 Rev 1364
Line 43... Line 43...
43
                    * userspace, will be discarded */
43
                    * userspace, will be discarded */
44
#define IPC_CALL_FORWARDED      (1<<3) /* Call was forwarded */
44
#define IPC_CALL_FORWARDED      (1<<3) /* Call was forwarded */
45
#define IPC_CALL_CONN_ME_TO     (1<<4) /* Identify connect_me_to */
45
#define IPC_CALL_CONN_ME_TO     (1<<4) /* Identify connect_me_to */
46
#define IPC_CALL_NOTIF          (1<<5) /* Interrupt notification */
46
#define IPC_CALL_NOTIF          (1<<5) /* Interrupt notification */
47
 
47
 
48
/* Flags for ipc_wait_for_call */
-
 
49
#define IPC_WAIT_NONBLOCKING   1
-
 
50
 
-
 
51
/* Flags of callid (the addresses are aligned at least to 4,
48
/* Flags of callid (the addresses are aligned at least to 4,
52
 * that is why we can use bottom 2 bits of the call address
49
 * that is why we can use bottom 2 bits of the call address
53
 */
50
 */
54
#define IPC_CALLID_ANSWERED       1 /**< Type of this msg is 'answer' */
51
#define IPC_CALLID_ANSWERED       1 /**< Type of this msg is 'answer' */
55
#define IPC_CALLID_NOTIFICATION   2 /**< Type of this msg is 'notification' */
52
#define IPC_CALLID_NOTIFICATION   2 /**< Type of this msg is 'notification' */
Line 198... Line 195...
198
 
195
 
199
    ipc_data_t data;  /**< Data passed from/to userspace */
196
    ipc_data_t data;  /**< Data passed from/to userspace */
200
}call_t;
197
}call_t;
201
 
198
 
202
extern void ipc_init(void);
199
extern void ipc_init(void);
203
extern call_t * ipc_wait_for_call(answerbox_t *box, int flags);
200
extern call_t * ipc_wait_for_call(answerbox_t *box, __u32 usec, int nonblocking);
204
extern void ipc_answer(answerbox_t *box, call_t *request);
201
extern void ipc_answer(answerbox_t *box, call_t *request);
205
extern int ipc_call(phone_t *phone, call_t *call);
202
extern int ipc_call(phone_t *phone, call_t *call);
206
extern void ipc_call_sync(phone_t *phone, call_t *request);
203
extern void ipc_call_sync(phone_t *phone, call_t *request);
207
extern void ipc_phone_init(phone_t *phone);
204
extern void ipc_phone_init(phone_t *phone);
208
extern void ipc_phone_connect(phone_t *phone, answerbox_t *box);
205
extern void ipc_phone_connect(phone_t *phone, answerbox_t *box);
Line 214... Line 211...
214
extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox);
211
extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox);
215
extern void ipc_cleanup(task_t *task);
212
extern void ipc_cleanup(task_t *task);
216
extern int ipc_phone_hangup(phone_t *phone);
213
extern int ipc_phone_hangup(phone_t *phone);
217
extern void ipc_backsend_err(phone_t *phone, call_t *call, __native err);
214
extern void ipc_backsend_err(phone_t *phone, call_t *call, __native err);
218
 
215
 
219
 
-
 
220
extern answerbox_t *ipc_phone_0;
216
extern answerbox_t *ipc_phone_0;
221
 
217
 
222
#endif
218
#endif
223
 
219
 
224
#endif
220
#endif