Rev 3469 | Rev 3475 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3469 | Rev 3470 | ||
|---|---|---|---|
| Line 203... | Line 203... | ||
| 203 | free(arg_buf); |
203 | free(arg_buf); |
| 204 | 204 | ||
| 205 | return EOK; |
205 | return EOK; |
| 206 | } |
206 | } |
| 207 | 207 | ||
| - | 208 | /** Instruct loader to load the program. |
|
| - | 209 | * |
|
| - | 210 | * If this function succeeds, the program has been successfully loaded |
|
| - | 211 | * and is ready to be executed. |
|
| - | 212 | * |
|
| - | 213 | * @param ldr Loader connection structure. |
|
| - | 214 | * @return Zero on success or negative error code. |
|
| - | 215 | */ |
|
| - | 216 | int loader_load_program(loader_t *ldr) |
|
| - | 217 | { |
|
| - | 218 | int rc; |
|
| - | 219 | ||
| - | 220 | rc = async_req_0_0(ldr->phone_id, LOADER_LOAD); |
|
| - | 221 | if (rc != EOK) |
|
| - | 222 | return rc; |
|
| - | 223 | ||
| - | 224 | return EOK; |
|
| - | 225 | } |
|
| - | 226 | ||
| 208 | /** Instruct loader to execute the program. |
227 | /** Instruct loader to execute the program. |
| 209 | * |
228 | * |
| - | 229 | * Note that this function blocks until the loader actually replies |
|
| - | 230 | * so you cannot expect this function to return if you are debugging |
|
| - | 231 | * the task and its thread is stopped. |
|
| - | 232 | * |
|
| 210 | * After using this function, no further operations must be performed |
233 | * After using this function, no further operations must be performed |
| 211 | * on the loader structure. It should be de-allocated using free(). |
234 | * on the loader structure. It should be de-allocated using free(). |
| 212 | * |
235 | * |
| 213 | * @param ldr Loader connection structure. |
236 | * @param ldr Loader connection structure. |
| 214 | * @return Zero on success or negative error code. |
237 | * @return Zero on success or negative error code. |
| 215 | */ |
238 | */ |
| 216 | int loader_start_program(loader_t *ldr) |
239 | int loader_run(loader_t *ldr) |
| 217 | { |
240 | { |
| 218 | int rc; |
241 | int rc; |
| 219 | 242 | ||
| 220 | rc = async_req_0_0(ldr->phone_id, LOADER_RUN); |
243 | rc = async_req_0_0(ldr->phone_id, LOADER_RUN); |
| 221 | if (rc != EOK) |
244 | if (rc != EOK) |
| 222 | return rc; |
245 | return rc; |
| 223 | 246 | ||
| 224 | ipc_hangup(ldr->phone_id); |
- | |
| 225 | return EOK; |
247 | return EOK; |
| 226 | } |
248 | } |
| 227 | 249 | ||
| 228 | /** Cancel the loader session. |
250 | /** Cancel the loader session. |
| 229 | * |
251 | * |