Lines Matching full:msg
80 struct rndis_query_req *msg, uint16_t len,
83 struct rndis_set_req *msg, uint16_t len);
225 } msg; in urndis_attach() local
280 memset(msg.eaddr.addr, 0, sizeof(msg.eaddr.addr)); in urndis_attach()
283 (struct rndis_query_req *)&msg.eaddr, sizeof(msg.eaddr), in urndis_attach()
299 msg.filter.filter = htole32(sc->sc_filter); in urndis_attach()
302 (struct rndis_set_req *)&msg.filter, sizeof(msg.filter)); in urndis_attach()
529 const struct rndis_init_comp *msg; in urndis_ctrl_handle_init() local
531 msg = (const struct rndis_init_comp *)hdr; in urndis_ctrl_handle_init()
536 le32toh(msg->rm_len), in urndis_ctrl_handle_init()
537 le32toh(msg->rm_rid), in urndis_ctrl_handle_init()
538 le32toh(msg->rm_status), in urndis_ctrl_handle_init()
539 le32toh(msg->rm_ver_major), in urndis_ctrl_handle_init()
540 le32toh(msg->rm_ver_minor), in urndis_ctrl_handle_init()
541 le32toh(msg->rm_devflags), in urndis_ctrl_handle_init()
542 le32toh(msg->rm_medium), in urndis_ctrl_handle_init()
543 le32toh(msg->rm_pktmaxcnt), in urndis_ctrl_handle_init()
544 le32toh(msg->rm_pktmaxsz), in urndis_ctrl_handle_init()
545 le32toh(msg->rm_align), in urndis_ctrl_handle_init()
546 le32toh(msg->rm_aflistoffset), in urndis_ctrl_handle_init()
547 le32toh(msg->rm_aflistsz)); in urndis_ctrl_handle_init()
549 if (le32toh(msg->rm_status) != RNDIS_STATUS_SUCCESS) { in urndis_ctrl_handle_init()
550 DPRINTF("init failed 0x%x\n", le32toh(msg->rm_status)); in urndis_ctrl_handle_init()
551 return (le32toh(msg->rm_status)); in urndis_ctrl_handle_init()
553 if (le32toh(msg->rm_devflags) != RNDIS_DF_CONNECTIONLESS) { in urndis_ctrl_handle_init()
555 le32toh(msg->rm_devflags)); in urndis_ctrl_handle_init()
558 if (le32toh(msg->rm_medium) != RNDIS_MEDIUM_802_3) { in urndis_ctrl_handle_init()
560 le32toh(msg->rm_medium)); in urndis_ctrl_handle_init()
563 sc->sc_lim_pktsz = le32toh(msg->rm_pktmaxsz); in urndis_ctrl_handle_init()
565 return (le32toh(msg->rm_status)); in urndis_ctrl_handle_init()
572 const struct rndis_query_comp *msg; in urndis_ctrl_handle_query() local
575 msg = (const struct rndis_query_comp *)hdr; in urndis_ctrl_handle_query()
579 le32toh(msg->rm_len), in urndis_ctrl_handle_query()
580 le32toh(msg->rm_rid), in urndis_ctrl_handle_query()
581 le32toh(msg->rm_status), in urndis_ctrl_handle_query()
582 le32toh(msg->rm_infobuflen), in urndis_ctrl_handle_query()
583 le32toh(msg->rm_infobufoffset)); in urndis_ctrl_handle_query()
587 if (le32toh(msg->rm_status) != RNDIS_STATUS_SUCCESS) { in urndis_ctrl_handle_query()
588 DPRINTF("query failed 0x%x\n", le32toh(msg->rm_status)); in urndis_ctrl_handle_query()
589 return (le32toh(msg->rm_status)); in urndis_ctrl_handle_query()
591 limit = le32toh(msg->rm_infobuflen); in urndis_ctrl_handle_query()
592 limit += le32toh(msg->rm_infobufoffset); in urndis_ctrl_handle_query()
595 if (limit > (uint64_t)le32toh(msg->rm_len)) { in urndis_ctrl_handle_query()
599 le32toh(msg->rm_infobuflen), in urndis_ctrl_handle_query()
600 le32toh(msg->rm_infobufoffset), in urndis_ctrl_handle_query()
601 le32toh(msg->rm_infobuflen) + in urndis_ctrl_handle_query()
602 le32toh(msg->rm_infobufoffset) + RNDIS_HEADER_OFFSET, in urndis_ctrl_handle_query()
603 le32toh(msg->rm_len)); in urndis_ctrl_handle_query()
606 *buf = ((const uint8_t *)msg) + RNDIS_HEADER_OFFSET + in urndis_ctrl_handle_query()
607 le32toh(msg->rm_infobufoffset); in urndis_ctrl_handle_query()
608 *bufsz = le32toh(msg->rm_infobuflen); in urndis_ctrl_handle_query()
610 return (le32toh(msg->rm_status)); in urndis_ctrl_handle_query()
617 const struct rndis_reset_comp *msg; in urndis_ctrl_handle_reset() local
620 msg = (const struct rndis_reset_comp *)hdr; in urndis_ctrl_handle_reset()
622 rval = le32toh(msg->rm_status); in urndis_ctrl_handle_reset()
626 le32toh(msg->rm_len), in urndis_ctrl_handle_reset()
628 le32toh(msg->rm_adrreset)); in urndis_ctrl_handle_reset()
634 if (msg->rm_adrreset != 0) { in urndis_ctrl_handle_reset()
656 struct rndis_init_req msg; in urndis_ctrl_init() local
660 msg.rm_type = htole32(REMOTE_NDIS_INITIALIZE_MSG); in urndis_ctrl_init()
661 msg.rm_len = htole32(sizeof(msg)); in urndis_ctrl_init()
662 msg.rm_rid = 0; in urndis_ctrl_init()
663 msg.rm_ver_major = htole32(RNDIS_VERSION_MAJOR); in urndis_ctrl_init()
664 msg.rm_ver_minor = htole32(1); in urndis_ctrl_init()
665 msg.rm_max_xfersz = htole32(RNDIS_RX_MAXLEN); in urndis_ctrl_init()
669 le32toh(msg.rm_type), in urndis_ctrl_init()
670 le32toh(msg.rm_len), in urndis_ctrl_init()
671 le32toh(msg.rm_rid), in urndis_ctrl_init()
672 le32toh(msg.rm_ver_major), in urndis_ctrl_init()
673 le32toh(msg.rm_ver_minor), in urndis_ctrl_init()
674 le32toh(msg.rm_max_xfersz)); in urndis_ctrl_init()
676 rval = urndis_ctrl_send(sc, &msg, sizeof(msg)); in urndis_ctrl_init()
694 struct rndis_halt_req msg; in urndis_ctrl_halt() local
697 msg.rm_type = htole32(REMOTE_NDIS_HALT_MSG); in urndis_ctrl_halt()
698 msg.rm_len = htole32(sizeof(msg)); in urndis_ctrl_halt()
699 msg.rm_rid = 0; in urndis_ctrl_halt()
702 le32toh(msg.rm_type), in urndis_ctrl_halt()
703 le32toh(msg.rm_len), in urndis_ctrl_halt()
704 le32toh(msg.rm_rid)); in urndis_ctrl_halt()
706 rval = urndis_ctrl_send(sc, &msg, sizeof(msg)); in urndis_ctrl_halt()
720 struct rndis_query_req *msg, uint16_t len, const void **rbuf, in urndis_ctrl_query() argument
726 msg->rm_type = htole32(REMOTE_NDIS_QUERY_MSG); in urndis_ctrl_query()
727 msg->rm_len = htole32(len); in urndis_ctrl_query()
728 msg->rm_rid = 0; /* XXX */ in urndis_ctrl_query()
729 msg->rm_oid = htole32(oid); in urndis_ctrl_query()
730 datalen = len - sizeof(*msg); in urndis_ctrl_query()
731 msg->rm_infobuflen = htole32(datalen); in urndis_ctrl_query()
733 msg->rm_infobufoffset = htole32(sizeof(*msg) - in urndis_ctrl_query()
736 msg->rm_infobufoffset = 0; in urndis_ctrl_query()
738 msg->rm_devicevchdl = 0; in urndis_ctrl_query()
742 le32toh(msg->rm_type), in urndis_ctrl_query()
743 le32toh(msg->rm_len), in urndis_ctrl_query()
744 le32toh(msg->rm_rid), in urndis_ctrl_query()
745 le32toh(msg->rm_oid), in urndis_ctrl_query()
746 le32toh(msg->rm_infobuflen), in urndis_ctrl_query()
747 le32toh(msg->rm_infobufoffset), in urndis_ctrl_query()
748 le32toh(msg->rm_devicevchdl)); in urndis_ctrl_query()
750 rval = urndis_ctrl_send(sc, msg, len); in urndis_ctrl_query()
767 struct rndis_set_req *msg, uint16_t len) in urndis_ctrl_set() argument
772 msg->rm_type = htole32(REMOTE_NDIS_SET_MSG); in urndis_ctrl_set()
773 msg->rm_len = htole32(len); in urndis_ctrl_set()
774 msg->rm_rid = 0; /* XXX */ in urndis_ctrl_set()
775 msg->rm_oid = htole32(oid); in urndis_ctrl_set()
776 datalen = len - sizeof(*msg); in urndis_ctrl_set()
777 msg->rm_infobuflen = htole32(datalen); in urndis_ctrl_set()
779 msg->rm_infobufoffset = htole32(sizeof(*msg) - in urndis_ctrl_set()
782 msg->rm_infobufoffset = 0; in urndis_ctrl_set()
784 msg->rm_devicevchdl = 0; in urndis_ctrl_set()
788 le32toh(msg->rm_type), in urndis_ctrl_set()
789 le32toh(msg->rm_len), in urndis_ctrl_set()
790 le32toh(msg->rm_rid), in urndis_ctrl_set()
791 le32toh(msg->rm_oid), in urndis_ctrl_set()
792 le32toh(msg->rm_infobuflen), in urndis_ctrl_set()
793 le32toh(msg->rm_infobufoffset), in urndis_ctrl_set()
794 le32toh(msg->rm_devicevchdl)); in urndis_ctrl_set()
796 rval = urndis_ctrl_send(sc, msg, len); in urndis_ctrl_set()
819 struct rndis_packet_msg msg; in urndis_bulk_read_callback() local
831 for (offset = 0; actlen >= (uint32_t)sizeof(msg);) { in urndis_bulk_read_callback()
833 usbd_copy_out(pc, offset, &msg, sizeof(msg)); in urndis_bulk_read_callback()
837 msg.rm_type = le32toh(msg.rm_type); in urndis_bulk_read_callback()
838 msg.rm_len = le32toh(msg.rm_len); in urndis_bulk_read_callback()
839 msg.rm_dataoffset = le32toh(msg.rm_dataoffset); in urndis_bulk_read_callback()
840 msg.rm_datalen = le32toh(msg.rm_datalen); in urndis_bulk_read_callback()
841 msg.rm_oobdataoffset = le32toh(msg.rm_oobdataoffset); in urndis_bulk_read_callback()
842 msg.rm_oobdatalen = le32toh(msg.rm_oobdatalen); in urndis_bulk_read_callback()
843 msg.rm_oobdataelements = le32toh(msg.rm_oobdataelements); in urndis_bulk_read_callback()
844 msg.rm_pktinfooffset = le32toh(msg.rm_pktinfooffset); in urndis_bulk_read_callback()
845 msg.rm_pktinfolen = le32toh(msg.rm_pktinfolen); in urndis_bulk_read_callback()
846 msg.rm_vchandle = le32toh(msg.rm_vchandle); in urndis_bulk_read_callback()
847 msg.rm_reserved = le32toh(msg.rm_reserved); in urndis_bulk_read_callback()
852 msg.rm_len, msg.rm_dataoffset, msg.rm_datalen, in urndis_bulk_read_callback()
853 msg.rm_oobdataoffset, msg.rm_oobdatalen, in urndis_bulk_read_callback()
854 msg.rm_oobdataelements, msg.rm_pktinfooffset, in urndis_bulk_read_callback()
855 msg.rm_pktinfooffset); in urndis_bulk_read_callback()
858 if (msg.rm_type != REMOTE_NDIS_PACKET_MSG) { in urndis_bulk_read_callback()
860 msg.rm_type, REMOTE_NDIS_PACKET_MSG); in urndis_bulk_read_callback()
862 } else if (msg.rm_len < (uint32_t)sizeof(msg)) { in urndis_bulk_read_callback()
863 DPRINTF("invalid msg len %u < %u\n", in urndis_bulk_read_callback()
864 msg.rm_len, (unsigned)sizeof(msg)); in urndis_bulk_read_callback()
866 } else if (msg.rm_len > (uint32_t)actlen) { in urndis_bulk_read_callback()
867 DPRINTF("invalid msg len %u > buffer " in urndis_bulk_read_callback()
868 "len %u\n", msg.rm_len, actlen); in urndis_bulk_read_callback()
870 } else if (msg.rm_dataoffset >= (uint32_t)actlen) { in urndis_bulk_read_callback()
871 DPRINTF("invalid msg dataoffset %u > buffer " in urndis_bulk_read_callback()
872 "dataoffset %u\n", msg.rm_dataoffset, actlen); in urndis_bulk_read_callback()
874 } else if (msg.rm_datalen > (uint32_t)actlen) { in urndis_bulk_read_callback()
875 DPRINTF("invalid msg datalen %u > buffer " in urndis_bulk_read_callback()
876 "datalen %u\n", msg.rm_datalen, actlen); in urndis_bulk_read_callback()
878 } else if ((msg.rm_dataoffset + msg.rm_datalen + in urndis_bulk_read_callback()
882 msg.rm_dataoffset + msg.rm_datalen + in urndis_bulk_read_callback()
886 } else if (msg.rm_datalen < (uint32_t)sizeof(struct ether_header)) { in urndis_bulk_read_callback()
889 "%u < %u\n", msg.rm_datalen, (unsigned)sizeof(struct ether_header)); in urndis_bulk_read_callback()
891 } else if (msg.rm_datalen > (uint32_t)(MCLBYTES - ETHER_ALIGN)) { in urndis_bulk_read_callback()
895 msg.rm_datalen, (unsigned)MCLBYTES); in urndis_bulk_read_callback()
897 } else if (msg.rm_datalen > (uint32_t)(MHLEN - ETHER_ALIGN)) { in urndis_bulk_read_callback()
905 m->m_len = m->m_pkthdr.len = msg.rm_datalen + ETHER_ALIGN; in urndis_bulk_read_callback()
908 usbd_copy_out(pc, offset + msg.rm_dataoffset + in urndis_bulk_read_callback()
910 rm_dataoffset), m->m_data, msg.rm_datalen); in urndis_bulk_read_callback()
913 uether_rxmbuf(&sc->sc_ue, m, msg.rm_datalen); in urndis_bulk_read_callback()
917 offset += msg.rm_len; in urndis_bulk_read_callback()
918 actlen -= msg.rm_len; in urndis_bulk_read_callback()
945 struct rndis_packet_msg msg; in urndis_bulk_write_callback() local
966 memset(&msg, 0, sizeof(msg)); in urndis_bulk_write_callback()
979 if ((m->m_pkthdr.len + sizeof(msg)) > RNDIS_TX_MAXLEN) { in urndis_bulk_write_callback()
987 msg.rm_type = htole32(REMOTE_NDIS_PACKET_MSG); in urndis_bulk_write_callback()
988 msg.rm_len = htole32(sizeof(msg) + m->m_pkthdr.len); in urndis_bulk_write_callback()
990 msg.rm_dataoffset = htole32(RNDIS_DATA_OFFSET); in urndis_bulk_write_callback()
991 msg.rm_datalen = htole32(m->m_pkthdr.len); in urndis_bulk_write_callback()
994 usbd_copy_in(pc, 0, &msg, sizeof(msg)); in urndis_bulk_write_callback()
995 usbd_m_copy_in(pc, sizeof(msg), m, 0, m->m_pkthdr.len); in urndis_bulk_write_callback()
996 usbd_xfer_set_frame_len(xfer, x, sizeof(msg) + m->m_pkthdr.len); in urndis_bulk_write_callback()