beautypg.com

Apple AppleShare 3.0 File Server Controls User Manual

Page 36

background image

{ clear all SEwhichAFPFlags, }

theSEQEntry.SEwhichAFPFlag[0] := 0;

theSEQEntry.SEwhichAFPFlag[1] := 0;

{ and clear all SEwhichSCFlags. }

theSEQEntry.SEwhichSCFlag := 0;

{ Allocate some memory for the server event }

{ records and initialize the buffer queues. }

seRecArrayPtr := NewPtr(kNumberServerEvents *

LongInt(sizeof(SERecQElem)));

IF seRecArrayPtr <> NIL THEN

BEGIN

{ Initialize the usedQ header. }

usedQ.qFlags := 0;

usedQ.qHead := NIL;

usedQ.qTail := NIL;

{ Initialize the freeQ header. }

freeQ.qFlags := 0;

freeQ.qHead := NIL;

freeQ.qTail := NIL;

{ The free queue holds all of our server }

{ event records initially, so add the }

{ SERecQElems to the freeQ. }

theQElemsPtr := seRecArrayPtr;

FOR index := 1 TO kNumberServerEvents DO

BEGIN

Enqueue(QElemPtr(theQElemsPtr), @freeQ);

theQElemsPtr := Ptr(ORD4(theQElemsPtr) +

LongInt(sizeof(SERecQElem)));

END;