summaryrefslogtreecommitdiffstats
path: root/cpukit/score/inline
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-18 15:35:23 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 16:56:59 +0200
commitb5d514fe2decf47d4b5c30fb85621ba908a70889 (patch)
tree073fb315869a700eeb394a3656953d56555e63a5 /cpukit/score/inline
parentposix: Create message queue implementation header (diff)
downloadrtems-b5d514fe2decf47d4b5c30fb85621ba908a70889.tar.bz2
score: Create message queue implementation header
Move implementation specific parts of coremsg.h and coremsg.inl into new header file coremsgimpl.h. The coremsg.h contains now only the application visible API.
Diffstat (limited to 'cpukit/score/inline')
-rw-r--r--cpukit/score/inline/rtems/score/coremsg.inl255
1 files changed, 0 insertions, 255 deletions
diff --git a/cpukit/score/inline/rtems/score/coremsg.inl b/cpukit/score/inline/rtems/score/coremsg.inl
deleted file mode 100644
index 986fc3f6a4..0000000000
--- a/cpukit/score/inline/rtems/score/coremsg.inl
+++ /dev/null
@@ -1,255 +0,0 @@
-/**
- * @file
- *
- * @brief Inlined Routines in the Core Message Handler
- *
- * This include file contains the static inline implementation of all
- * inlined routines in the Core Message Handler.
- */
-
-/*
- * COPYRIGHT (c) 1989-2009.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_COREMSG_H
-# error "Never use <rtems/score/coremsg.inl> directly; include <rtems/score/coremsg.h> instead."
-#endif
-
-#ifndef _RTEMS_SCORE_COREMSG_INL
-#define _RTEMS_SCORE_COREMSG_INL
-
-/**
- * @addtogroup ScoreMessageQueue
- */
-/**@{**/
-
-#include <string.h> /* needed for memcpy */
-
-/**
- * This routine sends a message to the end of the specified message queue.
- */
-RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Send(
- CORE_message_queue_Control *the_message_queue,
- const void *buffer,
- size_t size,
- Objects_Id id,
- CORE_message_queue_API_mp_support_callout api_message_queue_mp_support,
- bool wait,
- Watchdog_Interval timeout
-)
-{
- return _CORE_message_queue_Submit(
- the_message_queue,
- buffer,
- size,
- id,
- api_message_queue_mp_support,
- CORE_MESSAGE_QUEUE_SEND_REQUEST,
- wait, /* sender may block */
- timeout /* timeout interval */
- );
-}
-
-/**
- * This routine sends a message to the front of the specified message queue.
- */
-RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Urgent(
- CORE_message_queue_Control *the_message_queue,
- const void *buffer,
- size_t size,
- Objects_Id id,
- CORE_message_queue_API_mp_support_callout api_message_queue_mp_support,
- bool wait,
- Watchdog_Interval timeout
-)
-{
- return _CORE_message_queue_Submit(
- the_message_queue,
- buffer,
- size,
- id,
- api_message_queue_mp_support,
- CORE_MESSAGE_QUEUE_URGENT_REQUEST,
- wait, /* sender may block */
- timeout /* timeout interval */
- );
-}
-
-/**
- * This routine copies the contents of the source message buffer
- * to the destination message buffer.
- */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Copy_buffer (
- const void *source,
- void *destination,
- size_t size
-)
-{
- memcpy(destination, source, size);
-}
-
-/**
- * This function allocates a message buffer from the inactive
- * message buffer chain.
- */
-RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer_control *
-_CORE_message_queue_Allocate_message_buffer (
- CORE_message_queue_Control *the_message_queue
-)
-{
- return (CORE_message_queue_Buffer_control *)
- _Chain_Get( &the_message_queue->Inactive_messages );
-}
-
-/**
- * This routine frees a message buffer to the inactive
- * message buffer chain.
- */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-)
-{
- _Chain_Append( &the_message_queue->Inactive_messages, &the_message->Node );
-}
-
-/**
- * This function returns the priority of @a the_message.
- *
- * @note It encapsulates the optional behavior that message priority is
- * disabled if no API requires it.
- */
-RTEMS_INLINE_ROUTINE int _CORE_message_queue_Get_message_priority (
- CORE_message_queue_Buffer_control *the_message
-)
-{
- #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
- return the_message->priority;
- #else
- return 0;
- #endif
-}
-
-/**
- * This function sets the priority of @a the_message.
- *
- * @note It encapsulates the optional behavior that message priority is
- * disabled if no API requires it.
- */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_message_priority (
- CORE_message_queue_Buffer_control *the_message,
- int priority
-)
-{
- #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
- the_message->priority = priority;
- #endif
-}
-
-/**
- * This function removes the first message from the_message_queue
- * and returns a pointer to it.
- */
-RTEMS_INLINE_ROUTINE
- CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message (
- CORE_message_queue_Control *the_message_queue
-)
-{
- return (CORE_message_queue_Buffer_control *)
- _Chain_Get_unprotected( &the_message_queue->Pending_messages );
-}
-
-/**
- * This function returns true if the priority attribute is
- * enabled in the attribute_set and false otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_priority(
- CORE_message_queue_Attributes *the_attribute
-)
-{
- return
- (the_attribute->discipline == CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY);
-}
-
-/**
- * This routine places the_message at the rear of the outstanding
- * messages on the_message_queue.
- */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append_unprotected (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-)
-{
- _Chain_Append_unprotected(
- &the_message_queue->Pending_messages,
- &the_message->Node
- );
-}
-
-/**
- * This routine places the_message at the front of the outstanding
- * messages on the_message_queue.
- */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Prepend_unprotected (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Buffer_control *the_message
-)
-{
- _Chain_Prepend_unprotected(
- &the_message_queue->Pending_messages,
- &the_message->Node
- );
-}
-
-/**
- * This function returns true if the_message_queue is true and false otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_null (
- CORE_message_queue_Control *the_message_queue
-)
-{
- return ( the_message_queue == NULL );
-}
-
-#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
- /**
- * This function returns true if notification is enabled on this message
- * queue and false otherwise.
- */
- RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_notify_enabled (
- CORE_message_queue_Control *the_message_queue
- )
- {
- return (the_message_queue->notify_handler != NULL);
- }
-#endif
-
-/**
- * This routine initializes the notification information for
- * @a the_message_queue.
- */
-#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
- RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_notify (
- CORE_message_queue_Control *the_message_queue,
- CORE_message_queue_Notify_Handler the_handler,
- void *the_argument
- )
- {
- the_message_queue->notify_handler = the_handler;
- the_message_queue->notify_argument = the_argument;
- }
-#else
- /* turn it into nothing if not enabled */
- #define _CORE_message_queue_Set_notify( \
- the_message_queue, the_handler, the_argument )
-#endif
-
-/** @} */
-
-#endif
-/* end of include file */