Returned values in A after various OSARGS calls ----------------------------------------------- Documentation says that OSARGS should return A preserved if the call is unsupported, and should return zero or a return value if the call is supported. Also, the Advanced Econet User Guide states that PTR= (and, by implication EXT=) should return zero only if the file has been extended. This lists actual return values. OSARGS Y=0 OSARGS Y<>0 A ON EXIT A ON EXIT A DFS NFS33 NFS36 ANFS ADFS HADFS A DFS NFS ANFS ADFS HADFS FC FC FC FC FC FD FD: FD FD FD FD 00 3C FD FD: FD FD FD 00 00 DRIVE FE: FE FE FE FE 00 04 INFO FE: FE FE FE 00 00 ENSURE FF: 00 FF FF FF 00 00 ENSURE FF: 00 FF FF 00 00 FSNUM 00: 04 05 05 05 08 10 =PTR 00: 00 00 00 00 00 CLINE 01: 00 00 00 PTR= 01: 00 00 00 00 00/FF VERS 02: 02 01 00 =EXT 02: 00 00 00 00 00 LIBFS 03: 03 03 10 EXT= 03: 00 03 00 00 00/FF USED 04: 04 04 04 00 00 00 =ALLOC 04: 04 04 00 00 00 FREE 05: 05 05 05 05 00 00 =EOF 05: 05 05 05 00 00 06 06: 06 06 06 06 00 06 ALLOC= 06: 06 06 06 00 00 07 07 07 07 07 80 80: 80 80 80 error 00 80 HANDLE 80: 80 80 00 00 80 On the Master, OSARGS 0-3,0 are implemented by FileSwitch, and so always return the following, regardless of what the filing system itself returns: 0 FSNUM returns A=FSNUM 2 VERS returns A=&01 1 CMDLINE returns A=&DC 3 LIBFS returns A=LIBFS or &FF This shows various things: * NFS and ANFS return A=&FF on ENSURE, implying the call is not implemented. This is effectively correct on NFS as channels are not buffered locally, but ANFS does buffer files, so should return A=&00. * ANFS claims it supports USED, but the value returned at !X is unchanged. * NFS and ANFS ignore the documentation and return A=&00 on PTR= and EXT=, implying file extended past its previous length. * It clearly shows that NFS does not support EXT= and ANFS does. * It also shows that ANFS supports =ALLOC, which I have only ever seen documented in the SJ MDFS manual. * Documentation claims that ANFS 4 returns A=0 for VERS. ANFS 2.x returns A=&01, but on the Master the call is handled by FileSwitch which also returns A=&01. ANFS 4.0x on the BBC returns A=&01 as with NFS 3.6x. * ANFS doesn't check for the handle<>0 on HANDLE as it generates the error: "Net channel on 0" * ADFS claims that is supports everything by erroneously returning &00 for absolutely everything! The only reason the Y=0 calls do not return A=&00 is because FileSwitch on the Master deals with these calls itself. * HADFS is the only system that complies with the documentation stating that A<>&00 if the file has not been extended after PTR= or EXT=.