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.