mbed-os5 only for TYBLE16
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
components/TARGET_PSA/TARGET_TFM/COMPONENT_SPE/secure_fw/core/ipc/tfm_message_queue.c
- Committer:
- kenjiArai
- Date:
- 2019-12-17
- Revision:
- 0:5b88d5760320
File content as of revision 0:5b88d5760320:
/* * Copyright (c) 2018, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause * */ #include <inttypes.h> #include <stdio.h> #include "tfm_thread.h" #include "tfm_wait.h" #include "psa_client.h" #include "psa_service.h" #include "tfm_internal_defines.h" #include "tfm_message_queue.h" /* Message queue process */ int32_t tfm_msg_enqueue(struct tfm_msg_queue_t *queue, struct tfm_msg_body_t *node) { if (!queue || !node) { return IPC_ERROR_BAD_PARAMETERS; } if (queue->size == 0) { queue->head = node; queue->tail = node; } else { queue->tail->next = node; queue->tail = node; } queue->size++; return IPC_SUCCESS; } struct tfm_msg_body_t *tfm_msg_dequeue(struct tfm_msg_queue_t *queue) { struct tfm_msg_body_t *pop_node; if (!queue) { return NULL; } if (queue->size == 0) { return NULL; } pop_node = queue->head; queue->head = queue->head->next; queue->size--; return pop_node; } int32_t tfm_msg_queue_is_empty(struct tfm_msg_queue_t *queue) { return queue->size == 0 ? 1 : 0; }