+               /** Inserts an element into the ring buffer.
+                *
+                *  \param[in,out] Buffer  Pointer to a ring buffer structure to insert into
+                *  \param[in]     Data    Data element to insert into the buffer
+                */
+               static inline void RingBuffer_Insert(RingBuff_t* const Buffer,
+                                                    const RingBuff_Data_t Data)
+               {
+                       *Buffer->In = Data;
+                       
+                       if (++Buffer->In == &Buffer->Buffer[BUFFER_SIZE])
+                         Buffer->In = Buffer->Buffer;
+                                 
+                       Buffer->Count++;
+               }
+
+               /** Retrieves an element from the ring buffer.
+                *
+                *  \param[in,out] Buffer  Pointer to a ring buffer structure to retrieve from
+                *
+                *  \return Next data element stored in the buffer
+                */
+               static inline RingBuff_Data_t RingBuffer_Remove(RingBuff_t* const Buffer)
+               {
+                       RingBuff_Data_t Data = *Buffer->Out;
+                       
+                       if (++Buffer->Out == &Buffer->Buffer[BUFFER_SIZE])
+                         Buffer->Out = Buffer->Buffer;
+                                 
+                       Buffer->Count--;
+
+                       return Data;
+               }
+