blob: 0471af6197f83474e4fa77d4335b1829e110dcb1 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001CreateRingBuffer()
2
3FUNKTION:
4 protected struct std_ringbuffer CreateRingBuffer(int size, int newmode);
5
6DEFINIERT IN:
7 /std/util/ringbuffer.c
8 /sys/util/ringbuffer.h
9
10ARGUMENTE:
11 size - Groesse des neuen Ringpuffers (int)
12 newmode - Ausgabemodus beim Abrufen des Puffers (int):
13 MODE_FIFO: First-in-First-Out
14 MODE_LIFO: Last-in-First-Out
15
16BESCHREIBUNG:
17 Diese Funktion erstellt einen neuen, leeren Ringpuffer der Groesse <size>
18 und liefert ihn zurueck. Die Daten des Puffers werden spaeter gemaess
19 <newmode> so gespeichert, dass bei der Ausgabe des Puffers mittels
20 RingBufferGet() die entweder die neuesten Daten zuerst (MODE_LIFO) oder
21 die aeltesten Daten zuerst (MODE_FIFO) geliefert werden.
22
23RUeCKGABEWERT:
24 Der neue Ringpuffer. Dieser wird in einer Struct std_ringbuffer
25 gespeichert. Er ist in einer Variable 'mixed' oder in einer mittels
26 'struct std_ringbuffer' angelegten Variable speicherbar.
27
28BEMERKUNGEN:
29 Der gelieferte Ringpuffer sollte nicht per Hand verarbeitet oder
30 genaendert werden, sondern nur ueber die Verwaltungsfunktionen aus
31 /std/util/ringbuffer.c.
32
33BEISPIELE:
34 // Variable anlegen:
35 struct std_ringbuffer buffer;
36 // _oder_: mixed buffer;
37 // neuen Puffer mit max. 50 Elementen anlegen, der bei der Abfrage die
38 // aeltesten Daten zuerst zurueckliefert:
39 buffer = CreateRingBuffer(50, MODE_FIFO);
40
41SIEHE AUCH:
42 RingBufferPut(), RingBufferGet(), ResizeRingBuffer()
43
4423.05.2008, Zesstra
45