summaryrefslogtreecommitdiff
path: root/module/readdir.m
blob: b4917688bfac2c5437d0e2569816a60ee2971a90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Readdir: module
{
	PATH:	con	"/dis/lib/readdir.dis";

	# sortkey is one of NAME, ATIME, MTIME, SIZE, or NONE
	# possibly with DESCENDING or'd in

	NAME, ATIME, MTIME, SIZE, NONE: con iota;
	DESCENDING:	con (1<<5);

	init:	fn(path: string, sortkey: int): (array of ref Sys->Dir, int);
	readall:	fn(fd: ref Sys->FD, sortkey: int): (array of ref Sys->Dir, int);
	sortdir:fn(a: array of ref Sys->Dir, key: int): (array of ref Sys->Dir, int);

	# COMPACT can be or'd into sortkey to preserve only the first
	# (by depth) of a group of duplicate names in a union

	COMPACT:	con (1<<4);
};