package Queue_Pack_Simple is
QueueSize : constant Positive := 10;
type Element is new Positive range 1_000..40_000;
type Marker is mod QueueSize;
type List is array (Marker'Range) of Element;
type Queue_Type is record
Top, Free : Marker := Marker'First;
Elements : List;
end record;
procedure Enqueue (Item: in Element; Queue: in out Queue_Type);
procedure Dequeue (Item: out Element; Queue: in out Queue_Type);
end Queue_Pack_Simple;