1*46439007SCharles.ForsythReaddir: module 2*46439007SCharles.Forsyth{ 3*46439007SCharles.Forsyth PATH: con "/dis/lib/readdir.dis"; 4*46439007SCharles.Forsyth 5*46439007SCharles.Forsyth # sortkey is one of NAME, ATIME, MTIME, SIZE, or NONE 6*46439007SCharles.Forsyth # possibly with DESCENDING or'd in 7*46439007SCharles.Forsyth 8*46439007SCharles.Forsyth NAME, ATIME, MTIME, SIZE, NONE: con iota; 9*46439007SCharles.Forsyth DESCENDING: con (1<<5); 10*46439007SCharles.Forsyth 11*46439007SCharles.Forsyth init: fn(path: string, sortkey: int): (array of ref Sys->Dir, int); 12*46439007SCharles.Forsyth readall: fn(fd: ref Sys->FD, sortkey: int): (array of ref Sys->Dir, int); 13*46439007SCharles.Forsyth sortdir:fn(a: array of ref Sys->Dir, key: int): (array of ref Sys->Dir, int); 14*46439007SCharles.Forsyth 15*46439007SCharles.Forsyth # COMPACT can be or'd into sortkey to preserve only the first 16*46439007SCharles.Forsyth # (by depth) of a group of duplicate names in a union 17*46439007SCharles.Forsyth 18*46439007SCharles.Forsyth COMPACT: con (1<<4); 19*46439007SCharles.Forsyth}; 20