Rev 2493 | Rev 2523 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2493 | Rev 2494 | ||
|---|---|---|---|
| Line 136... | Line 136... | ||
| 136 | /** This message is sent to answerbox when the phone |
136 | /** This message is sent to answerbox when the phone |
| 137 | * is hung up |
137 | * is hung up |
| 138 | */ |
138 | */ |
| 139 | #define IPC_M_PHONE_HUNGUP 3 |
139 | #define IPC_M_PHONE_HUNGUP 3 |
| 140 | 140 | ||
| 141 | /** Send as_area over IPC |
141 | /** Send as_area over IPC. |
| 142 | * - ARG1 - src as_area base address |
142 | * - ARG1 - source as_area base address |
| 143 | * - ARG2 - size of src as_area (filled automatically by kernel) |
143 | * - ARG2 - size of source as_area (filled automatically by kernel) |
| 144 | * - ARG3 - flags of the as_area being sent |
144 | * - ARG3 - flags of the as_area being sent |
| 145 | * |
145 | * |
| 146 | * on answer: |
146 | * on answer, the recipient must set: |
| 147 | * - ARG1 - dst as_area base adress |
147 | * - ARG1 - dst as_area base adress |
| 148 | */ |
148 | */ |
| 149 | #define IPC_M_AS_AREA_SEND 4 |
149 | #define IPC_M_AS_AREA_SEND 4 |
| 150 | 150 | ||
| 151 | /** Get as_area over IPC |
151 | /** Receive as_area over IPC. |
| 152 | * - ARG1 - dst as_area base address |
152 | * - ARG1 - destination as_area base address |
| 153 | * - ARG2 - dst as_area size |
153 | * - ARG2 - destination as_area size |
| 154 | * - ARG3 - user defined argument |
154 | * - ARG3 - user defined argument |
| 155 | * |
155 | * |
| 156 | * on answer, the server must set: |
156 | * on answer, the recipient must set: |
| 157 | * |
157 | * |
| 158 | * - ARG1 - src as_area base address |
158 | * - ARG1 - source as_area base address |
| 159 | * - ARG2 - flags that will be used for sharing |
159 | * - ARG2 - flags that will be used for sharing |
| 160 | */ |
160 | */ |
| 161 | #define IPC_M_AS_AREA_RECV 5 |
161 | #define IPC_M_AS_AREA_RECV 5 |
| 162 | 162 | ||
| - | 163 | /** Send data to another address space over IPC. |
|
| - | 164 | * - ARG1 - destination address space virtual address, may be overriden by the |
|
| - | 165 | * recipient |
|
| - | 166 | * - ARG2 - source address space virtual address |
|
| - | 167 | * - ARG3 - size of data to be copied, may be overriden by the recipient |
|
| - | 168 | * |
|
| - | 169 | * on answer, the recipient must set: |
|
| - | 170 | * |
|
| - | 171 | * - ARG1 - final destination address space virtual address |
|
| - | 172 | * - ARG3 - final size of data to be copied |
|
| - | 173 | */ |
|
| - | 174 | #define IPC_M_DATA_SEND 6 |
|
| 163 | 175 | ||
| 164 | /* Well-known methods */ |
176 | /* Well-known methods */ |
| 165 | #define IPC_M_LAST_SYSTEM 511 |
177 | #define IPC_M_LAST_SYSTEM 511 |
| 166 | #define IPC_M_PING 512 |
178 | #define IPC_M_PING 512 |
| 167 | /* User methods */ |
179 | /* User methods */ |
| Line 240... | Line 252... | ||
| 240 | /** Private data to internal IPC. */ |
252 | /** Private data to internal IPC. */ |
| 241 | unative_t priv; |
253 | unative_t priv; |
| 242 | 254 | ||
| 243 | /** Data passed from/to userspace. */ |
255 | /** Data passed from/to userspace. */ |
| 244 | ipc_data_t data; |
256 | ipc_data_t data; |
| - | 257 | ||
| - | 258 | /** Buffer for IPC_M_DATA_SEND. */ |
|
| - | 259 | uint8_t *buffer; |
|
| 245 | } call_t; |
260 | } call_t; |
| 246 | 261 | ||
| 247 | extern void ipc_init(void); |
262 | extern void ipc_init(void); |
| 248 | extern call_t * ipc_wait_for_call(answerbox_t *box, uint32_t usec, int flags); |
263 | extern call_t * ipc_wait_for_call(answerbox_t *box, uint32_t usec, int flags); |
| 249 | extern void ipc_answer(answerbox_t *box, call_t *request); |
264 | extern void ipc_answer(answerbox_t *box, call_t *request); |