|
Process-in-Process
|
Functions | |
| int | pip_named_export (void *exp, const char *format,...) __attribute__((format(printf |
| export an address of the calling PiP root or a PiP task to the others. More... | |
| int int | pip_named_import (int pipid, void **expp, const char *format,...) __attribute__((format(printf |
| import the named exported address More... | |
| int int int | pip_named_tryimport (int pipid, void **expp, const char *format,...) __attribute__((format(printf |
| import the named exported address (non-blocking) More... | |
| int int int int | pip_export (void *exp) |
| export an address More... | |
| int | pip_import (int pipid, void **expp) |
| import exported address of a PiP task More... | |
| int | pip_set_aux (void *aux) |
| Associate user data with a PiP task. More... | |
| int | pip_get_aux (void **auxp) |
| Retrieve the user data associated with a PiP task. More... | |
| int | pip_get_dlmopen_info (int pipid, void **handlep, long *lmidp) |
| Retrieve the loaded link map info. of the specified Pip task. More... | |
| int pip_named_export | ( | void * | exp, |
| const char * | format, | ||
| ... | |||
| ) |
pip_export and pip_import functions which can only export one address per task, pip_named_export and pip_named_import can associate a name with an address so that PiP root or PiP task can exchange arbitrary number of addressess.| [in] | exp | an address to be passed to the other PiP task |
| [in] | format | a printf format to give the exported address a name. If this is NULL, then the name is assumed to be "". |
| EPERM | pip_init is not yet called. |
| EBUSY | The name is already registered. |
| ENOMEM | Not enough memory |
| int int pip_named_import | ( | int | pipid, |
| void ** | expp, | ||
| const char * | format, | ||
| ... | |||
| ) |
| [in] | pipid | The PiP ID to import the exposed address |
| [out] | expp | The starting address of the exposed region of the PiP task specified by the pipid. |
| [in] | format | a printf format to give the exported address a name |
| EPERM | pip_init is not yet called. |
| EINVAL | The specified pipid is invalid |
| ENOMEM | Not enough memory |
| ECANCELED | The target task is terminated |
| EDEADLK | pipid is the calling task and tries to block itself |
| int int int pip_named_tryimport | ( | int | pipid, |
| void ** | expp, | ||
| const char * | format, | ||
| ... | |||
| ) |
EAGAIN.| [in] | pipid | The PiP ID to import the exposed address |
| [out] | expp | The starting address of the exposed region of the PiP task specified by the pipid. |
| [in] | format | a printf format to give the exported address a name |
| EPERM | pip_init is not yet called. |
| EINVAL | The specified pipid is invalid |
| ENOMEM | Not enough memory |
| ECANCELED | The target task is terminated |
| EAGAIN | Target is not exported yet |
| int int int int pip_export | ( | void * | exp | ) |
| [in] | exp | An addresss |
| EPERM | PiP library is not initialized yet |
| int pip_import | ( | int | pipid, |
| void ** | expp | ||
| ) |
NULL is returned.| [in] | pipid | The PiP ID to import the exportedaddress |
| [out] | expp | The exported address |
| EPERM | PiP library is not initialized yet |
| int pip_set_aux | ( | void * | aux | ) |
| [in] | aux | Pointer to the user dats to assocate with the calling PiP task |
| EPERM | PiP library is not yet initialized or already finalized |
| int pip_get_aux | ( | void ** | auxp | ) |
| [out] | auxp | Returned user data |
| EINAVL | domainp is NULL or auxp is NULL |
| EPERM | PiP library is not yet initialized or already finalized |
| int pip_get_dlmopen_info | ( | int | pipid, |
| void ** | handlep, | ||
| long * | lmidp | ||
| ) |
| [in] | pipid | The PiP ID |
| [out] | handlep | loaded handle |
| [out] | lmidp | Lmid |
| EPERM | PiP library is not yet initialized or already finalized |
1.8.5