Alternate Entry Name: _FMS
B: stat = .fms(function, buffer, arglist [, altname]);
C: int _fms(int function,char *buffer,void *arglist, [const char *altname] );
.FMS provides a simple way to do a general MME GEFSYE or DRL FILACT. It handles the choice of using a MME or DRL, passing the effective userid in TSS, waiting for the function to complete in batch, and extracting the FMS major status.
For compatibility between batch and TSS programs, .FMS always uses a 380 word buffer. In batch, it will ignore the first 25 words, and only the last 355 words will actually be used.
In order to support the "access file" function in TSS, DRL.A is assigned the value in the A register after the system call. On a successful "access file", this will be a file descriptor word; in all other cases, the value is undefined.
In batch, "altname" can be a pointer to "courtesy call" code. However, this is not recommended in a B environment.
If .FMS encounters an error, it posts a suitable error message with the .EPOST function.
Copyright © 1996, Thinkage Ltd.