Procedure 24

Claim EGTS

REQUEST

There are no procedure specific parameters.

success = 0

capability

 

RESPONSE - success

The response returns a 8 byte (64 bit) capability which is an opaque field generated by the server and used by the client as an access token in all subsequent procedure requests to the EGTS.
The EGTS will currently be in the halted state.

procedure status

RESPONSE - failure

procedure status which is non zero indicates the cause of the failure.

4

EGTS already claimed

procedure status

Implementation

This procedure must be used by applications wishing to access the Tape Server in order to obtain an access key to be used in all subsequent procedures. The access keys are 64 bit fields issued by the server. The server may use any algorithm it wishes to generate the key. However once issued keys should never be reused. The Eurogam server uses the current number of milliseconds since a fixed date (Jan 1 1970) as the key. Using this algorithm all access keys issued are obviously unique.
The Claim procedure fails if an access key has previously been issued and not released (see the Free EGTS procedure). Security of the Tape Server can be implemented by only accepting Claim requests from a restricted set of clients. Although only one client actually makes the Claim request a group of workstations may subsequently control the Tape Server if the access key is shared between them by any method they wish.
The Eurogam server implements this procedure using the algorithm described to generate the access keys. However it does not currently actually check that the access key supplied in subsequent procedures is valid. However checking could be implemented as long as the server saves details of issued access keys (for example on a disc file) which could then be restored if the server program is reloaded.
The Tape Server at this point has no system resources allocated and next expects an Allocate Device procedure (procedure 23).
The server logs the result of the procedure into the System Log recording the client name to which access has been granted.