]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/westbridge/astoria/include/linux/westbridge/cyanusb.h
Merge tag 'v2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / staging / westbridge / astoria / include / linux / westbridge / cyanusb.h
diff --git a/drivers/staging/westbridge/astoria/include/linux/westbridge/cyanusb.h b/drivers/staging/westbridge/astoria/include/linux/westbridge/cyanusb.h
new file mode 100644 (file)
index 0000000..1e4e7db
--- /dev/null
@@ -0,0 +1,619 @@
+/*  Cypress West Bridge API header file (cyanusb.h)
+ ## Header for backward compatibility with previous Antioch SDK releases.
+## ===========================
+## Copyright (C) 2010  Cypress Semiconductor
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License
+## as published by the Free Software Foundation; either version 2
+## of the License, or (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street
+## Fifth Floor, Boston, MA  02110-1301, USA.
+## ===========================
+*/
+
+#ifndef _INCLUDED_CYANUSB_H_
+#define _INCLUDED_CYANUSB_H_
+
+#if !defined(__doxygen__)
+
+#include "cyanmisc.h"
+#include "cyasusb.h"
+#include "cyas_cplus_start.h"
+
+#define CY_AN_MAX_USB_DESCRIPTOR_SIZE (CY_AS_MAX_USB_DESCRIPTOR_SIZE)
+
+typedef cy_as_usb_inquiry_data_dep cy_an_usb_inquiry_data;
+typedef cy_as_usb_unknown_command_data_dep \
+       cy_an_usb_unknown_command_data;
+typedef cy_as_usb_start_stop_data_dep cy_an_usb_start_stop_data;
+typedef cy_as_m_s_c_progress_data cy_an_m_s_c_progress_data;
+
+#define cy_an_usb_nand_enum cy_as_usb_nand_enum
+#define cy_an_usb_sd_enum cy_as_usb_sd_enum
+#define cy_an_usb_mmc_enum cy_as_usb_mmc_enum
+#define cy_an_usb_ce_ata_enum cy_as_usb_ce_ata_enum
+typedef cy_as_usb_mass_storage_enum cy_an_usb_mass_storage_enum;
+
+#define cy_an_usb_desc_device cy_as_usb_desc_device
+#define cy_an_usb_desc_device_qual cy_as_usb_desc_device_qual
+#define cy_an_usb_desc_f_s_configuration \
+       cy_as_usb_desc_f_s_configuration
+#define cy_an_usb_desc_h_s_configuration \
+       cy_as_usb_desc_h_s_configuration
+#define cy_an_usb_desc_string cy_as_usb_desc_string
+typedef cy_as_usb_desc_type cy_an_usb_desc_type;
+
+#define cy_an_usb_in   cy_as_usb_in
+#define cy_an_usb_out  cy_as_usb_out
+#define cy_an_usb_in_out       cy_as_usb_in_out
+typedef cy_as_usb_end_point_dir cy_an_usb_end_point_dir;
+
+
+#define cy_an_usb_control cy_as_usb_control
+#define cy_an_usb_iso cy_as_usb_iso
+#define cy_an_usb_bulk cy_as_usb_bulk
+#define cy_an_usb_int cy_as_usb_int
+typedef cy_as_usb_end_point_type cy_an_usb_end_point_type;
+
+
+typedef cy_as_usb_enum_control_dep cy_an_usb_enum_control;
+typedef cy_as_usb_end_point_config cy_an_usb_end_point_config;
+
+#define cy_an_usb_m_s_unit0    cy_as_usb_m_s_unit0
+#define cy_an_usb_m_s_unit1    cy_as_usb_m_s_unit1
+#define cy_an_usb_m_s_both cy_as_usb_m_s_both
+typedef cy_as_usb_m_s_type_t cy_an_usb_m_s_type_t;
+
+#define cy_an_event_usb_suspend        cy_as_event_usb_suspend
+#define cy_an_event_usb_resume cy_as_event_usb_resume
+#define cy_an_event_usb_reset cy_as_event_usb_reset
+#define cy_an_event_usb_set_config cy_as_event_usb_set_config
+#define cy_an_event_usb_speed_change cy_as_event_usb_speed_change
+#define cy_an_event_usb_setup_packet cy_as_event_usb_setup_packet
+#define cy_an_event_usb_status_packet cy_as_event_usb_status_packet
+#define cy_an_event_usb_inquiry_before cy_as_event_usb_inquiry_before
+#define cy_an_event_usb_inquiry_after cy_as_event_usb_inquiry_after
+#define cy_an_event_usb_start_stop cy_as_event_usb_start_stop
+#define cy_an_event_usb_unknown_storage        cy_as_event_usb_unknown_storage
+#define cy_an_event_usb_m_s_c_progress cy_as_event_usb_m_s_c_progress
+typedef cy_as_usb_event cy_an_usb_event;
+
+typedef cy_as_usb_event_callback_dep cy_an_usb_event_callback;
+
+typedef cy_as_usb_io_callback cy_an_usb_io_callback;
+typedef cy_as_usb_function_callback cy_an_usb_function_callback;
+
+/******* USB Functions ********************/
+
+/* Sync Usb Start */
+extern cy_an_return_status_t
+cy_an_usb_start(
+       cy_an_device_handle             handle
+       );
+#define cy_an_usb_start(handle) \
+       cy_as_usb_start((cy_as_device_handle)(handle), 0, 0)
+
+/*Async Usb Start */
+extern cy_an_return_status_t
+cy_an_usb_start_e_x(
+       cy_an_device_handle             handle,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_start_e_x(h, cb, client) \
+       cy_as_usb_start((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync Usb Stop */
+extern cy_an_return_status_t
+cy_an_usb_stop(
+       cy_an_device_handle             handle
+       );
+#define cy_an_usb_stop(handle) \
+       cy_as_usb_stop((cy_as_device_handle)(handle), 0, 0)
+
+/*Async Usb Stop */
+extern cy_an_return_status_t
+cy_an_usb_stop_e_x(
+       cy_an_device_handle             handle,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_stop_e_x(h, cb, client) \
+       cy_as_usb_stop((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Register USB event callback */
+EXTERN cy_an_return_status_t
+cy_an_usb_register_callback(
+       cy_an_device_handle             handle,
+       cy_an_usb_event_callback                callback
+       );
+#define cy_an_usb_register_callback(h, cb) \
+       cy_as_usb_register_callback_dep((cy_as_device_handle)(h), \
+       (cy_as_usb_event_callback_dep)(cb))
+
+/*Sync Usb connect */
+EXTERN cy_an_return_status_t
+cy_an_usb_connect(
+       cy_an_device_handle             handle
+       );
+#define cy_an_usb_connect(handle) \
+       cy_as_usb_connect((cy_as_device_handle)(handle), 0, 0)
+
+/*Async Usb connect */
+extern cy_an_return_status_t
+cy_an_usb_connect_e_x(
+       cy_an_device_handle             handle,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_connect_e_x(h, cb, client)           \
+       cy_as_usb_connect((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/*Sync Usb disconnect */
+EXTERN cy_an_return_status_t
+cy_an_usb_disconnect(
+       cy_an_device_handle             handle
+       );
+#define cy_an_usb_disconnect(handle) \
+       cy_as_usb_disconnect((cy_as_device_handle)(handle), 0, 0)
+
+/*Async Usb disconnect */
+extern cy_an_return_status_t
+cy_an_usb_disconnect_e_x(
+       cy_an_device_handle             handle,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_disconnect_e_x(h, cb, client)        \
+       cy_as_usb_disconnect((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync version of set enum config */
+EXTERN cy_an_return_status_t
+cy_an_usb_set_enum_config(
+       cy_an_device_handle     handle,
+       cy_an_usb_enum_control *config_p
+       );
+#define cy_an_usb_set_enum_config(handle, config_p) \
+       cy_as_usb_set_enum_config_dep((cy_as_device_handle)(handle), \
+       (cy_as_usb_enum_control_dep *)(config_p), 0, 0)
+
+/* Async version of set enum config */
+extern cy_an_return_status_t
+cy_an_usb_set_enum_config_e_x(
+       cy_an_device_handle             handle,
+       cy_an_usb_enum_control *config_p,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_set_enum_config_e_x(h, config_p, cb, client) \
+       cy_as_usb_set_enum_config_dep((cy_as_device_handle)(h), \
+       (cy_as_usb_enum_control_dep *)(config_p),        \
+               (cy_as_function_callback)(cb), (client))
+
+/* Sync version of get enum config */
+EXTERN cy_an_return_status_t
+cy_an_usb_get_enum_config(
+       cy_an_device_handle             handle,
+       cy_an_usb_enum_control *config_p
+       );
+#define cy_an_usb_get_enum_config(handle, config_p) \
+       cy_as_usb_get_enum_config_dep((cy_as_device_handle)(handle), \
+       (cy_as_usb_enum_control_dep *)(config_p), 0, 0)
+
+/* Async version of get enum config */
+extern cy_an_return_status_t
+cy_an_usb_get_enum_config_e_x(
+       cy_an_device_handle             handle,
+       cy_an_usb_enum_control *config_p,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_get_enum_config_e_x(h, config_p, cb, client) \
+       cy_as_usb_get_enum_config_dep((cy_as_device_handle)(h), \
+       (cy_as_usb_enum_control_dep *)(config_p),        \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync Version of Set descriptor */
+EXTERN cy_an_return_status_t
+cy_an_usb_set_descriptor(
+       cy_an_device_handle             handle,
+       cy_an_usb_desc_type                     type,
+       uint8_t                         index,
+       void *desc_p,
+       uint16_t                        length
+       );
+#define cy_an_usb_set_descriptor(handle, type, index, desc_p, length) \
+       cy_as_usb_set_descriptor((cy_as_device_handle)(handle), \
+       (cy_as_usb_desc_type)(type), (index), (desc_p), (length), 0, 0)
+
+/* Async Version of Set descriptor */
+extern cy_an_return_status_t
+cy_an_usb_set_descriptor_e_x(
+       cy_an_device_handle             handle,
+       cy_an_usb_desc_type                     type,
+       uint8_t                         index,
+       void *desc_p,
+       uint16_t                        length,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_set_descriptor_e_x\
+       (h, type, index, desc_p, length, cb, client) \
+       cy_as_usb_set_descriptor((cy_as_device_handle)(h), \
+       (cy_as_usb_desc_type)(type), (index), (desc_p), (length), \
+               (cy_as_function_callback)(cb), (client))
+
+/* Only version of clear descriptors */
+EXTERN cy_an_return_status_t
+cy_an_usb_clear_descriptors(
+       cy_an_device_handle             handle,
+               cy_an_function_callback                 cb,
+               uint32_t                                                client
+       );
+#define cy_an_usb_clear_descriptors(h, cb, client) \
+       cy_as_usb_clear_descriptors((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync version of get descriptor*/
+EXTERN cy_an_return_status_t
+cy_an_usb_get_descriptor(
+       cy_an_device_handle     handle,
+       cy_an_usb_desc_type             type,
+       uint8_t                 index,
+       void *desc_p,
+       uint32_t *length_p
+       );
+#define cy_an_usb_get_descriptor(h, type, index, desc_p, length_p)     \
+       cy_as_usb_get_descriptor_dep((cy_as_device_handle)(h), \
+       (cy_as_usb_desc_type)(type), (index), (desc_p), (length_p))
+
+typedef cy_as_get_descriptor_data cy_an_get_descriptor_data;
+
+/* Async version of get descriptor */
+extern cy_an_return_status_t
+cy_an_usb_get_descriptor_e_x(
+       cy_an_device_handle             handle,
+       cy_an_usb_desc_type                     type,
+       uint8_t                         index,
+       cy_an_get_descriptor_data *data,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_get_descriptor_e_x\
+       (h, type, index, data, cb, client) \
+       cy_as_usb_get_descriptor((cy_as_device_handle)(h), \
+       (cy_as_usb_desc_type)(type), (index), \
+       (cy_as_get_descriptor_data *)(data), \
+               (cy_as_function_callback)(cb), (client))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_set_physical_configuration(
+       cy_an_device_handle             handle,
+       uint8_t                 config
+       );
+#define cy_an_usb_set_physical_configuration(h, config)        \
+       cy_as_usb_set_physical_configuration\
+       ((cy_as_device_handle)(h), (config))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_set_end_point_config(
+       cy_an_device_handle                     handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_end_point_config *config_p
+       );
+#define cy_an_usb_set_end_point_config(h, ep, config_p)        \
+       cy_as_usb_set_end_point_config((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_end_point_config *)(config_p))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_get_end_point_config(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_end_point_config *config_p
+       );
+#define cy_an_usb_get_end_point_config(h, ep, config_p)        \
+       cy_as_usb_get_end_point_config((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_end_point_config *)(config_p))
+
+/* Sync version of commit */
+EXTERN cy_an_return_status_t
+cy_an_usb_commit_config(
+       cy_an_device_handle             handle
+       );
+#define cy_an_usb_commit_config(handle) \
+       cy_as_usb_commit_config((cy_as_device_handle)(handle), 0, 0)
+
+/* Async version of commit */
+extern cy_an_return_status_t
+cy_an_usb_commit_config_e_x(
+       cy_an_device_handle             handle,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_commit_config_e_x(h, cb, client)     \
+       cy_as_usb_commit_config((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_read_data(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool                         pktread,
+       uint32_t                        dsize,
+       uint32_t *dataread,
+       void *data
+       );
+#define cy_an_usb_read_data(h, ep, pkt, dsize, dataread, data_p) \
+       cy_as_usb_read_data((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (pkt), (dsize), \
+       (dataread), (data_p))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_read_data_async(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool                         pktread,
+       uint32_t                        dsize,
+       void *data,
+       cy_an_usb_io_callback           callback
+       );
+#define cy_an_usb_read_data_async(h, ep, pkt, dsize, data_p, cb) \
+       cy_as_usb_read_data_async((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (pkt), (dsize), (data_p), \
+               (cy_as_usb_io_callback)(cb))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_write_data(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       uint32_t                        dsize,
+       void *data
+       );
+#define cy_an_usb_write_data(h, ep, dsize, data_p) \
+       cy_as_usb_write_data((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (dsize), (data_p))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_write_data_async(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       uint32_t                        dsize,
+       void *data,
+       cy_bool                         spacket,
+       cy_an_usb_io_callback           callback
+       );
+#define cy_an_usb_write_data_async(h, ep, dsize, data_p, spacket, cb) \
+       cy_as_usb_write_data_async((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (dsize), (data_p), (spacket), \
+               (cy_as_usb_io_callback)(cb))
+
+EXTERN cy_an_return_status_t
+cy_an_usb_cancel_async(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep
+       );
+#define cy_an_usb_cancel_async(h, ep) \
+       cy_as_usb_cancel_async((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep))
+
+/* Sync version of set stall */
+EXTERN cy_an_return_status_t
+cy_an_usb_set_stall(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_function_callback             cb,
+       uint32_t                        client
+);
+#define cy_an_usb_set_stall(h, ep, cb, client) \
+       cy_as_usb_set_stall_dep((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_function_callback)(cb), (client))
+
+/* Async version of set stall */
+extern cy_an_return_status_t
+cy_an_usb_set_stall_e_x(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+);
+#define cy_an_usb_set_stall_e_x(h, ep, cb, client)     \
+       cy_as_usb_set_stall((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_function_callback)(cb), (client))
+
+/*Sync version of clear stall */
+EXTERN cy_an_return_status_t
+cy_an_usb_clear_stall(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_function_callback             cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_clear_stall(h, ep, cb, client)       \
+       cy_as_usb_clear_stall_dep((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_function_callback)(cb), (client))
+
+/*Sync version of clear stall */
+extern cy_an_return_status_t
+cy_an_usb_clear_stall_e_x(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_clear_stall_e_x(h, ep, cb, client) \
+       cy_as_usb_clear_stall((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync get stall */
+EXTERN cy_an_return_status_t
+cy_an_usb_get_stall(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool *stall_p
+       );
+#define cy_an_usb_get_stall(handle, ep, stall_p) \
+       cy_as_usb_get_stall((cy_as_device_handle)(handle), \
+       (cy_as_end_point_number_t)(ep), (stall_p), 0, 0)
+
+/* Async get stall */
+extern cy_an_return_status_t
+cy_an_usb_get_stall_e_x(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool *stall_p,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_get_stall_e_x(h, ep, stall_p, cb, client)    \
+       cy_as_usb_get_stall((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (stall_p), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync version of Set Nak */
+EXTERN cy_an_return_status_t
+cy_an_usb_set_nak(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_function_callback             cb,
+       uint32_t                        client
+);
+
+#define cy_an_usb_set_nak(h, ep, cb, client) \
+       cy_as_usb_set_nak_dep((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_function_callback)(cb), (client))
+
+/* Async version of Set Nak */
+extern cy_an_return_status_t
+cy_an_usb_set_nak_e_x(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+);
+#define cy_an_usb_set_nak_e_x(h, ep, cb, client) \
+       cy_as_usb_set_nak((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync version of clear nak */
+EXTERN cy_an_return_status_t
+cy_an_usb_clear_nak(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_usb_function_callback             cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_clear_nak(h, ep, cb, client) \
+       cy_as_usb_clear_nak_dep((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_usb_function_callback)(cb), (client))
+
+/* Sync version of clear nak */
+extern cy_an_return_status_t
+cy_an_usb_clear_nak_e_x(
+       cy_an_device_handle             handle,
+       cy_an_end_point_number_t                ep,
+       cy_an_function_callback         cb,
+       uint32_t                        client
+       );
+#define cy_an_usb_clear_nak_e_x(h, ep, cb, client) \
+       cy_as_usb_clear_nak((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync Get NAK */
+EXTERN cy_an_return_status_t
+cy_an_usb_get_nak(
+       cy_an_device_handle                     handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool *nak_p
+);
+#define cy_an_usb_get_nak(handle, ep, nak_p) \
+       cy_as_usb_get_nak((cy_as_device_handle)(handle), \
+       (cy_as_end_point_number_t)(ep), (nak_p), 0, 0)
+
+/* Async Get NAK */
+EXTERN cy_an_return_status_t
+cy_an_usb_get_nak_e_x(
+       cy_an_device_handle                     handle,
+       cy_an_end_point_number_t                ep,
+       cy_bool *nak_p,
+       cy_an_function_callback         cb,
+       uint32_t                                client
+);
+#define cy_an_usb_get_nak_e_x(h, ep, nak_p, cb, client)        \
+       cy_as_usb_get_nak((cy_as_device_handle)(h), \
+       (cy_as_end_point_number_t)(ep), (nak_p), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Sync remote wakup */
+EXTERN cy_an_return_status_t
+cy_an_usb_signal_remote_wakeup(
+               cy_an_device_handle                     handle
+               );
+#define cy_an_usb_signal_remote_wakeup(handle) \
+       cy_as_usb_signal_remote_wakeup((cy_as_device_handle)(handle), 0, 0)
+
+/* Async remote wakup */
+EXTERN cy_an_return_status_t
+cy_an_usb_signal_remote_wakeup_e_x(
+               cy_an_device_handle                     handle,
+               cy_an_function_callback         cb,
+               uint32_t                                        client
+               );
+#define cy_an_usb_signal_remote_wakeup_e_x(h, cb, client)      \
+       cy_as_usb_signal_remote_wakeup((cy_as_device_handle)(h), \
+       (cy_as_function_callback)(cb), (client))
+
+/* Only version of SetMSReportThreshold */
+EXTERN cy_an_return_status_t
+cy_an_usb_set_m_s_report_threshold(
+               cy_an_device_handle                     handle,
+               uint32_t                                        wr_sectors,
+               uint32_t                                        rd_sectors,
+               cy_an_function_callback         cb,
+               uint32_t                                        client
+               );
+#define cy_an_usb_set_m_s_report_threshold\
+       (h, wr_cnt, rd_cnt, cb, client) \
+       cy_as_usb_set_m_s_report_threshold((cy_as_device_handle)(h), \
+       wr_cnt, rd_cnt, (cy_as_function_callback)(cb), (client))
+
+/* Select storage partitions to be enumerated. */
+EXTERN cy_an_return_status_t
+cy_an_usb_select_m_s_partitions(
+               cy_an_device_handle                             handle,
+               cy_an_media_type                                   media,
+               uint32_t                                                device,
+               cy_an_usb_m_s_type_t                             type,
+               cy_an_function_callback                 cb,
+               uint32_t                                                client
+               );
+#define cy_an_usb_select_m_s_partitions(h, media, dev, type, cb, client) \
+       cy_as_usb_select_m_s_partitions_dep((cy_as_device_handle)(h), \
+       (cy_as_media_type)(media), (dev),               \
+       (cy_as_usb_m_s_type_t)(type), (cy_as_function_callback)(cb), (client))
+
+#include "cyas_cplus_end.h"
+#endif /*__doxygen__*/
+#endif /*_INCLUDED_CYANUSB_H_*/