<?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="struct_u_s_b_d___h_i_d___a_p_i___t" kind="struct" language="C++" prot="public">
    <compoundname>USBD_HID_API_T</compoundname>
    <includes refid="mw__usbd__hiduser_8h" local="no">mw_usbd/mw_usbd_hiduser.h</includes>
      <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="struct_u_s_b_d___h_i_d___a_p_i___t_1a876a04f27441acaff5c04b2e4ec4f4e0" prot="public" static="no" mutable="no">
        <type>uint32_t(*</type>
        <definition>uint32_t USBD_HID_API_T::GetMemSize</definition>
        <argsstring>)(USBD_HID_INIT_PARAM_T *param)</argsstring>
        <name>GetMemSize</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function to determine the memory required by the HID function driver module.</para><para>This function is called by application layer before calling pUsbApi-&gt;hid-&gt;Init(), to allocate memory used by HID function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller. <simplesect kind="note"><para>Some memory areas are not accessible by all bus masters.</para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">param</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing HID function driver module initialization parameters. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Returns the required memory size in bytes. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_hiduser.h" line="357" column="1" bodyfile="mw_usbd/mw_usbd_hiduser.h" bodystart="357" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="struct_u_s_b_d___h_i_d___a_p_i___t_1a594d3014a9e4a33dfe23e53b6c383a2c" prot="public" static="no" mutable="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>ErrorCode_t USBD_HID_API_T::init</definition>
        <argsstring>)(USBD_HANDLE_T hUsb, USBD_HID_INIT_PARAM_T *param)</argsstring>
        <name>init</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function to initialize HID function driver module.</para><para>This function is called by application layer to initialize HID function driver module. On successful initialization the function returns a handle to HID function driver module in passed param structure.</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="inout">param</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing HID function driver module initialization parameters. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>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_BAD_MEM_BUF</parametername>
</parameternamelist>
<parameterdescription>
<para>Memory buffer passed is not 4-byte aligned or smaller than required. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_API_INVALID_PARAM2</parametername>
</parameternamelist>
<parameterdescription>
<para>Either HID_GetReport() or HID_SetReport() callback are not defined. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_BAD_DESC</parametername>
</parameternamelist>
<parameterdescription>
<para>HID_HID_DESCRIPTOR_TYPE is not defined immediately after interface descriptor. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_BAD_INTF_DESC</parametername>
</parameternamelist>
<parameterdescription>
<para>Wrong interface descriptor is passed. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ERR_USBD_BAD_EP_DESC</parametername>
</parameternamelist>
<parameterdescription>
<para>Wrong endpoint descriptor is passed. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_hiduser.h" line="380" column="1" bodyfile="mw_usbd/mw_usbd_hiduser.h" bodystart="380" bodyend="-1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>HID class API functions structure.</para><para>This structure contains pointers to all the function exposed by HID function driver module. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="mw_usbd/mw_usbd_hiduser.h" line="345" column="1" bodyfile="mw_usbd/mw_usbd_hiduser.h" bodystart="345" bodyend="382"/>
    <listofallmembers>
      <member refid="struct_u_s_b_d___h_i_d___a_p_i___t_1a876a04f27441acaff5c04b2e4ec4f4e0" prot="public" virt="non-virtual"><scope>USBD_HID_API_T</scope><name>GetMemSize</name></member>
      <member refid="struct_u_s_b_d___h_i_d___a_p_i___t_1a594d3014a9e4a33dfe23e53b6c383a2c" prot="public" virt="non-virtual"><scope>USBD_HID_API_T</scope><name>init</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
