! ! >>> BUFFERS <<< ! ! Basic buffer handling for the new I/O system ! ! Revision history: ! 24-Jan-88 PSR Change to use %from IMP for FORMATS ! 24-JAN-88 CHanges above for SPRINGBOARD ! %external %integer %function %spec Get Vec %alias "3L_GET_SPACE" ( %c %integer Bytes ) %external %routine %spec Free Vec %alias "3L_FREE_SPACE" ( %c %integer Bytes, Where ) %from IMP %include Formats ! ! >> CREATE BUFFER << ! ! Create an empty buffer of a particular capacity. ! %external %record(Buff Fm) %function Create Buffer %alias "3L___create_buff" - (%integer Bytes ) %record(Buff Fm) B B_Base = Get Vec(Bytes) B_Size = Bytes %result = B %end ! ! >> DELETE BUFFER << ! ! Discard the space allocated to a particular buffer ! %external %routine Delete Buffer %alias "3L___delete_buff" - (%record(Buff Fm) %name B ) Free Vec(B_Size, B_Base) %if B_Size # 0 %end