<?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___c_d_c___a_p_i___t" kind="struct" language="C++" prot="public">
    <compoundname>USBD_CDC_API_T</compoundname>
    <includes refid="mw__usbd__cdcuser_8h" local="no">mw_usbd/mw_usbd_cdcuser.h</includes>
      <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="struct_u_s_b_d___c_d_c___a_p_i___t_1a12bbadd1b283b48ce09819fd07f0ae73" prot="public" static="no" mutable="no">
        <type>uint32_t(*</type>
        <definition>uint32_t USBD_CDC_API_T::GetMemSize</definition>
        <argsstring>)(USBD_CDC_INIT_PARAM_T *param)</argsstring>
        <name>GetMemSize</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function to determine the memory required by the CDC function driver module.</para><para>This function is called by application layer before calling pUsbApi-&gt;CDC-&gt;Init(), to allocate memory used by CDC 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 CDC 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_cdcuser.h" line="401" column="1" bodyfile="mw_usbd/mw_usbd_cdcuser.h" bodystart="401" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="struct_u_s_b_d___c_d_c___a_p_i___t_1a226378819e5b85e2b5d81ba8fd1a7be2" prot="public" static="no" mutable="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>ErrorCode_t USBD_CDC_API_T::init</definition>
        <argsstring>)(USBD_HANDLE_T hUsb, USBD_CDC_INIT_PARAM_T *param, USBD_HANDLE_T *phCDC)</argsstring>
        <name>init</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function to initialize CDC function driver module.</para><para>This function is called by application layer to initialize CDC function driver module.</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 CDC 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 CDC_Write() or CDC_Read() or CDC_Verify() callbacks are not defined. </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_cdcuser.h" line="419" column="1" bodyfile="mw_usbd/mw_usbd_cdcuser.h" bodystart="419" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="struct_u_s_b_d___c_d_c___a_p_i___t_1a946674150d65c2d17afe885fd6bd3c49" prot="public" static="no" mutable="no">
        <type><ref refid="error_8h_1a905255056c349318139d94aa4523d516" kindref="member">ErrorCode_t</ref>(*</type>
        <definition>ErrorCode_t USBD_CDC_API_T::SendNotification</definition>
        <argsstring>)(USBD_HANDLE_T hCdc, uint8_t bNotification, uint16_t data)</argsstring>
        <name>SendNotification</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function to send CDC class notifications to host.</para><para>This function is called by application layer to send CDC class notifications to host. See usbcdc11.pdf, section 6.3, Table 67 for various notification types the CDC device can send. <simplesect kind="note"><para>The current version of the driver only supports following notifications allowed by ACM subclass: CDC_NOTIFICATION_NETWORK_CONNECTION, CDC_RESPONSE_AVAILABLE, CDC_NOTIFICATION_SERIAL_STATE. <linebreak/>
For all other notifications application should construct the notification buffer appropriately and call hw-&gt;USB_WriteEP() for interrupt endpoint associated with the interface.</para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hCdc</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle to CDC function driver. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">bNotification</parametername>
</parameternamelist>
<parameterdescription>
<para>Notification type allowed by ACM subclass. Should be CDC_NOTIFICATION_NETWORK_CONNECTION, CDC_RESPONSE_AVAILABLE or CDC_NOTIFICATION_SERIAL_STATE. For all other types ERR_API_INVALID_PARAM2 is returned. See usbcdc11.pdf, section 3.6.2.1, table 5. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">data</parametername>
</parameternamelist>
<parameterdescription>
<para>Data associated with notification. <linebreak/>
 For CDC_NOTIFICATION_NETWORK_CONNECTION a non-zero data value is interpreted as connected state. <linebreak/>
 For CDC_RESPONSE_AVAILABLE this parameter is ignored. <linebreak/>
 For CDC_NOTIFICATION_SERIAL_STATE the data should use bitmap values defined in usbcdc11.pdf, section 6.3.5, Table 69. </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_API_INVALID_PARAM2</parametername>
</parameternamelist>
<parameterdescription>
<para>If unsupported notification type is passed. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="mw_usbd/mw_usbd_cdcuser.h" line="446" column="1" bodyfile="mw_usbd/mw_usbd_cdcuser.h" bodystart="446" bodyend="-1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>CDC class API functions structure.</para><para>This module exposes functions which interact directly with USB device controller hardware. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="mw_usbd/mw_usbd_cdcuser.h" line="389" column="1" bodyfile="mw_usbd/mw_usbd_cdcuser.h" bodystart="389" bodyend="448"/>
    <listofallmembers>
      <member refid="struct_u_s_b_d___c_d_c___a_p_i___t_1a12bbadd1b283b48ce09819fd07f0ae73" prot="public" virt="non-virtual"><scope>USBD_CDC_API_T</scope><name>GetMemSize</name></member>
      <member refid="struct_u_s_b_d___c_d_c___a_p_i___t_1a226378819e5b85e2b5d81ba8fd1a7be2" prot="public" virt="non-virtual"><scope>USBD_CDC_API_T</scope><name>init</name></member>
      <member refid="struct_u_s_b_d___c_d_c___a_p_i___t_1a946674150d65c2d17afe885fd6bd3c49" prot="public" virt="non-virtual"><scope>USBD_CDC_API_T</scope><name>SendNotification</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
