Lines Matching refs:out
85 extern IO in, out;
107 IO in, out; /* input/output state */ variable
182 if (out.name == NULL) { in setup()
184 out.fd = STDOUT_FILENO; in setup()
185 out.name = "stdout"; in setup()
189 out.fd = open(out.name, O_RDWR | OFLAGS, DEFFILEMODE); in setup()
195 if (out.fd < 0) { in setup()
196 out.fd = open(out.name, O_WRONLY | OFLAGS, DEFFILEMODE); in setup()
197 out.flags |= NOREAD; in setup()
199 if (out.fd < 0) { in setup()
201 out.name, strerror(errno)); in setup()
207 out.fd = redup_clean_fd(out.fd); in setup()
210 getfdtype(&out); in setup()
217 if ((in.db = malloc(out.dbsz + in.dbsz - 1)) == NULL) { in setup()
221 out.db = in.db; in setup()
224 (out.db = malloc((u_int)(out.dbsz + cbsz))) == NULL) { in setup()
229 out.dbp = out.db; in setup()
234 if (out.offset) in setup()
242 (void)ftruncate(out.fd, (off_t)out.offset * out.dbsz); in setup()
382 out.dbcnt = in.dbcnt; in dd_in()
415 if (ddflags & C_OSYNC && out.dbcnt < out.dbsz) { in dd_close()
416 (void)memset(out.dbp, 0, out.dbsz - out.dbcnt); in dd_close()
417 out.dbcnt = out.dbsz; in dd_close()
422 if ((out.dbcnt == 0) && pending) { in dd_close()
423 memset(out.db, 0, out.dbsz); in dd_close()
424 out.dbcnt = out.dbsz; in dd_close()
425 out.dbp = out.db + out.dbcnt; in dd_close()
426 pending -= out.dbsz; in dd_close()
428 if (out.dbcnt) in dd_close()
438 if (out.fd == STDOUT_FILENO && fsync(out.fd) == -1 && errno != EINVAL) { in dd_close()
443 if (close(out.fd) == -1) { in dd_close()
473 outp = out.db; in dd_out()
474 for (n = force ? out.dbcnt : out.dbsz;; n = out.dbsz) { in dd_out()
493 if (lseek(out.fd, pending, SEEK_CUR) == in dd_out()
498 out.name, strerror(errno)); in dd_out()
502 nw = bwrite(out.fd, outp, cnt); in dd_out()
506 out.name); in dd_out()
512 out.name, strerror(errno)); in dd_out()
520 st.sparse += pending/out.dbsz; in dd_out()
521 st.out_full += pending/out.dbsz; in dd_out()
527 if (n != out.dbsz) in dd_out()
536 if (out.flags & ISCHR && !warned) { in dd_out()
539 "device\n", out.name); in dd_out()
541 if (out.flags & ISTAPE) { in dd_out()
544 out.name); in dd_out()
549 if ((out.dbcnt -= n) < out.dbsz) in dd_out()
554 if (out.dbcnt) in dd_out()
555 (void)memmove(out.db, out.dbp - out.dbcnt, out.dbcnt); in dd_out()
556 out.dbp = out.db + out.dbcnt; in dd_out()
663 if (!(out.flags & ISTAPE)) { in pos_out()
664 if (lseek(out.fd, in pos_out()
665 (off_t)out.offset * (off_t)out.dbsz, SEEK_SET) == -1) { in pos_out()
667 out.name, strerror(errno)); in pos_out()
675 if (out.flags & NOREAD) { in pos_out()
680 fprintf(stderr, "%s: cannot read", out.name); in pos_out()
687 for (cnt = 0; cnt < out.offset; ++cnt) { in pos_out()
688 if ((n = read(out.fd, out.db, out.dbsz)) > 0) in pos_out()
693 out.name, strerror(errno)); in pos_out()
706 fprintf(stderr, "%s: cannot position\n", out.name); in pos_out()
711 while (cnt++ < out.offset) in pos_out()
712 if ((n = bwrite(out.fd, out.db, out.dbsz)) != out.dbsz) { in pos_out()
715 out.name, strerror(errno)); in pos_out()
741 out.dbp = in.dbp; in def()
742 out.dbcnt = in.dbcnt; in def()
744 if (in.dbcnt >= out.dbsz) { in def()
753 in.dbp = out.dbp; in def()
754 in.dbcnt = out.dbcnt; in def()
762 fdatasync(out.fd); in def_close()
767 out.dbcnt = in.dbcnt; in def_close()
820 for (inp = in.dbp - in.dbcnt, outp = out.dbp; in.dbcnt;) { in block()
864 out.dbp += cbsz; in block()
865 if ((out.dbcnt += cbsz) >= out.dbsz) in block()
867 outp = out.dbp; in block()
886 (void)memmove(out.dbp, in.dbp - in.dbcnt, in.dbcnt); in block_close()
887 (void)memset(out.dbp + in.dbcnt, in block_close()
889 out.dbcnt += cbsz; in block_close()
920 (void)memmove(out.dbp, inp, cnt); in unblock()
921 out.dbp += cnt; in unblock()
922 out.dbcnt += cnt; in unblock()
924 ++out.dbcnt; in unblock()
925 *out.dbp++ = '\n'; in unblock()
926 if (out.dbcnt >= out.dbsz) in unblock()
945 (void)memmove(out.dbp, in.db, cnt); in unblock_close()
946 out.dbp += cnt; in unblock_close()
947 out.dbcnt += cnt; in unblock_close()
949 ++out.dbcnt; in unblock_close()
950 *out.dbp++ = '\n'; in unblock_close()
1060 in.dbsz = out.dbsz = 512; in jcl()
1172 in.dbsz = out.dbsz = strsuftoll("block size", arg, 1, UINT_MAX); in f_bs()
1220 out.dbsz = strsuftoll("output block size", arg, 1, UINT_MAX); in f_obs()
1227 out.name = arg; in f_of()
1234 out.offset = strsuftoll("seek blocks", arg, 0, LLONG_MAX); in f_seek()