• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/usb/net/

Lines Matching refs:msg

83 		    struct rndis_query_req *msg, uint16_t len,
86 struct rndis_set_req *msg, uint16_t len);
230 } msg;
285 memset(msg.ibuf.eaddr, 0, sizeof(msg.ibuf.eaddr));
288 &msg.hdr.query, sizeof(msg.hdr.query) + sizeof(msg.ibuf.eaddr),
304 msg.ibuf.filter = htole32(sc->sc_filter);
307 &msg.hdr.set, sizeof(msg.hdr.set) + sizeof(msg.ibuf.filter));
534 const struct rndis_init_comp *msg;
536 msg = (const struct rndis_init_comp *)hdr;
541 le32toh(msg->rm_len),
542 le32toh(msg->rm_rid),
543 le32toh(msg->rm_status),
544 le32toh(msg->rm_ver_major),
545 le32toh(msg->rm_ver_minor),
546 le32toh(msg->rm_devflags),
547 le32toh(msg->rm_medium),
548 le32toh(msg->rm_pktmaxcnt),
549 le32toh(msg->rm_pktmaxsz),
550 le32toh(msg->rm_align),
551 le32toh(msg->rm_aflistoffset),
552 le32toh(msg->rm_aflistsz));
554 if (le32toh(msg->rm_status) != RNDIS_STATUS_SUCCESS) {
555 DPRINTF("init failed 0x%x\n", le32toh(msg->rm_status));
556 return (le32toh(msg->rm_status));
558 if (le32toh(msg->rm_devflags) != RNDIS_DF_CONNECTIONLESS) {
560 le32toh(msg->rm_devflags));
563 if (le32toh(msg->rm_medium) != RNDIS_MEDIUM_802_3) {
565 le32toh(msg->rm_medium));
568 sc->sc_lim_pktsz = le32toh(msg->rm_pktmaxsz);
570 return (le32toh(msg->rm_status));
577 const struct rndis_query_comp *msg;
580 msg = (const struct rndis_query_comp *)hdr;
584 le32toh(msg->rm_len),
585 le32toh(msg->rm_rid),
586 le32toh(msg->rm_status),
587 le32toh(msg->rm_infobuflen),
588 le32toh(msg->rm_infobufoffset));
592 if (le32toh(msg->rm_status) != RNDIS_STATUS_SUCCESS) {
593 DPRINTF("query failed 0x%x\n", le32toh(msg->rm_status));
594 return (le32toh(msg->rm_status));
596 limit = le32toh(msg->rm_infobuflen);
597 limit += le32toh(msg->rm_infobufoffset);
600 if (limit > (uint64_t)le32toh(msg->rm_len)) {
604 le32toh(msg->rm_infobuflen),
605 le32toh(msg->rm_infobufoffset),
606 le32toh(msg->rm_infobuflen) +
607 le32toh(msg->rm_infobufoffset) + RNDIS_HEADER_OFFSET,
608 le32toh(msg->rm_len));
611 *buf = ((const uint8_t *)msg) + RNDIS_HEADER_OFFSET +
612 le32toh(msg->rm_infobufoffset);
613 *bufsz = le32toh(msg->rm_infobuflen);
615 return (le32toh(msg->rm_status));
622 const struct rndis_reset_comp *msg;
625 msg = (const struct rndis_reset_comp *)hdr;
627 rval = le32toh(msg->rm_status);
631 le32toh(msg->rm_len),
633 le32toh(msg->rm_adrreset));
639 if (msg->rm_adrreset != 0) {
661 struct rndis_init_req msg;
665 msg.rm_type = htole32(REMOTE_NDIS_INITIALIZE_MSG);
666 msg.rm_len = htole32(sizeof(msg));
667 msg.rm_rid = 0;
668 msg.rm_ver_major = htole32(RNDIS_VERSION_MAJOR);
669 msg.rm_ver_minor = htole32(1);
670 msg.rm_max_xfersz = htole32(RNDIS_RX_MAXLEN);
674 le32toh(msg.rm_type),
675 le32toh(msg.rm_len),
676 le32toh(msg.rm_rid),
677 le32toh(msg.rm_ver_major),
678 le32toh(msg.rm_ver_minor),
679 le32toh(msg.rm_max_xfersz));
681 rval = urndis_ctrl_send(sc, &msg, sizeof(msg));
699 struct rndis_halt_req msg;
702 msg.rm_type = htole32(REMOTE_NDIS_HALT_MSG);
703 msg.rm_len = htole32(sizeof(msg));
704 msg.rm_rid = 0;
707 le32toh(msg.rm_type),
708 le32toh(msg.rm_len),
709 le32toh(msg.rm_rid));
711 rval = urndis_ctrl_send(sc, &msg, sizeof(msg));
725 struct rndis_query_req *msg, uint16_t len, const void **rbuf,
731 msg->rm_type = htole32(REMOTE_NDIS_QUERY_MSG);
732 msg->rm_len = htole32(len);
733 msg->rm_rid = 0; /* XXX */
734 msg->rm_oid = htole32(oid);
735 datalen = len - sizeof(*msg);
736 msg->rm_infobuflen = htole32(datalen);
738 msg->rm_infobufoffset = htole32(sizeof(*msg) -
741 msg->rm_infobufoffset = 0;
743 msg->rm_devicevchdl = 0;
747 le32toh(msg->rm_type),
748 le32toh(msg->rm_len),
749 le32toh(msg->rm_rid),
750 le32toh(msg->rm_oid),
751 le32toh(msg->rm_infobuflen),
752 le32toh(msg->rm_infobufoffset),
753 le32toh(msg->rm_devicevchdl));
755 rval = urndis_ctrl_send(sc, msg, len);
772 struct rndis_set_req *msg, uint16_t len)
777 msg->rm_type = htole32(REMOTE_NDIS_SET_MSG);
778 msg->rm_len = htole32(len);
779 msg->rm_rid = 0; /* XXX */
780 msg->rm_oid = htole32(oid);
781 datalen = len - sizeof(*msg);
782 msg->rm_infobuflen = htole32(datalen);
784 msg->rm_infobufoffset = htole32(sizeof(*msg) -
787 msg->rm_infobufoffset = 0;
789 msg->rm_devicevchdl = 0;
793 le32toh(msg->rm_type),
794 le32toh(msg->rm_len),
795 le32toh(msg->rm_rid),
796 le32toh(msg->rm_oid),
797 le32toh(msg->rm_infobuflen),
798 le32toh(msg->rm_infobufoffset),
799 le32toh(msg->rm_devicevchdl));
801 rval = urndis_ctrl_send(sc, msg, len);
824 struct rndis_packet_msg msg;
836 for (offset = 0; actlen >= (uint32_t)sizeof(msg);) {
838 usbd_copy_out(pc, offset, &msg, sizeof(msg));
842 msg.rm_type = le32toh(msg.rm_type);
843 msg.rm_len = le32toh(msg.rm_len);
844 msg.rm_dataoffset = le32toh(msg.rm_dataoffset);
845 msg.rm_datalen = le32toh(msg.rm_datalen);
846 msg.rm_oobdataoffset = le32toh(msg.rm_oobdataoffset);
847 msg.rm_oobdatalen = le32toh(msg.rm_oobdatalen);
848 msg.rm_oobdataelements = le32toh(msg.rm_oobdataelements);
849 msg.rm_pktinfooffset = le32toh(msg.rm_pktinfooffset);
850 msg.rm_pktinfolen = le32toh(msg.rm_pktinfolen);
851 msg.rm_vchandle = le32toh(msg.rm_vchandle);
852 msg.rm_reserved = le32toh(msg.rm_reserved);
857 msg.rm_len, msg.rm_dataoffset, msg.rm_datalen,
858 msg.rm_oobdataoffset, msg.rm_oobdatalen,
859 msg.rm_oobdataelements, msg.rm_pktinfooffset,
860 msg.rm_pktinfooffset);
863 if (msg.rm_type != REMOTE_NDIS_PACKET_MSG) {
865 msg.rm_type, REMOTE_NDIS_PACKET_MSG);
867 } else if (msg.rm_len < (uint32_t)sizeof(msg)) {
868 DPRINTF("invalid msg len %u < %u\n",
869 msg.rm_len, (unsigned)sizeof(msg));
871 } else if (msg.rm_len > (uint32_t)actlen) {
872 DPRINTF("invalid msg len %u > buffer "
873 "len %u\n", msg.rm_len, actlen);
875 } else if (msg.rm_dataoffset >= (uint32_t)actlen) {
876 DPRINTF("invalid msg dataoffset %u > buffer "
877 "dataoffset %u\n", msg.rm_dataoffset, actlen);
879 } else if (msg.rm_datalen > (uint32_t)actlen) {
880 DPRINTF("invalid msg datalen %u > buffer "
881 "datalen %u\n", msg.rm_datalen, actlen);
883 } else if ((msg.rm_dataoffset + msg.rm_datalen +
887 msg.rm_dataoffset + msg.rm_datalen +
891 } else if (msg.rm_datalen < (uint32_t)sizeof(struct ether_header)) {
894 "%u < %u\n", msg.rm_datalen, (unsigned)sizeof(struct ether_header));
896 } else if (msg.rm_datalen > (uint32_t)(MCLBYTES - ETHER_ALIGN)) {
900 msg.rm_datalen, (unsigned)MCLBYTES);
902 } else if (msg.rm_datalen > (uint32_t)(MHLEN - ETHER_ALIGN)) {
910 m->m_len = m->m_pkthdr.len = msg.rm_datalen + ETHER_ALIGN;
913 usbd_copy_out(pc, offset + msg.rm_dataoffset +
915 rm_dataoffset), m->m_data, msg.rm_datalen);
918 uether_rxmbuf(&sc->sc_ue, m, msg.rm_datalen);
922 offset += msg.rm_len;
923 actlen -= msg.rm_len;
950 struct rndis_packet_msg msg;
971 memset(&msg, 0, sizeof(msg));
984 if ((m->m_pkthdr.len + sizeof(msg)) > RNDIS_TX_MAXLEN) {
992 msg.rm_type = htole32(REMOTE_NDIS_PACKET_MSG);
993 msg.rm_len = htole32(sizeof(msg) + m->m_pkthdr.len);
995 msg.rm_dataoffset = htole32(RNDIS_DATA_OFFSET);
996 msg.rm_datalen = htole32(m->m_pkthdr.len);
999 usbd_copy_in(pc, 0, &msg, sizeof(msg));
1000 usbd_m_copy_in(pc, sizeof(msg), m, 0, m->m_pkthdr.len);
1001 usbd_xfer_set_frame_len(xfer, x, sizeof(msg) + m->m_pkthdr.len);