For example, when reading a uuencoded gzipped tar archive, there are three filters: filter 0 is the gunzip filter, filter 1 is the uudecode filter, and filter 2 is the pseudo-filter that wraps the archive read functions. In this case, requesting Fn archive_position a -1 would be a synonym for Fn archive_position a 2 which would return the number of bytes currently read from the archive, while Fn archive_position a 1 would return the number of bytes after uudecoding, and Fn archive_position a 0 would return the number of bytes after decompression.