void dlinfoack(int fd, char *bufp) { union DL_primitives *dlp; struct strbuf ctl; int flags; ctl.maxlen = MAXDLBUF; ctl.len = 0; ctl.buf = bufp; strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlinfoack"); dlp = (union DL_primitives *) ctl.buf; expecting(DL_INFO_ACK, dlp); if (ctl.len < sizeof (dl_info_ack_t)) { char buffer[256]; sprintf(buffer, "dlinfoack: response ctl.len too short: %d", ctl.len); rp_fatal(buffer); } if (flags != RS_HIPRI) rp_fatal("dlinfoack: DL_INFO_ACK was not M_PCPROTO"); if (ctl.len < sizeof (dl_info_ack_t)) { char buffer[256]; sprintf(buffer, "dlinfoack: short response ctl.len: %d", ctl.len); rp_fatal(buffer); } }
void dlokack(int fd, char *bufp) { union DL_primitives *dlp; struct strbuf ctl; int flags; ctl.maxlen = MAXDLBUF; ctl.len = 0; ctl.buf = bufp; strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlokack"); dlp = (union DL_primitives *) ctl.buf; expecting(DL_OK_ACK, dlp); if (ctl.len < sizeof (dl_ok_ack_t)) { fatallog("dlokack: response ctl.len too short: %d", ctl.len); } if (flags != RS_HIPRI) fatallog("dlokack: DL_OK_ACK was not M_PCPROTO"); if (ctl.len < sizeof (dl_ok_ack_t)) { fatallog("dlokack: short response ctl.len: %d", ctl.len); } }