Lines Matching refs:out
68 IO in, out; /* input/output state */ variable
116 if (close(out.fd) == -1 && errno != EINTR) in main()
165 if (out.name == NULL) { in setup()
167 out.fd = STDOUT_FILENO; in setup()
168 out.name = "stdout"; in setup()
170 oflags = fcntl(out.fd, F_GETFL); in setup()
174 if (fcntl(out.fd, F_SETFL, oflags) == -1) in setup()
186 out.fd = open(out.name, O_RDWR | oflags, DEFFILEMODE); in setup()
193 if (out.fd == -1) { in setup()
195 out.fd = open(out.name, O_WRONLY | oflags, DEFFILEMODE); in setup()
197 out.flags |= NOREAD; in setup()
200 if (out.fd == -1) in setup()
201 err(1, "%s", out.name); in setup()
204 getfdtype(&out); in setup()
206 if (caph_rights_limit(out.fd, &rights) == -1) in setup()
208 if (caph_ioctls_limit(out.fd, cmds, nitems(cmds)) == -1) in setup()
211 if (in.fd != STDIN_FILENO && out.fd != STDIN_FILENO) { in setup()
216 if (in.fd != STDOUT_FILENO && out.fd != STDOUT_FILENO) { in setup()
221 if (in.fd != STDERR_FILENO && out.fd != STDERR_FILENO) { in setup()
231 if ((in.db = malloc((size_t)out.dbsz + in.dbsz - 1)) == NULL) in setup()
233 out.db = in.db; in setup()
235 (out.db = malloc(out.dbsz + cbsz)) == NULL) in setup()
240 out.dbp = out.db; in setup()
245 if (out.offset) in setup()
253 out.flags & ISTRUNC) in setup()
254 if (ftruncate(out.fd, out.offset * out.dbsz) == -1) in setup()
255 err(1, "truncating %s", out.name); in setup()
471 out.dbcnt = in.dbcnt; in dd_in()
508 if (ddflags & C_OSYNC && out.dbcnt && out.dbcnt < out.dbsz) { in dd_close()
510 memset(out.dbp, fill_char, out.dbsz - out.dbcnt); in dd_close()
512 memset(out.dbp, ' ', out.dbsz - out.dbcnt); in dd_close()
514 memset(out.dbp, 0, out.dbsz - out.dbcnt); in dd_close()
515 out.dbcnt = out.dbsz; in dd_close()
517 if (out.dbcnt || pending) in dd_close()
524 if (out.seek_offset > 0 && (out.flags & ISTRUNC)) { in dd_close()
525 if (ftruncate(out.fd, out.seek_offset) == -1) in dd_close()
526 err(1, "truncating %s", out.name); in dd_close()
530 if (fsync(out.fd) == -1) in dd_close()
531 err(1, "fsyncing %s", out.name); in dd_close()
533 if (fdatasync(out.fd) == -1) in dd_close()
534 err(1, "fdatasyncing %s", out.name); in dd_close()
563 outp = out.db; in dd_out()
570 for (n = force ? out.dbcnt : out.dbsz;; n = out.dbsz) { in dd_out()
589 out.seek_offset = lseek(out.fd, pending, SEEK_CUR); in dd_out()
590 if (out.seek_offset == -1) in dd_out()
592 out.name); in dd_out()
597 nw = write(out.fd, outp, cnt); in dd_out()
599 out.seek_offset = 0; in dd_out()
607 errx(1, "%s: end of device", out.name); in dd_out()
609 err(1, "%s", out.name); in dd_out()
616 if ((size_t)nw == n && n == (size_t)out.dbsz) in dd_out()
622 if (out.flags & ISTAPE) in dd_out()
624 out.name); in dd_out()
625 if (out.flags & ISCHR && !warned) { in dd_out()
628 out.name); in dd_out()
635 if ((out.dbcnt -= n) < out.dbsz) in dd_out()
640 if (out.dbcnt) in dd_out()
641 (void)memmove(out.db, out.dbp - out.dbcnt, out.dbcnt); in dd_out()
642 out.dbp = out.db + out.dbcnt; in dd_out()