@
SILdoc(`List subordinate elements of the given dataset.
This function can be used to list child datasets and snapshots of the given dataset. The listed elements can be filtered by their type and by their depth relative to the starting dataset. :param bytes name: the name of the dataset to be listed, could be a snapshot or a dataset.
Params:
options: a dict of the options that control the listing behavior.
Returns:
PipePair - a pair of file descriptors the first of which can be used to read the listing.
Errors:
DatasetNotFound: if the dataset does not exist.
Two options are currently available:
recurse : integer or None
specifies depth of the recursive listing. If None the depth is not limited. Absence of this option means that only the given dataset is listed.
type : dict of bytes:None
specifies dataset types to include into the listing. Currently allowed keys are "filesystem", "volume", "snapshot". Absence of this option implies all types.
The first of the returned file descriptors can be used to read the listing in a binary encounded format. The data is a series of variable sized records each starting with a fixed size header, the header is followed by a serialized nvlist. Each record describes a single element and contains the elements name as well as its properties. The file descriptor must be closed after reading from it. The second file descriptor represents a pipe end to which the kernel driver is writing information. It should not be closed until all interesting information has been read and it must be explicitly closed afterwards.
`)