HP rp2450 HP DLPI Programmer's Guide - Page 221
check_ctrlDL_HP_RAWDATA_IND, ifdat.len != FRAME_LEN
View all HP rp2450 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 221 highlights
Sample Programs Raw Mode Example llc_hdr->ssap = OUTSAP; llc_hdr->ctrl = IEEECTRL_DEF; sprintf(&dat_area[SEQ_OFFSET], "%d", i * INNER_LOOPS + j); rawdat_req->dl_primitive = DL_HP_RAWDATA_REQ; put_both(outfd, sizeof(dl_hp_rawdata_req_t), FRAME_LEN, 0); printf("+"); fflush(stdout); if(poll(&pinfo, 1, 0)) { get_msg(outfd); check_ctrl(DL_ERROR_ACK); if(err_ack->dl_error_primitive != DL_HP_RAWDATA_REQ || err_ack->dl_errno != DL_SYSERR || err_ack->dl_unix_errno != ENOBUFS) { check_ctrl(0); } else { /* re-send same pkt */ printf("\nENOBUFS\n"); j--; } } } for(j = 0; j < INNER_LOOPS; j++) { get_msg(infd); printf("-"); fflush(stdout); check_ctrl(DL_HP_RAWDATA_IND); if(dat.len != FRAME_LEN) { printf("\nlength error: expected %d, got %d\n", FRAME_LEN, dat.len); } inseq = strtol(&dat_area[SEQ_OFFSET], 0, 0); if(inseq != (i * INNER_LOOPS + j)) { printf("\nseq error: expected %d, got %d\n", i * INNER_LOOPS + j, inseq); } } } printf("\n"); } Appendix A 221