Changes in kernel/generic/include/ipc/ipc.h [5378f99:da1bafb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
r5378f99 rda1bafb 43 43 #define IPC_CALL_LEN 6 44 44 45 /** Maximum active async calls per phone */ 46 #define IPC_MAX_ASYNC_CALLS 4 45 /** Maximum active async calls per thread */ 46 #ifdef CONFIG_DEBUG 47 #define IPC_MAX_ASYNC_CALLS 4 48 #else 49 #define IPC_MAX_ASYNC_CALLS 4000 50 #endif 47 51 48 52 /* Flags for calls */ … … 84 88 /* Macros for manipulating calling data */ 85 89 #define IPC_SET_RETVAL(data, retval) ((data).args[0] = (retval)) 86 #define IPC_SET_ IMETHOD(data, val)((data).args[0] = (val))90 #define IPC_SET_METHOD(data, val) ((data).args[0] = (val)) 87 91 #define IPC_SET_ARG1(data, val) ((data).args[1] = (val)) 88 92 #define IPC_SET_ARG2(data, val) ((data).args[2] = (val)) … … 91 95 #define IPC_SET_ARG5(data, val) ((data).args[5] = (val)) 92 96 93 #define IPC_GET_ IMETHOD(data) ((data).args[0])94 #define IPC_GET_RETVAL(data) 97 #define IPC_GET_METHOD(data) ((data).args[0]) 98 #define IPC_GET_RETVAL(data) ((data).args[0]) 95 99 96 100 #define IPC_GET_ARG1(data) ((data).args[1]) … … 116 120 #define IPC_FF_ROUTE_FROM_ME (1 << 0) 117 121 118 /** Kernel IPC interfaces119 *120 */121 #define IPC_IF_KERNEL 0122 123 122 /** System-specific methods - only through special syscalls 124 * 125 * These methods have special behaviour. These methods also 126 * have the implicit kernel interface 0. 123 * These methods have special behaviour 127 124 * 128 125 */ … … 165 162 * error is sent back to caller. Otherwise 166 163 * the call is accepted and the response is sent back. 167 * - the hash of the client task is passed to userspace 168 * (on the receiving side) as ARG4 of the call. 169 * - the hash of the allocated phone is passed to userspace 164 * - the allocated phoneid is passed to userspace 170 165 * (on the receiving side) as ARG5 of the call. 171 166 * … … 320 315 321 316 typedef struct { 322 sysarg_t args[IPC_CALL_LEN]; 323 /** Task which made or forwarded the call with IPC_FF_ROUTE_FROM_ME. */ 324 struct task *task; 325 /** Phone which made or last masqueraded this call. */ 317 unative_t args[IPC_CALL_LEN]; 326 318 phone_t *phone; 327 319 } ipc_data_t; … … 338 330 * The caller box is different from sender->answerbox 339 331 * for synchronous calls. 332 * 340 333 */ 341 334 answerbox_t *callerbox; 342 335 343 336 /** Private data to internal IPC. */ 344 sysarg_t priv;337 unative_t priv; 345 338 346 339 /** Data passed from/to userspace. */ … … 354 347 * cases, we must keep it aside so that the answer is processed 355 348 * correctly. 349 * 356 350 */ 357 351 phone_t *caller_phone; … … 378 372 379 373 extern void ipc_cleanup(void); 380 extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t);374 extern void ipc_backsend_err(phone_t *, call_t *, unative_t); 381 375 extern void ipc_answerbox_slam_phones(answerbox_t *, bool); 382 376 extern void ipc_cleanup_call_list(link_t *);
Note:
See TracChangeset
for help on using the changeset viewer.