master/coe_emerg_ring.c
branchstable-1.5
changeset 2522 ec403cf308eb
parent 2438 9c3e629a220c
equal deleted inserted replaced
2521:3d68bb0047a1 2522:ec403cf308eb
    27  *
    27  *
    28  *  vim: expandtab
    28  *  vim: expandtab
    29  *
    29  *
    30  *****************************************************************************/
    30  *****************************************************************************/
    31 
    31 
    32 /**
    32 /** \file
    33    \file
    33  * EtherCAT CoE emergency ring buffer methods.
    34    EtherCAT CoE emergency ring buffer methods.
    34  */
    35 */
       
    36 
    35 
    37 /*****************************************************************************/
    36 /*****************************************************************************/
    38 
    37 
    39 #include <linux/slab.h>
    38 #include <linux/slab.h>
    40 
    39 
    71 }
    70 }
    72 
    71 
    73 /*****************************************************************************/
    72 /*****************************************************************************/
    74 
    73 
    75 /** Set the ring size.
    74 /** Set the ring size.
       
    75  *
       
    76  * \return Zero on success, otherwise a negative error code.
    76  */
    77  */
    77 int ec_coe_emerg_ring_size(
    78 int ec_coe_emerg_ring_size(
    78         ec_coe_emerg_ring_t *ring, /**< Emergency ring. */
    79         ec_coe_emerg_ring_t *ring, /**< Emergency ring. */
    79         size_t size /**< Maximum number of messages in the ring. */
    80         size_t size /**< Maximum number of messages in the ring. */
    80         )
    81         )
   126 }
   127 }
   127 
   128 
   128 /*****************************************************************************/
   129 /*****************************************************************************/
   129 
   130 
   130 /** Remove an emergency message from the ring.
   131 /** Remove an emergency message from the ring.
       
   132  *
       
   133  * \return Zero on success, otherwise a negative error code.
   131  */
   134  */
   132 int ec_coe_emerg_ring_pop(
   135 int ec_coe_emerg_ring_pop(
   133         ec_coe_emerg_ring_t *ring, /**< Emergency ring. */
   136         ec_coe_emerg_ring_t *ring, /**< Emergency ring. */
   134         u8 *msg /**< Memory to store the emergency message. */
   137         u8 *msg /**< Memory to store the emergency message. */
   135         )
   138         )
   144 }
   147 }
   145 
   148 
   146 /*****************************************************************************/
   149 /*****************************************************************************/
   147 
   150 
   148 /** Clear the ring.
   151 /** Clear the ring.
       
   152  *
       
   153  * \return Zero on success, otherwise a negative error code.
   149  */
   154  */
   150 int ec_coe_emerg_ring_clear_ring(
   155 int ec_coe_emerg_ring_clear_ring(
   151         ec_coe_emerg_ring_t *ring /**< Emergency ring. */
   156         ec_coe_emerg_ring_t *ring /**< Emergency ring. */
   152         )
   157         )
   153 {
   158 {
   157 }
   162 }
   158 
   163 
   159 /*****************************************************************************/
   164 /*****************************************************************************/
   160 
   165 
   161 /** Read the number of overruns.
   166 /** Read the number of overruns.
       
   167  *
       
   168  * \return Number of overruns.
   162  */
   169  */
   163 int ec_coe_emerg_ring_overruns(
   170 int ec_coe_emerg_ring_overruns(
   164         ec_coe_emerg_ring_t *ring /**< Emergency ring. */
   171         ec_coe_emerg_ring_t *ring /**< Emergency ring. */
   165         )
   172         )
   166 {
   173 {