#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; }