<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile doxygen_version="1.9.4">
  <compound kind="file">
    <name>libusb.h</name>
    <path>/build/_osmocom_api/libosmocore/include/osmocom/usb/</path>
    <filename>libusb_8h.html</filename>
    <includes id="libusb_8h" name="libusb.h" local="no" imported="no">libusb.h</includes>
    <class kind="struct">dev_id</class>
    <class kind="struct">usb_interface_match</class>
    <class kind="struct">osmo_usb_matchspec</class>
    <member kind="define">
      <type>#define</type>
      <name>USB_MAX_PATH_LEN</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>ace4db40d646bf954f229286b6068004d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>osmo_libusb_dev_get_path_buf</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>ab6ead842c31727b4b18fdec0bbb51859</anchor>
      <arglist>(char *buf, size_t bufsize, libusb_device *dev)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>osmo_libusb_dev_get_path_c</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a512a5c350451c126b102688db544b3be</anchor>
      <arglist>(void *ctx, libusb_device *dev)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device **</type>
      <name>osmo_libusb_find_matching_usb_devs</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a969904dd21ee208e52cd57d888d1dc26</anchor>
      <arglist>(void *ctx, struct libusb_context *luctx, const struct dev_id *dev_ids)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device *</type>
      <name>osmo_libusb_find_matching_dev_path</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a66d1b36c3872e438f324928b6b548a0e</anchor>
      <arglist>(struct libusb_context *luctx, const struct dev_id *dev_ids, const char *path)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device *</type>
      <name>osmo_libusb_find_matching_dev_serial</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>aa430b3fcc238c75f0e7609bba41e3d9f</anchor>
      <arglist>(struct libusb_context *luctx, const struct dev_id *dev_ids, const char *serial)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_dev_find_matching_interfaces</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>ad5e551fd22b270a4f306bd6c86b9f765</anchor>
      <arglist>(libusb_device *dev, int class, int sub_class, int protocol, struct usb_interface_match *out, unsigned int out_len)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_find_matching_interfaces</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>ac6b4f492edd7f4c2c93c3734257ddfde</anchor>
      <arglist>(libusb_context *luctx, const struct dev_id *dev_ids, int class, int sub_class, int protocol, struct usb_interface_match *out, unsigned int out_len)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device_handle *</type>
      <name>osmo_libusb_open_claim_interface</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a144b6c3d06ba2f828d38a797efdd8020</anchor>
      <arglist>(void *ctx, libusb_context *luctx, const struct usb_interface_match *ifm)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>osmo_libusb_match_init</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a4f2cb47d98039ef05e9a72a267fee0d0</anchor>
      <arglist>(struct osmo_usb_matchspec *cfg, int if_class, int if_subclass, int if_proto)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device_handle *</type>
      <name>osmo_libusb_find_open_claim</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a3a970c6d7589d64a4a02b1009ea3569d</anchor>
      <arglist>(const struct osmo_usb_matchspec *cfg, const struct dev_id *default_dev_ids)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_get_ep_addrs</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a467420e58a70f4f99d19e668e3a542ca</anchor>
      <arglist>(libusb_device_handle *devh, unsigned int if_num, uint8_t *out, uint8_t *in, uint8_t *irq)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_init</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a8ff3bec473a8f2d92644ae4661ad9cfe</anchor>
      <arglist>(libusb_context **luctx)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>osmo_libusb_exit</name>
      <anchorfile>libusb_8h.html</anchorfile>
      <anchor>a8c0e7fa643285efee2c86e198b944457</anchor>
      <arglist>(libusb_context *luctx)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>osmo_libusb.c</name>
    <path>/build/_osmocom_api/libosmocore/src/usb/</path>
    <filename>osmo__libusb_8c.html</filename>
    <includes id="libusb_8h" name="libusb.h" local="no" imported="no">libusb.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>DLUSB</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a00ba013717621985a2ddbecbd00919dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>osmo_usb_fd_cb</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>ab9f7757f421dc8ee31a544d155acd400</anchor>
      <arglist>(struct osmo_fd *ofd, unsigned int what)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>osmo_usb_added_cb</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a115ba19ed387a79d8e8579b34b44d754</anchor>
      <arglist>(int fd, short events, void *user_data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>osmo_usb_removed_cb</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>aaa3d4e56f197ad8672466b9eed12b279</anchor>
      <arglist>(int fd, void *user_data)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>osmo_libusb_dev_get_path_buf</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>ab6ead842c31727b4b18fdec0bbb51859</anchor>
      <arglist>(char *buf, size_t bufsize, libusb_device *dev)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>osmo_libusb_dev_get_path_c</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a512a5c350451c126b102688db544b3be</anchor>
      <arglist>(void *ctx, libusb_device *dev)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>match_dev_id</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a1a28ac79d9e4f2e115ceffc431a17dc4</anchor>
      <arglist>(const struct libusb_device_descriptor *desc, const struct dev_id *id)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>match_dev_ids</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a4bd2cb6e8456b9095e9ac63febc7163e</anchor>
      <arglist>(const struct libusb_device_descriptor *desc, const struct dev_id *ids)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device **</type>
      <name>osmo_libusb_find_matching_usb_devs</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a969904dd21ee208e52cd57d888d1dc26</anchor>
      <arglist>(void *ctx, struct libusb_context *luctx, const struct dev_id *dev_ids)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device *</type>
      <name>osmo_libusb_find_matching_dev_path</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a66d1b36c3872e438f324928b6b548a0e</anchor>
      <arglist>(struct libusb_context *luctx, const struct dev_id *dev_ids, const char *path)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device *</type>
      <name>osmo_libusb_find_matching_dev_serial</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>aa430b3fcc238c75f0e7609bba41e3d9f</anchor>
      <arglist>(struct libusb_context *luctx, const struct dev_id *dev_ids, const char *serial)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_dev_find_matching_interfaces</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>ad5e551fd22b270a4f306bd6c86b9f765</anchor>
      <arglist>(libusb_device *dev, int class, int sub_class, int protocol, struct usb_interface_match *out, unsigned int out_len)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_find_matching_interfaces</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>ac6b4f492edd7f4c2c93c3734257ddfde</anchor>
      <arglist>(libusb_context *luctx, const struct dev_id *dev_ids, int class, int sub_class, int protocol, struct usb_interface_match *out, unsigned int out_len)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device_handle *</type>
      <name>osmo_libusb_open_claim_interface</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a144b6c3d06ba2f828d38a797efdd8020</anchor>
      <arglist>(void *ctx, libusb_context *luctx, const struct usb_interface_match *ifm)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>osmo_libusb_match_init</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a4f2cb47d98039ef05e9a72a267fee0d0</anchor>
      <arglist>(struct osmo_usb_matchspec *cfg, int if_class, int if_subclass, int if_proto)</arglist>
    </member>
    <member kind="function">
      <type>libusb_device_handle *</type>
      <name>osmo_libusb_find_open_claim</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a3a970c6d7589d64a4a02b1009ea3569d</anchor>
      <arglist>(const struct osmo_usb_matchspec *cfg, const struct dev_id *default_dev_ids)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_get_ep_addrs</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a467420e58a70f4f99d19e668e3a542ca</anchor>
      <arglist>(libusb_device_handle *devh, unsigned int if_num, uint8_t *out, uint8_t *in, uint8_t *irq)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>osmo_libusb_init</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a79bdc810cd2141c14b974b6cd0529a84</anchor>
      <arglist>(libusb_context **pluctx)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>osmo_libusb_exit</name>
      <anchorfile>osmo__libusb_8c.html</anchorfile>
      <anchor>a8c0e7fa643285efee2c86e198b944457</anchor>
      <arglist>(libusb_context *luctx)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>dev_id</name>
    <filename>structdev__id.html</filename>
    <member kind="variable">
      <type>uint16_t</type>
      <name>vendor_id</name>
      <anchorfile>structdev__id.html</anchorfile>
      <anchor>a67a1757b963c9856155812d45629e8ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>product_id</name>
      <anchorfile>structdev__id.html</anchorfile>
      <anchor>a58b6e788c3740eb0a1b6e5b5c73fab10</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>osmo_usb_matchspec</name>
    <filename>structosmo__usb__matchspec.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>vendor_id</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a29a840d46ed1ed5ac2c2da56dad1ae44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>product_id</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a91fa6ce8d9605bf02c1d380b102c9630</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>path</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a13058fa29555db23fc3f2d350ee9cc4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct osmo_usb_matchspec::@0</type>
      <name>dev</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a21a02d5576f7678045eb9d781403ac48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>config_id</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a335963b17d2bd5fa46677d17e584b884</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>class</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>af7903ecabffc7528e6b5f0d1d123f5cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>subclass</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>aba7603637392d6460eab9cf7aacd6ed9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>proto</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>aef99491ab86647510ee0c065776fd2ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>num</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a5de41814df545e139dee64659dc28f53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>altsetting</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a143b0dc4a4c53ccfc6d784356c3355c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct osmo_usb_matchspec::@1</type>
      <name>intf</name>
      <anchorfile>structosmo__usb__matchspec.html</anchorfile>
      <anchor>a17419545f259fe3fef3bac92aac6bcc5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>usb_interface_match</name>
    <filename>structusb__interface__match.html</filename>
    <member kind="variable">
      <type>libusb_device *</type>
      <name>usb_dev</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>ad31683a5f07fb9a92923d61ba9712c5a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>vendor</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a7c1d02b4ecc80f1bb14c6d078c81bc2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>product</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a037d575645450d93330e5e1d994fb0b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>addr</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>ae45d2b65d8619a619874741ed778ca86</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char</type>
      <name>path</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>aa61d0435de4d36125b262d47cd722fcb</anchor>
      <arglist>[USB_MAX_PATH_LEN]</arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>configuration</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>af8259293e90b23c84d6539d58de9c409</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>interface</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>ad8f9bdf6aff5c2b9e58aca10817b8c2c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>altsetting</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a26f2cdc0e269c018f7a8ba9fae8473bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>class</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a3b0bc81c47841021b2109d9c11f682a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>sub_class</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a509d5da47b44796730bf6ee552778a81</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>protocol</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>a97efdc3efad62cb72025e7d1aa5cdd39</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>string_idx</name>
      <anchorfile>structusb__interface__match.html</anchorfile>
      <anchor>af9769dd7fe4f9c19899bca6a79310c74</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
