int parsend(struct par_softc *sc, u_char *buf, int len) { int err, orig_len = len; for (; len; len--, buf++) if ((err = parsendch(sc, *buf))) return err < 0 ? -EINTR : -err; /* either all or nothing.. */ return orig_len; }
int parsend (u_char *buf, int len) { int err, orig_len = len; /* make sure I/O lines are setup right for output */ /* control lines set to input */ ciab.ddra &= ~(CIAB_PRA_SEL|CIAB_PRA_POUT|CIAB_PRA_BUSY); /* data lines to output */ ciaa.ddrb = 0xff; for (; len; len--, buf++) if ((err = parsendch (*buf)) != 0) return err < 0 ? -EINTR : -err; /* either all or nothing.. */ return orig_len; }