/* Cypress West Bridge API header file (cyasusb_dep.h) ## =========================== ## 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. ## =========================== */ /* * This header will contain Antioch specific declaration * of the APIs that are deprecated in Astoria SDK. This is * for maintaining backward compatibility. */ #ifndef __INCLUDED_CYASUSB_DEP_H__ #define __INCLUDED_CYASUSB_DEP_H__ #ifndef __doxygen__ /* This data structure is the data passed via the evdata paramater on a usb event callback for the inquiry request. */ typedef struct cy_as_usb_inquiry_data_dep { /* The media for the event */ cy_as_media_type media; /* The EVPD bit from the SCSI INQUIRY request */ uint8_t evpd; /* The codepage in the inquiry request */ uint8_t codepage; /* This bool must be set to CyTrue indicate * that the inquiry data was changed */ cy_bool updated; /* The length of the data */ uint16_t length; /* The inquiry data */ void *data; } cy_as_usb_inquiry_data_dep; typedef struct cy_as_usb_unknown_command_data_dep { /* The media for the event */ cy_as_media_type media; /* The length of the requst (should be 16 bytes) */ uint16_t reqlen; /* The request */ void *request; /* The returned status value for the command */ uint8_t status; /* If status is failed, the sense key */ uint8_t key; /* If status is failed, the additional sense code */ uint8_t asc; /* If status if failed, the additional sense code qualifier */ uint8_t ascq; } cy_as_usb_unknown_command_data_dep; typedef struct cy_as_usb_start_stop_data_dep { /* The media type for the event */ cy_as_media_type media; /* CyTrue means start request, CyFalse means stop request */ cy_bool start; /* CyTrue means LoEj bit set, otherwise false */ cy_bool loej; } cy_as_usb_start_stop_data_dep; typedef struct cy_as_usb_enum_control_dep { /* The bits in this member determine which mass storage devices are enumerated. see cy_as_usb_mass_storage_enum for more details. */ uint8_t enum_mass_storage; /* If true, West Bridge will control enumeration. If this is false the pport controls enumeration. if the P port is controlling enumeration, traffic will be received via endpoint zero. */ cy_bool antioch_enumeration; /* This is the interface # to use for the mass storage interface, if mass storage is enumerated. if mass storage is not enumerated this value should be zero. */ uint8_t mass_storage_interface; /* If true, Inquiry, START/STOP, and unknown mass storage requests cause a callback to occur for handling by the baseband processor. */ cy_bool mass_storage_callbacks; } cy_as_usb_enum_control_dep; typedef void (*cy_as_usb_event_callback_dep)( /* Handle to the device to configure */ cy_as_device_handle handle, /* The event type being reported */ cy_as_usb_event ev, /* The data assocaited with the event being reported */ void *evdata ); /* Register Callback api */ EXTERN cy_as_return_status_t cy_as_usb_register_callback_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The function to call */ cy_as_usb_event_callback_dep callback ); extern cy_as_return_status_t cy_as_usb_set_enum_config_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The USB configuration information */ cy_as_usb_enum_control_dep *config_p, /* The callback if async call */ cy_as_function_callback cb, /* Client supplied data */ uint32_t client ); extern cy_as_return_status_t cy_as_usb_get_enum_config_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The return value for USB congifuration information */ cy_as_usb_enum_control_dep *config_p, /* The callback if async call */ cy_as_function_callback cb, /* Client supplied data */ uint32_t client ); extern cy_as_return_status_t cy_as_usb_get_descriptor_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The type of descriptor */ cy_as_usb_desc_type type, /* Index for string descriptor */ uint8_t index, /* The buffer to hold the returned descriptor */ void *desc_p, /* This is an input and output parameter. Before the code this pointer points to a uint32_t that contains the length of the buffer. after the call, this value contains the amount of data actually returned. */ uint32_t *length_p ); extern cy_as_return_status_t cy_as_usb_set_stall_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The endpoint of interest */ cy_as_end_point_number_t ep, /* The callback if async call */ cy_as_usb_function_callback cb, /* Client supplied data */ uint32_t client ); EXTERN cy_as_return_status_t cy_as_usb_clear_stall_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The endpoint of interest */ cy_as_end_point_number_t ep, /* The callback if async call */ cy_as_usb_function_callback cb, /* Client supplied data */ uint32_t client ); EXTERN cy_as_return_status_t cy_as_usb_set_nak_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The endpoint of interest */ cy_as_end_point_number_t ep, /* The callback if async call */ cy_as_usb_function_callback cb, /* Client supplied data */ uint32_t client ); EXTERN cy_as_return_status_t cy_as_usb_clear_nak_dep( /* Handle to the West Bridge device */ cy_as_device_handle handle, /* The endpoint of interest */ cy_as_end_point_number_t ep, /* The callback if async call */ cy_as_usb_function_callback cb, /* Client supplied data */ uint32_t client ); EXTERN cy_as_return_status_t cy_as_usb_select_m_s_partitions_dep( cy_as_device_handle handle, cy_as_media_type media, uint32_t device, cy_as_usb_m_s_type_t type, cy_as_function_callback cb, uint32_t client ); #endif /*__doxygen*/ #endif /*__INCLUDED_CYANSTORAGE_DEP_H__*/