Changeset 01c3bb4 in mainline for uspace/lib/c/include/ipc/ipc.h
- Timestamp:
- 2017-11-25T15:43:25Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ce4a21a0
- Parents:
- 98cb5e0d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/ipc/ipc.h
r98cb5e0d r01c3bb4 44 44 #include <abi/synch.h> 45 45 #include <abi/proc/task.h> 46 #include <abi/cap.h> 46 47 47 48 typedef void (*ipc_async_callback_t)(void *, int, ipc_call_t *); 48 49 49 extern ipc_callid_t ipc_wait_cycle(ipc_call_t *, sysarg_t, unsigned int);50 extern cap_handle_t ipc_wait_cycle(ipc_call_t *, sysarg_t, unsigned int); 50 51 extern void ipc_poke(void); 51 52 … … 53 54 ipc_wait_for_call_timeout(data, SYNCH_NO_TIMEOUT); 54 55 55 extern ipc_callid_t ipc_wait_for_call_timeout(ipc_call_t *, sysarg_t);56 extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *);56 extern cap_handle_t ipc_wait_for_call_timeout(ipc_call_t *, sysarg_t); 57 extern cap_handle_t ipc_trywait_for_call(ipc_call_t *); 57 58 58 59 /* … … 63 64 */ 64 65 65 #define ipc_answer_0(callid, retval) \ 66 ipc_answer_fast((callid), (retval), 0, 0, 0, 0) 67 #define ipc_answer_1(callid, retval, arg1) \ 68 ipc_answer_fast((callid), (retval), (arg1), 0, 0, 0) 69 #define ipc_answer_2(callid, retval, arg1, arg2) \ 70 ipc_answer_fast((callid), (retval), (arg1), (arg2), 0, 0) 71 #define ipc_answer_3(callid, retval, arg1, arg2, arg3) \ 72 ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), 0) 73 #define ipc_answer_4(callid, retval, arg1, arg2, arg3, arg4) \ 74 ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), (arg4)) 75 #define ipc_answer_5(callid, retval, arg1, arg2, arg3, arg4, arg5) \ 76 ipc_answer_slow((callid), (retval), (arg1), (arg2), (arg3), (arg4), (arg5)) 66 #define ipc_answer_0(chandle, retval) \ 67 ipc_answer_fast((chandle), (retval), 0, 0, 0, 0) 68 #define ipc_answer_1(chandle, retval, arg1) \ 69 ipc_answer_fast((chandle), (retval), (arg1), 0, 0, 0) 70 #define ipc_answer_2(chandle, retval, arg1, arg2) \ 71 ipc_answer_fast((chandle), (retval), (arg1), (arg2), 0, 0) 72 #define ipc_answer_3(chandle, retval, arg1, arg2, arg3) \ 73 ipc_answer_fast((chandle), (retval), (arg1), (arg2), (arg3), 0) 74 #define ipc_answer_4(chandle, retval, arg1, arg2, arg3, arg4) \ 75 ipc_answer_fast((chandle), (retval), (arg1), (arg2), (arg3), (arg4)) 76 #define ipc_answer_5(chandle, retval, arg1, arg2, arg3, arg4, arg5) \ 77 ipc_answer_slow((chandle), (retval), (arg1), (arg2), (arg3), (arg4), \ 78 (arg5)) 77 79 78 extern sysarg_t ipc_answer_fast( ipc_callid_t, sysarg_t, sysarg_t, sysarg_t,80 extern sysarg_t ipc_answer_fast(cap_handle_t, sysarg_t, sysarg_t, sysarg_t, 79 81 sysarg_t, sysarg_t); 80 extern sysarg_t ipc_answer_slow( ipc_callid_t, sysarg_t, sysarg_t, sysarg_t,82 extern sysarg_t ipc_answer_slow(cap_handle_t, sysarg_t, sysarg_t, sysarg_t, 81 83 sysarg_t, sysarg_t, sysarg_t); 82 84 … … 88 90 */ 89 91 90 #define ipc_call_async_0(ph oneid, method, private, callback) \91 ipc_call_async_fast((ph oneid), (method), 0, 0, 0, (private), (callback))92 #define ipc_call_async_1(ph oneid, method, arg1, private, callback) \93 ipc_call_async_fast((ph oneid), (method), (arg1), 0, 0, (private), \92 #define ipc_call_async_0(phandle, method, private, callback) \ 93 ipc_call_async_fast((phandle), (method), 0, 0, 0, (private), (callback)) 94 #define ipc_call_async_1(phandle, method, arg1, private, callback) \ 95 ipc_call_async_fast((phandle), (method), (arg1), 0, 0, (private), \ 94 96 (callback)) 95 #define ipc_call_async_2(ph oneid, method, arg1, arg2, private, callback) \96 ipc_call_async_fast((ph oneid), (method), (arg1), (arg2), 0, \97 #define ipc_call_async_2(phandle, method, arg1, arg2, private, callback) \ 98 ipc_call_async_fast((phandle), (method), (arg1), (arg2), 0, \ 97 99 (private), (callback)) 98 #define ipc_call_async_3(ph oneid, method, arg1, arg2, arg3, private, callback) \99 ipc_call_async_fast((ph oneid), (method), (arg1), (arg2), (arg3), \100 #define ipc_call_async_3(phandle, method, arg1, arg2, arg3, private, callback) \ 101 ipc_call_async_fast((phandle), (method), (arg1), (arg2), (arg3), \ 100 102 (private), (callback)) 101 #define ipc_call_async_4(ph oneid, method, arg1, arg2, arg3, arg4, private, \103 #define ipc_call_async_4(phandle, method, arg1, arg2, arg3, arg4, private, \ 102 104 callback) \ 103 ipc_call_async_slow((ph oneid), (method), (arg1), (arg2), (arg3), \105 ipc_call_async_slow((phandle), (method), (arg1), (arg2), (arg3), \ 104 106 (arg4), 0, (private), (callback)) 105 #define ipc_call_async_5(ph oneid, method, arg1, arg2, arg3, arg4, arg5, \107 #define ipc_call_async_5(phandle, method, arg1, arg2, arg3, arg4, arg5, \ 106 108 private, callback) \ 107 ipc_call_async_slow((ph oneid), (method), (arg1), (arg2), (arg3), \109 ipc_call_async_slow((phandle), (method), (arg1), (arg2), (arg3), \ 108 110 (arg4), (arg5), (private), (callback)) 109 111 110 extern void ipc_call_async_fast( int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,111 void *, ipc_async_callback_t);112 extern void ipc_call_async_slow( int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,113 sysarg_t, sysarg_t, void *, ipc_async_callback_t);112 extern void ipc_call_async_fast(cap_handle_t, sysarg_t, sysarg_t, sysarg_t, 113 sysarg_t, void *, ipc_async_callback_t); 114 extern void ipc_call_async_slow(cap_handle_t, sysarg_t, sysarg_t, sysarg_t, 115 sysarg_t, sysarg_t, sysarg_t, void *, ipc_async_callback_t); 114 116 115 extern int ipc_hangup( int);117 extern int ipc_hangup(cap_handle_t); 116 118 117 extern int ipc_forward_fast( ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,118 unsigned int);119 extern int ipc_forward_slow( ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,120 sysarg_t, sysarg_t, sysarg_t, unsigned int);119 extern int ipc_forward_fast(cap_handle_t, cap_handle_t, sysarg_t, sysarg_t, 120 sysarg_t, unsigned int); 121 extern int ipc_forward_slow(cap_handle_t, cap_handle_t, sysarg_t, sysarg_t, 122 sysarg_t, sysarg_t, sysarg_t, sysarg_t, unsigned int); 121 123 122 124 extern int ipc_connect_kbox(task_id_t);
Note:
See TracChangeset
for help on using the changeset viewer.