int nfc_fsm_event_post(int event, void * event_data, struct nfc_msg_cb *msg_cb)
{
    struct fsm_event_message * evt = (struct fsm_event_message *)
        balloc(sizeof(*evt), NULL);
    MESSAGE_ID(&evt->m) = NFC_FSM_EVENT_MESSAGE;
    MESSAGE_DST(&evt->m) = fsm_port_id;
    evt->event = event;
    evt->event_data = event_data;
    evt->msg_cb = msg_cb;
    return port_send_message(&evt->m);
}
Beispiel #2
0
/**
 * \brief send a message to handle_ipc_request_port()
 *
 * \param msgid the message id to generate. can be \ref IPC_MESSAGE_FREE
 *              or \ref IPC_MESSAGE_SEND
 * \param message the message data to send / free
 */
static int ipc_request_send(uint16_t msgid, void * message)
{
	OS_ERR_TYPE err = E_OS_OK;
	struct ipc_async_msg * msg =
		(struct ipc_async_msg *) balloc(sizeof(*msg), &err);
	if (err == E_OS_OK) {
		MESSAGE_ID(&msg->h) = msgid;
		MESSAGE_DST(&msg->h) = ipc_port;
		MESSAGE_SRC(&msg->h) = ipc_port;
		msg->data = message;
		port_send_message(&msg->h);
	}
	return err;
}
int _cfw_send_message(struct cfw_message * message)
{
	return port_send_message(CFW_MESSAGE_HEADER(message));
}