%externalintegerfnspec fsys open file (%record(fsys access fm)%name access, %integer ID, mode, compatible, req flags, %integername token, size, flags) %externalintegerfnspec fsys flush header %c (%record(fsys access fm)%name access, %integer token) %externalintegerfnspec fsys close file (%record(fsys access fm)%name access, %integer token, flags) %externalintegerfnspec fsys truncate open file %c (%record(fsys access fm)%name access, %integer token, bytes) %externalintegerfnspec fsys read file block %c (%record(fsys access fm)%name access, %integer token, block, %integername bytes, %record(*)%name buffer) %externalintegerfnspec fsys write file block %c (%record(fsys access fm)%name access, %integer token, block, bytes, %record(*)%name buffer) %externalintegerfnspec fsys create file(%record(fsys access fm)%name access, %string(255) creation name, %integer pn, benefactor ID, flags, %integer initial allocation, %integername ID) %externalintegerfnspec fsys delete file(%record(fsys access fm)%name access, %integer ID, flags) !externalintegerfnspec fsys exchange (%record(fsys access fm)%name access, ! %integer ID1, ID2, flags) %externalintegerfnspec fsys bump refcount %c (%record(fsys access fm)%name access, %integer ID, flags, increment) %externalintegerfnspec fsys read file header %c (%record(fsys access fm)%name access, %integer ID, flags, %record(*)%name fh) %externalintegerfnspec fsys obtain attributes %c (%record(fsys access fm)%name access, %integer file ID, flags, %record(attributes list fm)%name a) %externalintegerfnspec fsys modify attributes %c (%record(fsys access fm)%name access, %integer file ID, flags, %record(attributes list fm)%name a) %constinteger multiple references = 16_40000000 %constinteger no access = 0 { File is inaccessible %constinteger read access = 1 { File can be read %constinteger modify access = 2 { File can be modified %constinteger append access = 4 { File can be appended to %constinteger exchange access = 8 { File can be (extent) exchanged %constinteger link access = 16 { File can be (un)linked %constinteger control access = 32 { File attributes can be modified %constinteger deny access = 64 { Invert sense of access bits %constinteger partition shift = 24 %constinteger partition mask = 16_3F000000 %constinteger ID mask = 16_00FFFFFF %end %of %file