Changeset 132ab5d1 in mainline for uspace/lib/c/include/ipc
- Timestamp:
- 2018-01-30T03:20:45Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5a6cc679
- Parents:
- 8bfb163 (diff), 6a5d05b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/include/ipc
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/ipc/chardev.h
r8bfb163 r132ab5d1 41 41 typedef enum { 42 42 CHARDEV_READ = IPC_FIRST_USER_METHOD, 43 CHARDEV_WRITE 43 CHARDEV_WRITE, 44 44 } chardev_request_t; 45 46 enum { 47 CHARDEV_LIMIT = CHARDEV_WRITE + 1 48 }; 45 49 46 50 #endif -
uspace/lib/c/include/ipc/common.h
r8bfb163 r132ab5d1 40 40 #include <abi/proc/task.h> 41 41 #include <futex.h> 42 #include <abi/cap.h> 42 43 43 44 #define IPC_FLAG_BLOCKING 0x01 45 46 struct async_call; 44 47 45 48 typedef struct { … … 47 50 task_id_t in_task_id; 48 51 sysarg_t in_phone_hash; 52 unsigned flags; 53 struct async_call *label; 54 cap_handle_t cap_handle; 49 55 } ipc_call_t; 50 56 51 typedef sysarg_t ipc_callid_t;57 typedef cap_handle_t ipc_callid_t; 52 58 53 59 extern futex_t async_futex; -
uspace/lib/c/include/ipc/dev_iface.h
r8bfb163 r132ab5d1 30 30 #define LIBC_IPC_DEV_IFACE_H_ 31 31 32 #include < malloc.h>32 #include <stdlib.h> 33 33 #include <types/common.h> 34 34 -
uspace/lib/c/include/ipc/devman.h
r8bfb163 r132ab5d1 36 36 #include <ipc/common.h> 37 37 #include <adt/list.h> 38 #include <malloc.h>39 38 #include <mem.h> 39 #include <stdlib.h> 40 40 41 41 #define DEVMAN_NAME_MAXLEN 256 -
uspace/lib/c/include/ipc/ipc.h
r8bfb163 r132ab5d1 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 i pc_callid_t ipc_wait_cycle(ipc_call_t *, sysarg_t, unsigned int);50 extern int 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 i pc_callid_t ipc_wait_for_call_timeout(ipc_call_t *, sysarg_t);56 extern i pc_callid_t ipc_trywait_for_call(ipc_call_t *);56 extern int ipc_wait_for_call_timeout(ipc_call_t *, sysarg_t); 57 extern int 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 int ipc_answer_fast(cap_handle_t, int, 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 int ipc_answer_slow(cap_handle_t, int, sysarg_t, sysarg_t, 81 83 sysarg_t, sysarg_t, sysarg_t); 82 84 … … 88 90 */ 89 91 90 #define ipc_call_async_0(phoneid, method, private, callback) \ 91 ipc_call_async_fast((phoneid), (method), 0, 0, 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), \ 92 96 (callback)) 93 #define ipc_call_async_1(phoneid, method, arg1, private, callback) \ 94 ipc_call_async_fast((phoneid), (method), (arg1), 0, 0, 0, (private), \ 95 (callback)) 96 #define ipc_call_async_2(phoneid, method, arg1, arg2, private, callback) \ 97 ipc_call_async_fast((phoneid), (method), (arg1), (arg2), 0, 0, \ 97 #define ipc_call_async_2(phandle, method, arg1, arg2, private, callback) \ 98 ipc_call_async_fast((phandle), (method), (arg1), (arg2), 0, \ 98 99 (private), (callback)) 99 #define ipc_call_async_3(ph oneid, method, arg1, arg2, arg3, private, callback) \100 ipc_call_async_fast((ph oneid), (method), (arg1), (arg2), (arg3), 0, \100 #define ipc_call_async_3(phandle, method, arg1, arg2, arg3, private, callback) \ 101 ipc_call_async_fast((phandle), (method), (arg1), (arg2), (arg3), \ 101 102 (private), (callback)) 102 #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, \ 103 104 callback) \ 104 ipc_call_async_ fast((phoneid), (method), (arg1), (arg2), (arg3), \105 (arg4), (private), (callback))106 #define ipc_call_async_5(ph oneid, method, arg1, arg2, arg3, arg4, arg5, \105 ipc_call_async_slow((phandle), (method), (arg1), (arg2), (arg3), \ 106 (arg4), 0, (private), (callback)) 107 #define ipc_call_async_5(phandle, method, arg1, arg2, arg3, arg4, arg5, \ 107 108 private, callback) \ 108 ipc_call_async_slow((ph oneid), (method), (arg1), (arg2), (arg3), \109 ipc_call_async_slow((phandle), (method), (arg1), (arg2), (arg3), \ 109 110 (arg4), (arg5), (private), (callback)) 110 111 111 extern void ipc_call_async_fast( int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,112 extern void ipc_call_async_fast(cap_handle_t, sysarg_t, sysarg_t, sysarg_t, 112 113 sysarg_t, void *, ipc_async_callback_t); 113 extern void ipc_call_async_slow( int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,114 sysarg_t, 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); 115 116 116 extern int ipc_hangup( int);117 extern int ipc_hangup(cap_handle_t); 117 118 118 extern int ipc_forward_fast( ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,119 unsigned int);120 extern int ipc_forward_slow( ipc_callid_t, int, sysarg_t, sysarg_t, sysarg_t,121 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); 122 123 123 extern int ipc_connect_kbox(task_id_t );124 extern int ipc_connect_kbox(task_id_t, cap_handle_t *); 124 125 125 126 #endif -
uspace/lib/c/include/ipc/irq.h
r8bfb163 r132ab5d1 38 38 #include <types/common.h> 39 39 #include <abi/ddi/irq.h> 40 #include <abi/cap.h> 40 41 41 extern int ipc_irq_subscribe(int, sysarg_t, const irq_code_t * );42 extern int ipc_irq_unsubscribe( int);42 extern int ipc_irq_subscribe(int, sysarg_t, const irq_code_t *, cap_handle_t *); 43 extern int ipc_irq_unsubscribe(cap_handle_t); 43 44 44 45 #endif -
uspace/lib/c/include/ipc/serial_ctl.h
r8bfb163 r132ab5d1 30 30 #define LIBC_IPC_SERIAL_CTL_H_ 31 31 32 #include <ipc/ dev_iface.h>32 #include <ipc/chardev.h> 33 33 34 34 /** IPC methods for getting/setting serial communication properties … … 41 41 */ 42 42 typedef enum { 43 SERIAL_GET_COM_PROPS = DEV_FIRST_CUSTOM_METHOD,43 SERIAL_GET_COM_PROPS = CHARDEV_LIMIT, 44 44 SERIAL_SET_COM_PROPS 45 45 } serial_ctl_t; -
uspace/lib/c/include/ipc/services.h
r8bfb163 r132ab5d1 49 49 } service_t; 50 50 51 #define SERVICE_NAME_CHARDEV_TEST_SMALLX "chardev-test/smallx" 52 #define SERVICE_NAME_CHARDEV_TEST_LARGEX "chardev-test/largex" 53 #define SERVICE_NAME_CHARDEV_TEST_PARTIALX "chardev-test/partialx" 51 54 #define SERVICE_NAME_CLIPBOARD "clipboard" 52 55 #define SERVICE_NAME_CORECFG "corecfg" -
uspace/lib/c/include/ipc/tcp.h
r8bfb163 r132ab5d1 1 1 /* 2 * Copyright (c) 2015 Jiri Svob da2 * Copyright (c) 2015 Jiri Svoboda 3 3 * All rights reserved. 4 4 * -
uspace/lib/c/include/ipc/udp.h
r8bfb163 r132ab5d1 1 1 /* 2 * Copyright (c) 2015 Jiri Svob da2 * Copyright (c) 2015 Jiri Svoboda 3 3 * All rights reserved. 4 4 *
Note:
See TracChangeset
for help on using the changeset viewer.