HP rp4440 HP DLPI Programmer's Guide - Page 218
ctl.len = len, ifputmsgfd, &ctl
View all HP rp4440 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 218 highlights
Sample Programs Raw Mode Example int check_ctrl(prim) int prim; { dl_error_ack_t *err_ack = (dl_error_ack_t *)ctl_area; if(err_ack->dl_primitive != prim) { if(err_ack->dl_primitive == DL_ERROR_ACK) { printf("%s,check_ctrl: got DL_ERROR_ACK\n",tag); printf(" dl_error_primitive = 0x%02x\n", err_ack->dl_error_primitive); printf(" dl_errno = 0x%02x\n", err_ack->dl_errno); printf(" dl_unix_errno = %d\n", err_ack->dl_unix_errno); exit(1); } else { printf("%s,check_ctrl: expected primitive 0x%02x", tag, prim); printf(", got primitive 0x%02x\n", err_ack->dl_primitive); exit(1); } } } /*-=-* put a control message on a stream *-=-*/ void put_ctrl(fd, len, pri) int fd, len, pri; { ctl.len = len; if(putmsg(fd, &ctl, 0, pri) < 0) { printf("%s,put_ctrl: putmsg failed, errno = %d\n", tag, errno); exit(1); } } /*-=-* put a control + data message on a stream *-=-*/ void put_both(fd, clen, dlen, pri) int fd, clen, dlen, pri; { ctl.len = clen; dat.len = dlen; if(putmsg(fd, &ctl, &dat, pri) < 0) { printf("%s,put_both: putmsg failed, errno = %d\n", tag, errno); 218 Appendix A