<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.13">
  <compounddef id="mw__usbd__core_8h" kind="file" language="C++">
    <compoundname>mw_usbd_core.h</compoundname>
    <includes refid="error_8h" local="yes">error.h</includes>
    <includes refid="mw__usbd_8h" local="yes">mw_usbd.h</includes>
    <includes refid="usbd__cfg_8h" local="yes">usbd_cfg.h</includes>
    <includedby refid="mw__usbd__dfuuser_8h" local="yes">mw_usbd/mw_usbd_dfuuser.h</includedby>
    <includedby refid="mw__usbd__hiduser_8h" local="yes">mw_usbd/mw_usbd_hiduser.h</includedby>
    <includedby refid="mw__usbd__hw_8h" local="yes">mw_usbd/mw_usbd_hw.h</includedby>
    <includedby refid="mw__usbd__mscuser_8h" local="yes">mw_usbd/mw_usbd_mscuser.h</includedby>
    <includedby refid="mw__usbd__rom__api_8h" local="yes">mw_usbd/mw_usbd_rom_api.h</includedby>
    <incdepgraph>
      <node id="71">
        <label>stdint.h</label>
      </node>
      <node id="68">
        <label>mw_usbd/mw_usbd_core.h</label>
        <link refid="mw__usbd__core_8h"/>
        <childnode refid="69" relation="include">
        </childnode>
        <childnode refid="70" relation="include">
        </childnode>
        <childnode refid="72" relation="include">
        </childnode>
      </node>
      <node id="69">
        <label>error.h</label>
        <link refid="error_8h"/>
      </node>
      <node id="72">
        <label>usbd_cfg.h</label>
        <link refid="usbd__cfg_8h_source"/>
      </node>
      <node id="70">
        <label>mw_usbd.h</label>
        <link refid="mw__usbd_8h"/>
        <childnode refid="71" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="73">
        <label>mw_usbd/mw_usbd_core.h</label>
        <link refid="mw__usbd__core_8h"/>
        <childnode refid="74" relation="include">
        </childnode>
        <childnode refid="76" relation="include">
        </childnode>
        <childnode refid="77" relation="include">
        </childnode>
        <childnode refid="78" relation="include">
        </childnode>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
      <node id="78">
        <label>mw_usbd/mw_usbd_mscuser.h</label>
        <link refid="mw__usbd__mscuser_8h"/>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
      <node id="76">
        <label>mw_usbd/mw_usbd_hiduser.h</label>
        <link refid="mw__usbd__hiduser_8h"/>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
      <node id="74">
        <label>mw_usbd/mw_usbd_dfuuser.h</label>
        <link refid="mw__usbd__dfuuser_8h"/>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
      <node id="75">
        <label>mw_usbd/mw_usbd_rom_api.h</label>
        <link refid="mw__usbd__rom__api_8h"/>
      </node>
      <node id="77">
        <label>mw_usbd/mw_usbd_hw.h</label>
        <link refid="mw__usbd__hw_8h"/>
        <childnode refid="75" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="struct_u_s_b___c_o_r_e___d_e_s_c_s___t" prot="public">USB_CORE_DESCS_T</innerclass>
    <innerclass refid="struct_u_s_b_d___a_p_i___i_n_i_t___p_a_r_a_m___t" prot="public">USBD_API_INIT_PARAM_T</innerclass>
    <innerclass refid="struct_u_s_b_d___c_o_r_e___a_p_i___t" prot="public">USBD_CORE_API_T</innerclass>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="group___u_s_b_d___core_1ga0404ce046312aa5c798cc4a05c417e46" prot="public" static="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>USB_CB_T</definition>
        <argsstring>)(USBD_HANDLE_T hUsb)</argsstring>
        <name>USB_CB_T</name>
        <briefdescription>
<para>USB device stack&apos;s event callback function type. </para>        </briefdescription>
        <detaileddescription>
