Lines Matching full:out
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 IO in, out; /* input/output state */ variable
108 if (out.name == NULL) { in setup()
110 out.fd = STDOUT_FILENO; in setup()
111 out.name = "stdout"; in setup()
115 out.fd = open(out.name, O_RDWR | OFLAGS, DEFFILEMODE); in setup()
121 if (out.fd == -1) { in setup()
122 out.fd = open(out.name, O_WRONLY | OFLAGS, DEFFILEMODE); in setup()
123 out.flags |= NOREAD; in setup()
125 if (out.fd == -1) in setup()
126 err(1, "%s", out.name); in setup()
129 getfdtype(&out); in setup()
136 if ((in.db = malloc(out.dbsz + in.dbsz - 1)) == NULL) in setup()
138 out.db = in.db; in setup()
143 out.db = malloc(out.dbsz + cbsz); in setup()
144 if (out.db == NULL) in setup()
148 out.dbp = out.db; in setup()
153 if (out.offset) in setup()
164 (void)ftruncate(out.fd, out.offset * out.dbsz); in setup()
309 out.dbcnt = in.dbcnt; in dd_in()
341 if (ddflags & C_OSYNC && out.dbcnt && out.dbcnt < out.dbsz) { in dd_close()
343 memset(out.dbp, ' ', out.dbsz - out.dbcnt); in dd_close()
345 memset(out.dbp, 0, out.dbsz - out.dbcnt); in dd_close()
346 out.dbcnt = out.dbsz; in dd_close()
348 if (out.dbcnt) in dd_close()
351 if (fsync(out.fd) == -1) in dd_close()
352 err(1, "fsync %s", out.name); in dd_close()
365 * Write one or more blocks out. The common case is writing a full in dd_out()
380 outp = out.db; in dd_out()
381 for (n = force ? out.dbcnt : out.dbsz;; n = out.dbsz) { in dd_out()
383 nw = write(out.fd, outp, cnt); in dd_out()
385 errx(1, "%s: end of device", out.name); in dd_out()
388 err(1, "%s", out.name); in dd_out()
394 if (n != out.dbsz) in dd_out()
403 if (out.flags & ISCHR && !warned) { in dd_out()
406 out.name); in dd_out()
408 if (out.flags & ISTAPE) in dd_out()
409 errx(1, "%s: short write on tape device", out.name); in dd_out()
411 if ((out.dbcnt -= n) < out.dbsz) in dd_out()
416 if (out.dbcnt) in dd_out()
417 (void)memmove(out.db, out.dbp - out.dbcnt, out.dbcnt); in dd_out()
418 out.dbp = out.db + out.dbcnt; in dd_out()