Changeset 849b98e8 in rtems


Ignore:
Timestamp:
12/09/13 19:29:51 (10 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, 5, master
Children:
610825b1
Parents:
07a3aa9d
git-author:
Joel Sherrill <joel.sherrill@…> (12/09/13 19:29:51)
git-committer:
Joel Sherrill <joel.sherrill@…> (12/10/13 01:50:55)
Message:

mqueueimpl.h: Comment clean up

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/posix/include/rtems/posix/mqueueimpl.h

    r07a3aa9d r849b98e8  
    99
    1010/*
    11  *  COPYRIGHT (c) 1989-2011.
     11 *  COPYRIGHT (c) 1989-2013.
    1212 *  On-Line Applications Research Corporation (OAR).
    1313 *
     
    2828#endif
    2929
    30 /*
    31  *  The following defines the information control block used to manage
    32  *  this class of objects.  The second item is used to manage the set
    33  *  of "file descriptors" associated with the message queues.
    34  */
    35 
     30/**
     31 *  This defines the information control block used to manage
     32 *  this class of objects.
     33 */
    3634POSIX_EXTERN Objects_Information  _POSIX_Message_queue_Information;
     35
     36/**
     37 *  The is used to manage the set of "file descriptors" associated with
     38 *  the message queues.
     39 */
    3740POSIX_EXTERN Objects_Information  _POSIX_Message_queue_Information_fds;
    3841
     
    4043 * @brief Initialize message_queue manager related data structures.
    4144 *
    42  * DESCRIPTION:
    43  *
    4445 * This routine performs the initialization necessary for this manager.
    4546 *
    46  * NOTE:  The structure of the routines is identical to that of POSIX
     47 * @note The structure of the routines is identical to that of POSIX
     48 *       Message_queues to leave the option of having unnamed message
     49 *       queues at a future date.  They are currently not part of the
     50 *       POSIX standard but unnamed message_queues are.  This is also
     51 *       the reason for the apparently unnecessary tracking of
     52 *       the process_shared attribute.  [In addition to the fact that
     53 *       it would be trivial to add pshared to the mq_attr structure
     54 *       and have process private message queues.]
     55 *
     56 * @note This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open time.
     57 *
     58 */
     59void _POSIX_Message_queue_Manager_initialization(void);
     60
     61/**
     62 *  @brief POSIX Message Queue Create Support
     63 *
     64 *  This routine performs the creation of a message queue utilizing the
     65 *  core message queue.
     66 */
     67int _POSIX_Message_queue_Create_support(
     68  const char                    *name,
     69  size_t                         name_len,
     70  int                            pshared,
     71  struct mq_attr                *attr,
     72  POSIX_Message_queue_Control  **message_queue
     73);
     74
     75/**
     76 * @brief Delete a POSIX Message Queue
     77 *
     78 * This routine supports the mq_unlink and mq_close routines by
     79 * doing most of the work involved with removing a message queue.
     80 */
     81void _POSIX_Message_queue_Delete(
     82  POSIX_Message_queue_Control *the_mq
     83);
     84
     85/*@
     86 *  @brief POSIX Message Queue Receive Support
     87 *
     88 *  This routine supports the various flavors of receiving a message.
     89 *
     90 *  @note The structure of the routines is identical to that of POSIX
    4791 *        Message_queues to leave the option of having unnamed message
    4892 *        queues at a future date.  They are currently not part of the
     
    5397 *        and have process private message queues.]
    5498 *
    55  *        This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open
    56  *        time.
    57  *
    58  */
    59 
    60 void _POSIX_Message_queue_Manager_initialization(void);
    61 
    62 /*
    63  *
    64  *  _POSIX_Message_queue_Create_support
    65  *
    66  *  DESCRIPTION:
    67  *
    68  *  This routine performs the creation of a message queue utilizing the
    69  *  core message queue.
    70  */
    71 
    72 int _POSIX_Message_queue_Create_support(
    73   const char                    *name,
    74   size_t                         name_len,
    75   int                            pshared,
    76   struct mq_attr                *attr,
    77   POSIX_Message_queue_Control  **message_queue
    78 );
    79 
    80 /**
    81  * @brief Delete a POSIX message queue.
    82  *
    83  * DESCRIPTION:
    84  *
    85  * This routine supports the mq_unlink and mq_close routines by
    86  * doing most of the work involved with removing a message queue.
    87  */
    88 void _POSIX_Message_queue_Delete(
    89   POSIX_Message_queue_Control *the_mq
    90 );
    91 
    92 /*
    93  *  @brief POSIX Message Queue Receive Support
    94  *
    95  *  DESCRIPTION:
    96  *
    97  *  This routine supports the various flavors of receiving a message.
    98  *
    99  *  NOTE:  The structure of the routines is identical to that of POSIX
    100  *         Message_queues to leave the option of having unnamed message
    101  *         queues at a future date.  They are currently not part of the
    102  *         POSIX standard but unnamed message_queues are.  This is also
    103  *         the reason for the apparently unnecessary tracking of
    104  *         the process_shared attribute.  [In addition to the fact that
    105  *         it would be trivial to add pshared to the mq_attr structure
    106  *         and have process private message queues.]
    107  *
    108  *         This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open
    109  *         time.
    110  */
    111 
     99 * @note This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open time.
     100 */
    112101ssize_t _POSIX_Message_queue_Receive_support(
    113102  mqd_t               mqdes,
     
    119108);
    120109
    121 /*
    122  *  _POSIX_Message_queue_Send_support
    123  *
    124  *  DESCRIPTION:
     110/**
     111 *  @brief POSIX Message Queue Send Support
    125112 *
    126113 *  This routine posts a message to a specified message queue.
    127114 */
    128 
    129115int _POSIX_Message_queue_Send_support(
    130116  mqd_t               mqdes,
     
    136122);
    137123
    138 /*
    139  *  _POSIX_Message_queue_Allocate
    140  *
    141  *  DESCRIPTION:
     124/**
     125 *  @brief POSIX Message Queue Allocate
    142126 *
    143127 *  This function allocates a message queue control block from
    144128 *  the inactive chain of free message queue control blocks.
    145129 */
    146 
    147 RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Allocate( void );
    148 
    149 /*
    150  *  _POSIX_Message_queue_Free
    151  *
    152  *  DESCRIPTION:
     130RTEMS_INLINE_ROUTINE
     131  POSIX_Message_queue_Control *_POSIX_Message_queue_Allocate( void )
     132{
     133  return (POSIX_Message_queue_Control *)
     134    _Objects_Allocate( &_POSIX_Message_queue_Information );
     135}
     136
     137/**
     138 *  @brief POSIX Message Queue Free
    153139 *
    154140 *  This routine frees a message queue control block to the
    155141 *  inactive chain of free message queue control blocks.
    156142 */
    157 
    158 RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free (
    159   POSIX_Message_queue_Control *the_mq
    160 );
    161 
    162 /*
    163  *  _POSIX_Message_queue_Get
    164  *
    165  *  DESCRIPTION:
     143RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free(
     144  POSIX_Message_queue_Control *the_mq
     145)
     146{
     147  _Objects_Free( &_POSIX_Message_queue_Information, &the_mq->Object );
     148}
     149
     150
     151/**
     152 *  @brief POSIX Message Queue Get
    166153 *
    167154 *  This function maps message queue IDs to message queue control blocks.
     
    173160 *  to OBJECTS_ERROR and the_mq is undefined.
    174161 */
    175 
    176162RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get (
    177163  Objects_Id         id,
    178164  Objects_Locations *location
    179 );
    180 
    181 /*
    182  *  _POSIX_Message_queue_Is_null
    183  *
    184  *  DESCRIPTION:
     165)
     166{
     167  return (POSIX_Message_queue_Control *)
     168    _Objects_Get( &_POSIX_Message_queue_Information, id, location );
     169}
     170
     171/**
     172 *  @brief POSIX Message Queue Is NULL
    185173 *
    186174 *  This function returns TRUE if the_message_queue is NULL and FALSE otherwise.
    187175 */
    188 
    189 RTEMS_INLINE_ROUTINE bool    _POSIX_Message_queue_Is_null (
    190   POSIX_Message_queue_Control *the_mq
    191 );
    192 
    193 /*
    194  *  _POSIX_Message_queue_Priority_to_core
    195  *
    196  *  DESCRIPTION:
    197  *
    198  *  XXX
    199  */
    200 
    201 RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types _POSIX_Message_queue_Priority_to_core(
     176RTEMS_INLINE_ROUTINE bool _POSIX_Message_queue_Is_null (
     177  POSIX_Message_queue_Control *the_mq
     178)
     179{
     180  return !the_mq;
     181}
     182
     183
     184/*
     185 *  @brief POSIX Message Queue Convert Message Priority to Score
     186 *
     187 *  This method converts a POSIX message priority to the priorities used
     188 *  by the Score.
     189 */
     190RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types
     191  _POSIX_Message_queue_Priority_to_core(
    202192  unsigned int priority
    203 );
    204 
    205 /*
    206  *  _POSIX_Message_queue_Priority_from_core
    207  *
    208  *  DESCRIPTION:
    209  *
    210  *  XXX
    211  */
    212 
     193)
     194{
     195  return (CORE_message_queue_Submit_types) priority * -1;
     196}
     197
     198
     199/*
     200 *  @brief POSIX Message Queue Convert Message Priority from Score
     201 *
     202 *  This method converts a POSIX message priority from the priorities used
     203 *  by the Score.
     204 */
    213205RTEMS_INLINE_ROUTINE unsigned int _POSIX_Message_queue_Priority_from_core(
    214206  CORE_message_queue_Submit_types priority
    215 );
    216 
    217 /*
    218  *  _POSIX_Message_queue_Translate_core_message_queue_return_code
    219  *
    220  *  DESCRIPTION:
    221  *
    222  *  XXX
    223  */
    224 
     207)
     208{
     209  /* absolute value without a library dependency */
     210  return (unsigned int) ((priority >= 0) ? priority : -priority);
     211}
     212
     213/**
     214 *  @brief POSIX Message Queue Translate Score Return Code
     215 *
     216 */
    225217int _POSIX_Message_queue_Translate_core_message_queue_return_code(
    226218  uint32_t   the_message_queue_status
    227219);
    228220 
    229 /*
    230  *  _POSIX_Message_queue_Allocate
    231  */
    232  
    233 RTEMS_INLINE_ROUTINE
    234   POSIX_Message_queue_Control *_POSIX_Message_queue_Allocate( void )
    235 {
    236   return (POSIX_Message_queue_Control *)
    237     _Objects_Allocate( &_POSIX_Message_queue_Information );
    238 }
    239  
    240 /*
    241  *  _POSIX_Message_queue_Allocate_fd
    242  */
    243  
     221/**
     222 *  @brief POSIX Message Queue Allocate File Descriptor
     223 */
    244224RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control_fd *
    245225  _POSIX_Message_queue_Allocate_fd( void )
     
    249229}
    250230 
    251 /*
    252  *  _POSIX_Message_queue_Free
    253  */
    254  
    255 RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free (
    256   POSIX_Message_queue_Control *the_mq
    257 )
    258 {
    259   _Objects_Free( &_POSIX_Message_queue_Information, &the_mq->Object );
    260 }
    261 
    262 /*
    263  *  _POSIX_Message_queue_Free_fd
    264  */
    265  
     231/**
     232 *  @brief POSIX Message Queue Free File Descriptor
     233 */
    266234RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free_fd (
    267235  POSIX_Message_queue_Control_fd *the_mq_fd
     
    271239}
    272240
    273 /*
    274  *  _POSIX_Message_queue_Namespace_remove
    275  */
    276  
     241/**
     242 *  @brief POSIX Message Queue Remove from Namespace
     243 */
    277244RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Namespace_remove (
    278245  POSIX_Message_queue_Control *the_mq
     
    284251 
    285252/*
    286  *  _POSIX_Message_queue_Get
    287  */
    288  
    289 RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get (
    290   Objects_Id         id,
    291   Objects_Locations *location
    292 )
    293 {
    294   return (POSIX_Message_queue_Control *)
    295     _Objects_Get( &_POSIX_Message_queue_Information, id, location );
    296 }
    297  
    298 /*
    299  *  _POSIX_Message_queue_Get_fd
    300  */
    301  
     253 *  @brief POSIX Message Queue Get File Descriptor
     254 */
    302255RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control_fd *_POSIX_Message_queue_Get_fd (
    303256  mqd_t              id,
     
    312265}
    313266 
    314 /*
    315  *  _POSIX_Message_queue_Is_null
    316  */
    317  
    318 RTEMS_INLINE_ROUTINE bool _POSIX_Message_queue_Is_null (
    319   POSIX_Message_queue_Control *the_mq
    320 )
    321 {
    322   return !the_mq;
    323 }
    324 
    325 /*
    326  *  _POSIX_Message_queue_Priority_to_core
    327  */
    328  
    329 RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types _POSIX_Message_queue_Priority_to_core(
    330   unsigned int priority
    331 )
    332 {
    333   return (CORE_message_queue_Submit_types) priority * -1;
    334 }
    335 
    336 /*
    337  *  _POSIX_Message_queue_Priority_from_core
    338  *
    339  *  DESCRIPTION:
    340  *
    341  *  XXX
    342  */
    343  
    344 RTEMS_INLINE_ROUTINE unsigned int _POSIX_Message_queue_Priority_from_core(
    345   CORE_message_queue_Submit_types priority
    346 )
    347 {
    348   /* absolute value without a library dependency */
    349   return (unsigned int) ((priority >= 0) ? priority : -priority);
    350 }
    351 
    352267/**
    353268 * @see _POSIX_Name_to_id().
Note: See TracChangeset for help on using the changeset viewer.