Changeset 8b243f2 in mainline for kernel/generic/include/ipc/ipc.h
- Timestamp:
- 2007-06-17T19:34:36Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bd72c3e9
- Parents:
- 4680ef5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
r4680ef5 r8b243f2 38 38 /* Length of data being transfered with IPC call */ 39 39 /* - the uspace may not be able to utilize full length */ 40 #define IPC_CALL_LEN 40 #define IPC_CALL_LEN 4 41 41 42 42 /** Maximum active async calls per thread */ 43 43 #ifdef CONFIG_DEBUG 44 # define IPC_MAX_ASYNC_CALLS444 #define IPC_MAX_ASYNC_CALLS 4 45 45 #else 46 # define IPC_MAX_ASYNC_CALLS400046 #define IPC_MAX_ASYNC_CALLS 4000 47 47 #endif 48 48 … … 62 62 #define IPC_CALL_NOTIF (1 << 5) 63 63 64 /* Flags of callid (the addresses are aligned at least to 4, 65 * that is why we can use bottom 2 bits of the call address 66 */ 67 /** Type of this msg is 'answer' */ 64 /* 65 * Bits used in call hashes. 66 * The addresses are aligned at least to 4 that is why we can use the 2 least 67 * significant bits of the call address. 68 */ 69 /** Type of this call is 'answer' */ 68 70 #define IPC_CALLID_ANSWERED 1 69 /** Type of this msgis 'notification' */71 /** Type of this call is 'notification' */ 70 72 #define IPC_CALLID_NOTIFICATION 2 71 73 72 /* Return values from IPC_ASYNC*/74 /* Return values from sys_ipc_call_async(). */ 73 75 #define IPC_CALLRET_FATAL -1 74 76 #define IPC_CALLRET_TEMPORARY -2 … … 112 114 * - the caller obtains taskid of the called thread 113 115 */ 114 #define IPC_M_CONNECT_TO_ME 116 #define IPC_M_CONNECT_TO_ME 1 115 117 /** Protocol for CONNECT - ME - TO 116 118 * … … 131 133 * 132 134 */ 133 #define IPC_M_CONNECT_ME_TO 135 #define IPC_M_CONNECT_ME_TO 2 134 136 /** This message is sent to answerbox when the phone 135 137 * is hung up 136 138 */ 137 #define IPC_M_PHONE_HUNGUP 139 #define IPC_M_PHONE_HUNGUP 3 138 140 139 141 /** Send as_area over IPC … … 145 147 * - ARG1 - dst as_area base adress 146 148 */ 147 #define IPC_M_AS_AREA_SEND 149 #define IPC_M_AS_AREA_SEND 5 148 150 149 151 /** Get as_area over IPC … … 157 159 * - ARG2 - flags that will be used for sharing 158 160 */ 159 #define IPC_M_AS_AREA_RECV 161 #define IPC_M_AS_AREA_RECV 6 160 162 161 163 162 164 /* Well-known methods */ 163 #define IPC_M_LAST_SYSTEM 164 #define IPC_M_PING 165 #define IPC_M_LAST_SYSTEM 511 166 #define IPC_M_PING 512 165 167 /* User methods */ 166 #define FIRST_USER_METHOD 168 #define FIRST_USER_METHOD 1024 167 169 168 170 #ifdef KERNEL … … 204 206 waitq_t wq; 205 207 206 /** Phones connected to this answerbox */208 /** Phones connected to this answerbox. */ 207 209 link_t connected_phones; 208 /** Received calls */210 /** Received calls. */ 209 211 link_t calls; 210 212 link_t dispatched_calls; /* Should be hash table in the future */ 211 213 212 /** Answered calls */214 /** Answered calls. */ 213 215 link_t answers; 214 216 215 217 SPINLOCK_DECLARE(irq_lock); 216 /** Notifications from IRQ handlers */218 /** Notifications from IRQ handlers. */ 217 219 link_t irq_notifs; 218 220 /** IRQs with notifications to this answerbox. */ … … 230 232 int flags; 231 233 232 /* Identification of the caller*/234 /** Identification of the caller. */ 233 235 struct task *sender; 234 /* The caller box is different from sender->answerbox 235 * for synchronous calls 236 */ 236 /** The caller box is different from sender->answerbox for synchronous 237 * calls. */ 237 238 answerbox_t *callerbox; 238 239 239 /** Private data to internal IPC */240 /** Private data to internal IPC. */ 240 241 unative_t priv; 241 242 242 /** Data passed from/to userspace */243 /** Data passed from/to userspace. */ 243 244 ipc_data_t data; 244 245 } call_t;
Note:
See TracChangeset
for help on using the changeset viewer.