shf_read
while ((n = shf_read(xp, Xnleft(xs, xp), shf)) > 0) {
int shf_read(char *, int, struct shf *);