I agree this is a reasonable set of interfaces for libc. As well as implementing the missing variants, we should double-check that the standard for things that were originally GNU extensions is consistent with our existing implementations, as e.g. fmemopen was not.