The description for `len` is confusing. Free bytes in what? I'm assuming that len is the number of bytes malloc'd for `target`? If that is the case would "Size of target" or "Maximum number of bytes to write" make more sense?