73 WUT_CHECK_OFFSET(
SmdVector, 0x00, command);
92 WUT_CHECK_OFFSET(
SmdElement, 0x08, vectorPaddr);
100 uint8_t message[0x80];
115 WUT_PADDING_BYTES(0x7C);
117 WUT_PADDING_BYTES(0x7C);
119 WUT_PADDING_BYTES(0x7C);
121 WUT_PADDING_BYTES(0x7C);
123 WUT_PADDING_BYTES(0x7C);
136 WUT_PADDING_BYTES(0x6C);
138 WUT_PADDING_BYTES(0x40);
140 WUT_PADDING_BYTES(0x40);
175 WUT_PADDING_BYTES(0x38);
177 WUT_CHECK_OFFSET(
SmdPpc, 0x00,
self);
178 WUT_CHECK_OFFSET(
SmdPpc, 0x04, ctrlTable);
179 WUT_CHECK_OFFSET(
SmdPpc, 0x08, lockType);
180 WUT_CHECK_OFFSET(
SmdPpc, 0x0C, mutex);
181 WUT_CHECK_OFFSET(
SmdPpc, 0x38, messageCount);
182 WUT_CHECK_OFFSET(
SmdPpc, 0x3C, writeBuf);
183 WUT_CHECK_OFFSET(
SmdPpc, 0x40, readBuf);
184 WUT_CHECK_OFFSET(
SmdPpc, 0x44, state);
185 WUT_CHECK_SIZE(
SmdPpc, 0x80);
201 WUT_PADDING_BYTES(0x28);
220 uint32_t messageCount,
246 uint32_t messageSize);
260 uint32_t poolDataSize,
275 uint32_t *allocCount,
276 uint32_t *freeErrorCount);
SmdInterface ppcInterface
SmdInterface iopInterface
SmdSimpleBufPool * smdSimpleBufPoolCreate(void *poolData, uint32_t poolDataSize, uint32_t allocSize, uint32_t allocCount, SmdLockType lockType)
int32_t smdPpcGetInterfaceState(SmdPpc *smd, SmdInterfaceState *outPpcState, SmdInterfaceState *outIopState)
int32_t smdPpcSendMessage(SmdPpc *smd, void *message, uint32_t messageSize)
SmdPpc * smdPpcInit(void *buf, uint32_t bufSize, uint32_t messageCount, const char *name, SmdLockType lockType)
int32_t smdPpcClose(SmdPpc *smd)
int32_t smdPpcSendVector(SmdPpc *smd, SmdVector *vector)
int32_t smdSimpleBufFree(SmdSimpleBufPool *pool, void *alloc)
int32_t smdSimpleBufAlloc(SmdSimpleBufPool *pool, void **outAlloc)
int32_t smdSimpleBufGetStatistics(SmdSimpleBufPool *pool, uint32_t *allocCount, uint32_t *freeErrorCount)
int32_t smdPpcOpen(SmdPpc *smd)
int32_t smdPpcSendVectorSpec(SmdPpc *smd, uint32_t command, SmdVectorSpec *specs, int32_t specsCount)
int32_t smdPpcReceive(SmdPpc *smd, SmdReceiveData *data)
int32_t smdPpcGetCtrlTableVectors(SmdPpc *smd, SmdPpcCtrlTableVectors *outVectors)
@ SMD_PPC_STATE_INITIALIZED
@ SMD_INTERFACE_STATE_OPENED
@ SMD_INTERFACE_STATE_CLOSED
@ SMD_ELEMENT_TYPE_VECTOR_SPEC
@ SMD_ELEMENT_TYPE_VECTOR
@ SMD_ELEMENT_TYPE_MESSAGE
@ SMD_LOCK_TYPE_NONE
No locking is done.
@ SMD_LOCK_TYPE_DISABLE_INTERRUPTS
Locking is done by disabling interrupts.
@ SMD_LOCK_TYPE_MUTEX
Locking is done with a mutex.