static char sccsid
[] = "@(#)nio.c 5.1 (BERKELEY) %G%";
extern unsigned short ntohs(), htons();
register char *cp
= bufr
;
for (*cp
++ = type
; *cp
= *str
++; cp
++)
if (write(fn
, &nlen
, sizeof nlen
) != sizeof nlen
||
write(fn
, bufr
, len
) != len
)
if ((cc
= read(fn
, &ncount
, sizeof ncount
)) != sizeof ncount
) {
DEBUG(7, "nrdmsg bad byte count read (%d)\n", cc
);
DEBUG(7, "nrdmsg expecting %d bytes, got ", count
);
if ((cc
= read(fn
, str
, count
)) != count
) {
DEBUG(7, "them%c", '\n');
/* call ultouch every TC calls to either grdblk or gwrblk -- rti!trt */
char bufr
[BUFSIZ
], msg
[64];
long bytes
= 0L, secs
= time((long *)0);
while ((len
= fread(bufr
, sizeof(char), BUFSIZ
, fp1
)) > 0) {
/* call ultouch occasionally -- rti!trt */
DEBUG(7, "nwrdata writing %d bytes, ", len
);
nlen
= htons((unsigned short)len
);
if ((cc
= write(fn
, &nlen
, sizeof nlen
)) != sizeof nlen
) {
DEBUG(7, "bad byte count write (%d)\n", cc
);
if ((cc
= write(fn
, bufr
, len
)) != len
) {
DEBUG(7, "wrote %d\n", cc
);
DEBUG(7, "succeeded%c", '\n');
DEBUG(7, "nwrdata writing eof marker, ", 0);
if ((cc
= write(fn
, &nlen
, sizeof nlen
)) != sizeof nlen
) {
DEBUG(7, "bad byte count write (%d)\n", cc
);
DEBUG(7, "succeeded%c", '\n');
secs
= time((long *)0) - secs
;
sprintf(msg
, "sent data %ld bytes %ld secs", bytes
, secs
);
char bufr
[BUFSIZ
], msg
[64];
long bytes
= 0L, secs
= time((long *)0);
/* call ultouch occasionally -- rti!trt */
if ((cc
= read(fn
, &nlen
, sizeof nlen
)) != sizeof nlen
) {
DEBUG(7, "nrddata bad byte count read (%d)\n", cc
);
DEBUG(7, "nrddata expecting %d bytes, got ", len
);
if ((cc
= read(fn
, bufr
, len
)) != len
||
fwrite(bufr
, sizeof(char), len
, fp2
) != len
) {
DEBUG(7, "them%c", '\n');
secs
= time((long *)0) - secs
;
sprintf(msg
, "received data %ld bytes %ld secs", bytes
, secs
);