.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "DECOMPRESS_MAPPING_PAIRS" "" "06 October 2005" "" ""
.SH NAME
decompress_mapping_pairs \- convert mapping pairs array to run list
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
run_list_element * decompress_mapping_pairs (const ntfs_volume * \fIvol\fB, const ATTR_RECORD * \fIattr\fB, run_list_element * \fIold_rl\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIvol\fB\fR
ntfs volume on which the attribute resides
.TP
\fB\fIattr\fB\fR
attribute record whose mapping pairs array to decompress
.TP
\fB\fIold_rl\fB\fR
optional run list in which to insert \fIattr\fR\&'s run list
.SH "DESCRIPTION"
.PP
It is up to the caller to serialize access to the run list \fIold_rl\fR\&.
.PP
Decompress the attribute \fIattr\fR\&'s mapping pairs array into a run list. On
success, return the decompressed run list.
.PP
If \fIold_rl\fR is not NULL, decompressed run list is inserted into the
appropriate place in \fIold_rl\fR and the resultant, combined run list is
returned. The original \fIold_rl\fR is deallocated.
.PP
On error, return -errno. \fIold_rl\fR is left unmodified in that case.
.SH "THE FOLLOWING ERROR CODES ARE DEFINED"
.PP
-ENOMEM - Not enough memory to allocate run list array.
-EIO - Corrupt run list.
-EINVAL - Invalid parameters were passed in.
-ERANGE - The two run lists overlap.
.SH "FIXME"
.PP
For now we take the conceptionally simplest approach of creating the
new run list disregarding the already existing one and then splicing the
two into one, if that is possible (we check for overlap and discard the new
run list if overlap present before returning ERR_PTR(-ERANGE)).