%externalintegerfnspec B tree open by ID (%record(fsys access fm)%name access, %integer request flags, %integer ID, mode, %integername access token, flags) %externalintegerfnspec B tree close (%integer access token, abandon) %externalintegerfnspec B tree create (%record(fsys access fm)%name access, %integer request flags, %string(31) name, %integer partition, benefactor ID, %integername ID) %externalintegerfnspec B tree add entry (%integer access token, %string(255) key, %integer data) %externalintegerfnspec B tree find entry (%integer access token, %string(255) key, %integername data) %externalintegerfnspec B tree delete entry(%integer access token, %string(255) key) %externalintegerfnspec B tree modify entry(%integer access token, %string(255) key, %integer data) %externalpredicatespec B tree empty (%integer access token) %externalintegerfnspec B tree data value (%integer access token, site, %integername size, %record(*)%name target) %externalintegerfnspec B tree data replace(%integer access token, site, %record(*)%name source) %externalintegerfnspec B tree data insert (%integer access token, size, %record(*)%name source, %integername site) %externalintegerfnspec B tree data delete (%integer access token, site) %recordformat key list fm(%record(key list fm)%name next, %integer value, %string(255) key) %externalrecord(key list fm)%mapspec B tree key list(%integer access token, %integername status) %end %of %file