<para>The USB device stack exposes several event triggers through callback to application layer. The application layer can register methods to be called when such USB event happens.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hUsb</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle to the USB device stack. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The call back should returns <ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref> type to indicate success or error condition. </para></simplesect>
<parameterlist kind="retval"><parameteritem>
<parameternamelist>
<parametername>LPC_OK</parametername>
</parameternamelist>
<parameterdescription>
<para>On success </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_UNHANDLED</parametername>
</parameternamelist>
<parameterdescription>
<para>Event is not handled hence pass the event to next in line. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_xxx</parametername>
</parameternamelist>
<parameterdescription>
<para>Other error conditions. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_core.h" line="63" column="1" bodyfile="mw_usbd/mw_usbd_core.h" bodystart="63" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group___u_s_b_d___core_1ga7df622c61ebb152b83dd5972ac789b28" prot="public" static="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>USB_PARAM_CB_T</definition>
        <argsstring>)(USBD_HANDLE_T hUsb, uint32_t param1)</argsstring>
        <name>USB_PARAM_CB_T</name>
        <briefdescription>
<para>USB device stack&apos;s event callback function type. </para>        </briefdescription>
        <detaileddescription>
<para>The USB device stack exposes several event triggers through callback to application layer. The application layer can register methods to be called when such USB event happens.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hUsb</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle to the USB device stack. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param1</parametername>
</parameternamelist>
<parameterdescription>
<para>Extra information related to the event. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The call back should returns <ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref> type to indicate success or error condition. </para></simplesect>
<parameterlist kind="retval"><parameteritem>
<parameternamelist>
<parametername>LPC_OK</parametername>
</parameternamelist>
<parameterdescription>
<para>On success </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_UNHANDLED</parametername>
</parameternamelist>
<parameterdescription>
<para>Event is not handled hence pass the event to next in line. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_xxx</parametername>
</parameternamelist>
<parameterdescription>
<para>For other error conditions. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_core.h" line="80" column="1" bodyfile="mw_usbd/mw_usbd_core.h" bodystart="80" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group___u_s_b_d___core_1gaa578d29a85226108ef62c6d5c325b742" prot="public" static="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>USB_EP_HANDLER_T</definition>
        <argsstring>)(USBD_HANDLE_T hUsb, void *data, uint32_t event)</argsstring>
        <name>USB_EP_HANDLER_T</name>
        <briefdescription>
<para>USBD setup request and endpoint event handler type. </para>        </briefdescription>
        <detaileddescription>
<para>The application layer should define the custom class&apos;s EP0 handler with function signature. The stack calls all the registered class handlers on any EP0 event before going through default handling of the event. This gives the class handlers to implement class specific request handlers and also to override the default stack handling for a particular event targeted to the interface. If an event is not handled by the callback the function should return ERR_USBD_UNHANDLED. For all other return codes the stack assumes that callback has taken care of the event and hence will not process the event any further and issues a STALL condition on EP0 indicating error to the host. <linebreak/>
For endpoint interrupt handler the return value is ignored by the stack. <linebreak/>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hUsb</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle to the USB device stack. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">data</parametername>
</parameternamelist>
<parameterdescription>
<para>Pointer to the data which will be passed when callback function is called by the stack. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">event</parametername>
</parameternamelist>
<parameterdescription>
<para>Type of endpoint event. See <ref refid="group___u_s_b_d___h_w_1ga61dde6aa35d2912927ef1b185eedaa13" kindref="member">USBD_EVENT_T</ref> for more details. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The call back should returns <ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref> type to indicate success or error condition. </para></simplesect>
<parameterlist kind="retval"><parameteritem>
<parameternamelist>
<parametername>LPC_OK</parametername>
</parameternamelist>
<parameterdescription>
<para>On success. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_UNHANDLED</parametername>
</parameternamelist>
<parameterdescription>
<para>Event is not handled hence pass the event to next in line. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_xxx</parametername>
</parameternamelist>
<parameterdescription>
<para>For other error conditions. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_core.h" line="105" column="1" bodyfile="mw_usbd/mw_usbd_core.h" bodystart="105" bodyend="-1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>ROM API for USB device stack. </para>    </briefdescription>
    <detaileddescription>
<para>Definition of functions exported by core layer of ROM based USB device stack. </para>    </detaileddescription>
    <location file="mw_usbd/mw_usbd_core.h"/>
  </compounddef>
</doxygen>
