ClearRingBuffer()
*****************


FUNKTION
========

   protected struct std_ringbuffer ClearRingBuffer(struct std_ringbuffer b);


DEFINIERT IN
============

   /std/util/ringbuffer.c
   /sys/util/ringbuffer.h


ARGUMENTE
=========

   b - der zu loeschende Ringpuffer


BESCHREIBUNG
============

   Diese Funktion loescht alle Daten aus dem Puffer <b> und re-initialisiert
   ihn.


RUeCKGABEWERT
=============

   Der geloeschte Puffer <b> wird wieder zurueckgegeben.


BEISPIELE
=========

   // Ringpuffer anlegen:
   struct std_ringbuffer buffer=CreateRingBuffer(10, MODE_FIFO);
   // mit irgendwelchen Daten fuellen...
   // ...
   // Puffer loeschen
   buffer = ClearRingBuffer(buffer);
   // oder:
   ClearRingBuffer(buffer);


SIEHE AUCH
==========

   CreateRingBuffer(), RingBufferGet(), ResizeRingBuffer()

23.05.2008, Zesstra
