User Indexes
DBITMAP2
%externalintegerfn DBITMAP2(%integername LO, HI, %integer FSYS)
DDELUSER
%externalintegerfn DDELUSER(%string(18)FILE INDEX, %integer FSYS)
DEMPTYI
%externalintegerfn DEMPTYI(%integer FSYS, INDNO)
This privileged procedure writes 'EMPTY' at the start of the 1K block
INDNO on FSYS.
DGETINDEXES
%externalintegerfn DGETINDEXES(%integername N, %integer ADR, FSYS)
This procedure supplies a sorted list of index names accredited on
FSYS. The names are either listed (to DIRLOG) if ADR = -1 or written
as a series of 18 byte strings to ADR onwards. N is set to the number
of names returned. The array at ADR must be able to hold as many index
names as there are on the disc. The current max is 1365,
i.e. 19 * 1365 (=25935) bytes.
DGETINDEXES2
%externalintegerfn DGETINDEXES2(%integername N, %integer ADR, FSYS)
This procedure supplies a list of the indexes accreditted on FSYS,
sorted into INDEX NO order. A series of records of format
(string(18)NAME, byteinteger KB, integer INDNO)
is returned to ADR onwards, a maximum of 24 * 1365 bytes. N is set to
the number of records supplied.
DINDEX2
%externalintegerfn DINDEX2(%string(18)NAME, %integer FSYS, ADR)
This procedure returns the index NAME on fsys FSYS into ADR
onwards, with sensitive fields blanked off.
DNEWUSER
%externalintegerfn DNEWUSER(%string(18)FILE INDEX, %integer FSYS, NKB)
This privileged procedure creates either a user record+main file index
(if FILE INDEX is simply a username) or a file index (if FILE INDEX
is supplied as username@fileindexname). The index is created on disc
pack FSYS with NKB Kbytes. NKB must either be 2 or a multiple of 4
between 4 and 32.
DPROCS
%externalintegerfn DPROCS(%integername MAXPROCS, %integer ADR)
This procedure copies Supervisor's list of current processes to ADR
onwards. Each entry is 32 bytes long and the number of entries is
returned in MAXPROCS.
DRENAMEINDEX
%externalintegerfn DRENAME INDEX(%string(18)OLDNAME, NEWNAME,
%integer FSYS)
This privileged procedure renames index OLDNAME to NEWNAME. Both
OLDNAME and NEWNAME must either be of the form:
username or username:indexname
ie not one of each. Note that only the specified index is renamed.
If the user has other fileindexes, these are not renamed.
DREPLACEINDEX
%externalintegerfn DREPLACE INDEX(%integer FSYS, INDNO, ADR)
Allows 1024 bytes in the index area of a disc to be overwritten by a
privileged process.
DSYSAD
%externalintegerfn DSYSAD(%integer TYPE, ADR, FSYS)
This privileged procedure returns
the bitmap (TYPE=0)
the name-number table (TYPE=1)
the DIRCOM record (TYPE=5)
or the bad pages bitmap (TYPE=6)
in ADR onwards for FSYS.
DUSERINDEXES
%externalintegerfn DUSERINDEXES(%string(6)USER, %integer FSYS, ADR,
%integername N)
Searches FSYS (or all fsys's if FSYS is -1) for indexes belonging to
USER. Returns N records to ADR onwards of the form:
%string(11)index, %integer fsys
GETUSNAMES
%externalintegerfn GET USNAMES(%integername N, %integer ADR, FSYS)
This procedure supplies a sorted list of users who have user records
on disc pack FSYS. The names are either listed (to DIRLOG) if ADR = -1
or written as a series of 6 byte strings to ADR onwards. N is set to
the number of names returned. The array at ADR must be able to hold 1365
names, i.e. 9555 bytes.
GETUSNAMES2
%externalintegerfn GET USNAMES2(%record(NNF)%arrayname UNN,
%integername N, %integer FSYS)
This procedure supplies the list of users who have user records on
disc-pack FSYS, sorted into INDEX NO order. A series of records of
format
(string(6)NAME, byteinteger KB, integer INDNO)
is returned in the array UNN, which should be declared (0:1364). N is
set to the number of names supplied.