IPC API
3.10.01.11
|
Multi-Media derived Remote Procedure Call.
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | MmRpc_Param |
MmRpc_Param type. More... | |
struct | MmRpc_Xlt |
struct | MmRpc_FxnCtx |
Function call context structure. More... | |
union | MmRpc_BufDesc |
Memory buffer descriptor. More... | |
struct | MmRpc_Params |
Instance create parameters. More... |
Macros | |
#define | MmRpc_S_SUCCESS (0) |
Operation is successful. | |
#define | MmRpc_E_FAIL (-1) |
Operation failed. | |
#define | MmRpc_E_INVALIDPARAM (-2) |
Invalid parameter type. | |
#define | MmRpc_E_NOMEM (-3) |
Memory allocation failed. | |
#define | MmRpc_E_SYS (-4) |
A system call failed. | |
#define | MmRpc_MAX_PARAMS (10) |
Size of parameter array in function context structure. | |
#define | MmRpc_MAX_TRANSLATIONS (1024) |
Maximum size of translation array in function context structure. | |
#define | MmRpc_OFFSET(base, field) ((unsigned int)(field)-(unsigned int)(base)) |
Macro for computing offset to a field of a structure. |
Typedefs | |
typedef struct MmRpc_Object * | MmRpc_Handle |
MmRpc_Handle type. |
Enumerations | |
enum | MmRpc_ParamType { MmRpc_ParamType_Scalar = 1, MmRpc_ParamType_Ptr, MmRpc_ParamType_OffPtr, MmRpc_ParamType_Elem } |
MmRpc_ParamType enum. More... | |
enum | MmRpc_BufType { MmRpc_BufType_Handle, MmRpc_BufType_Ptr } |
Memory buffer types. More... |
Functions | |
int | MmRpc_call (MmRpc_Handle handle, MmRpc_FxnCtx *ctx, int32_t *ret) |
Invoke a remote procedure call. | |
int | MmRpc_create (const char *service, const MmRpc_Params *params, MmRpc_Handle *handlPtr) |
Create an MmRpc instance. | |
int | MmRpc_delete (MmRpc_Handle *handlePtr) |
Delete an MmRpc instance. | |
int | MmRpc_release (MmRpc_Handle handle, MmRpc_BufType type, int num, MmRpc_BufDesc *desc) |
Release buffers which were declared in use. | |
int | MmRpc_use (MmRpc_Handle handle, MmRpc_BufType type, int num, MmRpc_BufDesc *desc) |
Declare the use of the given buffers. | |
void | MmRpc_Params_init (MmRpc_Params *params) |
Initialize the instance create parameter structure. |
#define MmRpc_S_SUCCESS (0) |
Operation is successful.
#define MmRpc_E_FAIL (-1) |
Operation failed.
#define MmRpc_E_INVALIDPARAM (-2) |
Invalid parameter type.
#define MmRpc_E_NOMEM (-3) |
Memory allocation failed.
#define MmRpc_E_SYS (-4) |
A system call failed.
#define MmRpc_MAX_PARAMS (10) |
Size of parameter array in function context structure.
#define MmRpc_MAX_TRANSLATIONS (1024) |
Maximum size of translation array in function context structure.
#define MmRpc_OFFSET | ( | base, | |
field | |||
) | ((unsigned int)(field)-(unsigned int)(base)) |
Macro for computing offset to a field of a structure.
typedef struct MmRpc_Object* MmRpc_Handle |
MmRpc_Handle type.
enum MmRpc_ParamType |
enum MmRpc_BufType |
int MmRpc_call | ( | MmRpc_Handle | handle, |
MmRpc_FxnCtx * | ctx, | ||
int32_t * | ret | ||
) |
Invoke a remote procedure call.
int MmRpc_create | ( | const char * | service, |
const MmRpc_Params * | params, | ||
MmRpc_Handle * | handlPtr | ||
) |
Create an MmRpc instance.
int MmRpc_delete | ( | MmRpc_Handle * | handlePtr | ) |
Delete an MmRpc instance.
int MmRpc_release | ( | MmRpc_Handle | handle, |
MmRpc_BufType | type, | ||
int | num, | ||
MmRpc_BufDesc * | desc | ||
) |
Release buffers which were declared in use.
[in] | type | buffer descriptor type |
[in] | num | number of elements in desc array |
[in] | desc | pointer to array of buffer descriptors |
MmRpc_S_SUCCESS | |
MmRpc_E_INVALIDPARAM | |
MmRpc_E_NOMEM | |
MmRpc_E_SYS |
int MmRpc_use | ( | MmRpc_Handle | handle, |
MmRpc_BufType | type, | ||
int | num, | ||
MmRpc_BufDesc * | desc | ||
) |
Declare the use of the given buffers.
[in] | type | buffer descriptor type |
[in] | num | number of elements in desc array |
[in] | desc | pointer to array of buffer descriptors |
MmRpc_S_SUCCESS | |
MmRpc_E_INVALIDPARAM | |
MmRpc_E_NOMEM | |
MmRpc_E_SYS |
void MmRpc_Params_init | ( | MmRpc_Params * | params | ) |
Initialize the instance create parameter structure.