# A function named "usb\_control\_msg"

**URL:** <https://www.ruby-forum.com/t/a-function-named-usb-control-msg/214346>\
**Category:** GNU Radio\
**Created:** [November 29, 2011, 3:04pm UTC](https://www.ruby-forum.com/t/a-function-named-usb-control-msg/214346 "2011-11-29T15:04:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [November 29, 2011, 3:04pm UTC](https://www.ruby-forum.com/t/a-function-named-usb-control-msg/214346/1 "2011-11-29T15:04:53Z")

</div>

Dear everyone:  
You see in usrp\_basic.h there is a function named \_write\_9862()  
and it uses function usrp\_9862\_write(),defined in usrp\_prims\_common.h.  
And usrp\_9862\_write() uses function usrp\_spi\_write(), also defined in  
usrp\_prims\_common.h.  
usrp\_spi\_write() uses function write\_cmd(), defined in  
usrp\_prims\_libusb0.c and usrp\_prims\_libusb1.c.  
In usrp\_prims\_libusb0.c write\_cmd() uses a function named  
usb\_control\_msg(). But I can not find where usb\_control\_msg() is. Can  
anyone tell me where it is???

---

<div class="post-metadata">

**Author:** ![signalswdm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f14d63/32.png) [@signalswdm](https://www.ruby-forum.com/u/signalswdm)\
**Post date:** [November 29, 2011, 3:12pm UTC](https://www.ruby-forum.com/t/a-function-named-usb-control-msg/214346/2 "2011-11-29T15:12:58Z")

</div>

2011/11/29 signalswdm [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Dear everyone:  
> You see in usrp\_basic.h there is a function named \_write\_9862() and  
> ituses functionusrp\_9862\_write(),defined in usrp\_prims\_common.h. And  
> usrp\_9862\_write() uses function usrp\_spi\_write(), alsodefined in  
> usrp\_prims\_common.h.  
> usrp\_spi\_write() uses function write\_cmd(), defined in usrp\_prims\_libusb0.c  
> and usrp\_prims\_libusb1.c.  
> In usrp\_prims\_libusb0.c write\_cmd() uses a function named  
> usb\_control\_msg(). But I can not find where usb\_control\_msg() is. Can anyone  
> tell me where it is???

libusb:

```
http://libusb.sourceforge.net/doc/function.usbcontrolmsg.html

```

Brian

---

<div class="post-metadata">

**Author:** ![signalswdm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f14d63/32.png) [@signalswdm](https://www.ruby-forum.com/u/signalswdm)\
**Post date:** [November 29, 2011, 3:17pm UTC](https://www.ruby-forum.com/t/a-function-named-usb-control-msg/214346/3 "2011-11-29T15:17:18Z")

</div>

2011/11/29 signalswdm [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Dear everyone:  
> You see in usrp\_basic.h there is a function named \_write\_9862() and  
> ituses functionusrp\_9862\_write(),defined in usrp\_prims\_common.h. And  
> usrp\_9862\_write() uses function usrp\_spi\_write(), alsodefined in  
> usrp\_prims\_common.h.  
> usrp\_spi\_write() uses function write\_cmd(), defined in usrp\_prims\_libusb0.c  
> and usrp\_prims\_libusb1.c.  
> In usrp\_prims\_libusb0.c write\_cmd() uses a function named  
> usb\_control\_msg(). But I can not find where usb\_control\_msg() is. Can anyone  
> tell me where it is???

It’s part of the legacy API for libusb-0.1.

[http://libusb.sourceforge.net/doc/function.usbcontrolmsg.html](http://libusb.sourceforge.net/doc/function.usbcontrolmsg.html)

Thomas
