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