blob: 11709afd10c80b64a801ddc512ab5a77318c42de [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001CreateRingBuffer()
Zesstra953f9972017-02-18 15:37:36 +01002******************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 protected struct std_ringbuffer CreateRingBuffer(int size, int newmode);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/util/ringbuffer.c
15 /sys/util/ringbuffer.h
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
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
26
27BESCHREIBUNG
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
36
37RUeCKGABEWERT
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
44
45BEMERKUNGEN
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
52
53BEISPIELE
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
63
64SIEHE AUCH
65==========
66
67 RingBufferPut(), RingBufferGet(), ResizeRingBuffer()
MG Mud User88f12472016-06-24 23:31:02 +020068
6923.05.2008, Zesstra