%record %format Uic Fm  ( %short Mem, Grp )
%record %format Quad Fm ( %integer A, B )

%record %format Uaf Fm ( %c
      %byte %array User Name ( 1: 12 ),
      %record(Quad Fm) PWD,
      %byte %array Account ( 1: 8 ),
      ( %record(Uic Fm) UIC %or
        %short Mem, Grp ),
      %byte %array Def Dir ( 1: 32 ),
      %byte %array Def Dev ( 1: 16 ),
      %byte %array Def Cli ( 1: 9  ),
      %byte       Encrypt,
      %integer CPUTIM,
      %record(Quad Fm) PRIV,
      %short BIOLM,
      %short BYTLM,
      %short DIOLM,
      %short FILLM,
      %short TQCNT,
      %short PRCCNT,
      %short WSQUOTA,
      %short DFWSCNT,
      %short ASTLM,
      %short ENQLM,
      %integer PGFLQUOTA,
      %byte %array Owner ( 1: 32 ),
      %short FILPRT,
      %byte Pri,
      %byte Flags,
      %integer Level,
      %byte %array LGICMD ( 1: 32 ),
      %short Mail,
      %integer PBYTLM,
      %short SHRFILLM,
      %short USRDATOFF,
      %short SALT1, SALT2,
      %byte %array SALT3 ( 1: 32 ),
      %record(Quad Fm) SALT4, SALT5, SALT6,
      %integer SALT7, SALT8, SALT9, SALT10,
      ( %byte Fixed %or
        %byte %array Filler ( 1: 768 ) ) )

{encryption flags}
%const %integer UAF AD II     = 1 << 0,
                UAF PURDY     = 1 << 1

{login flags}
%const %integer UAF DISCTLY   = 1 << 0,
                UAF DEFCLI    = 1 << 1,
                UAF LOCKPWD   = 1 << 2

%end %of %file
