Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <buffer.h>
#include <types.h>
void BufferInit(Buffer* B) {
B->Num = 0;
}
Pair* MakePair(int TaskID, char* Msg) {
Pair* P;
P->TaskID = TaskID;
P->Msg = Msg;
P->Next = NULL;
return P;
}
void PushToBuffer(Buffer* B, int TaskID, char* Msg) {
Pair* New = MakePair(TaskID, Msg);
if (B) {
if (B->Head == NULL) {
B->Head = New;
B->Tail = New;
}
else {
New->Next = B->Head;
B->Head = New;
}
B->Num += 1;
}
}
Pair* FrontBuffer(Buffer* B) {
if (B && B->Head) return B->Head;
return FAILURE;
}
int PopFrontBuffer(Buffer* B) {
if (B && B->Head) {
B->Head = B->Head->Next;
B->Num -= 1;
} else return FAILURE;
}