!USER.DEF [101] - structure def used by FNDUSR.SBX and MUSER.LIT !-------------------.-------------------.-------------------.-------------------. !EDIT HISTORY ! VEDIT=103 ! Note: history reformatted 9-Feb-17 ! [101] 31-Jan-17 / jdm / Revise the USER.SYS layout to allow for future expansion ! [100] 29-Jan-17 / jdm / Created !-------------------.-------------------.-------------------.-------------------. ++ifndef ST_USER_MAP defstruct ST_USER_MAP ! structure used by FNDUSR.SBX MAP2 NAME,S,20 MAP2 FLAGS,F,6 MAP2 ROOT'PPN,S,10 MAP2 ROOT'DEVICE,S,10 MAP2 MAIL'PPN,S,10 MAP2 MAIL'DEVICE,S,10 MAP2 MAIL'CPU,S,10 MAP2 PRIV,F,6 MAP2 CLASS,F,6 MAP2 EXP,F,6 MAP2 CPU'TIME,F,6 MAP2 CONNECT'TIME,F,6 MAP2 KRAM,F,6 MAP2 DISK'READS,F,6 MAP2 DISK'WRITES,F,6 MAP2 PAGES'PRINTED,F,6 MAP2 DEFAULT'PROTECTION,F,6 MAP2 DEFAULT'PRIORITY,F,6 MAP2 DEFAULT'LANGUAGE,S,20 MAP2 DEFAULT'PROMPT,S,20 endstruct defstruct ST_USER_SYS ! USER.SYS record layout MAP2 NAME,S,20 MAP2 PASSWORD,S,70 ! encrypted password (up to 44 chars) MAP2 FLAGS,B,4 ! not defined in AMOS or A-Shell MAP2 ROOT'PPN,S,10 MAP2 ROOT'DEVICE,S,10 MAP2 MAIL'PPN,S,10 MAP2 MAIL'DEVICE,S,10 MAP2 MAIL'CPU,S,10 MAP2 PRIV,B,2 MAP2 CLASS,B,1 MAP2 EXP,B,1 MAP2 CPU'TIME,F,8 ! seconds * MAP2 CONNECT'TIME,F,8 ! seconds * MAP2 KRAM,F,8 ! Kilo-RAM-seconds * MAP2 DISK'READS,F,8 ! * MAP2 DISK'WRITES,F,8 ! * MAP2 PAGES'PRINTED,F,8 ! * MAP2 DEFAULT'PROTECTION,B,4 ! not used by AMOS or A-Shell MAP2 DEFAULT'PRIORITY,B,2 ! * MAP2 DEFAULT'LANGUAGE,S,20 MAP2 DEFAULT'PROMPT,S,20 MAP2 KEYSTROKES,F,8 MAP2 COMMANDS,F,8 MAP2 FILL,X,42 ! 300 total endstruct defstruct ST_USER_CTL ! control record for user.sys MAP2 ID,S,20 ! USER_SYS_ID$ MAP2 VERSION,B,2 ! file layout version (USER_SYS_VERSION) MAP2 FILL,X,278 endstruct ++if sizeof(ST_USER_SYS) # sizeof(ST_USER_CTL) ++error "Error in USER.DEF: ST_USER_SYS size doesn't match ST_USER_CTL!" ++endif !* Notes: !* These fields are not automatically updated by A-Shell, but !* potentially they could be, by hooking into the HOST.SBX routine !* which is called by HOST.LIT define USER_SYS_FILE$ = "OPR:USER.SYS" define USER_SYS_SAV$ = "OPR:USER.SAV" define USER_SYS_RECSIZ = sizeof(ST_USER_SYS) define USER_SYS_ID$ = "A-Shell USER.SYS" define USER_SYS_VERSION = 101 ++endif