X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=target_firmware%2Fmagpie_fw_dev%2Ftarget%2Fhtc%2Fhtc_api.h;h=a7f01c690dd2da8cd21e425b5a03116d2eaa0262;hb=6f2219c1ab25d1dfbb5d2de6508212a27f9d7e9c;hp=a89df34a6428a46f01f36ee75193f91db0aaa096;hpb=8804cc94e3b66550797279f540b960d18a78421f;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/magpie_fw_dev/target/htc/htc_api.h b/target_firmware/magpie_fw_dev/target/htc/htc_api.h index a89df34..a7f01c6 100755 --- a/target_firmware/magpie_fw_dev/target/htc/htc_api.h +++ b/target_firmware/magpie_fw_dev/target/htc/htc_api.h @@ -1,13 +1,43 @@ +/* + * Copyright (c) 2013 Qualcomm Atheros, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Qualcomm Atheros nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ /* * @File: htc_api.h - * + * * @Abstract: host-target communications API - * - * @Notes: - * - * Copyright (c) 2008 Atheros Communications Inc. - * All rights reserved. * + * @Notes: */ #ifndef __HTC_API_H__ @@ -23,7 +53,7 @@ typedef void (* HTC_SERVICE_ProcessRecvMsg)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, adf_nbuf_t, void *ServiceCtx); typedef void (* HTC_SERVICE_ProcessSendBufferComplete)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, void *ServiceCtx); - + /* HTC service structure : * the caller is required to allocate storage for the service structure and register the * structure using HTC_RegisterService() The service must set the following fields: @@ -35,31 +65,31 @@ typedef void (* HTC_SERVICE_ProcessSendBufferComplete)(HTC_ENDPOINT_ID EndpointI * */ typedef struct _HTC_SERVICE { struct _HTC_SERVICE *pNext; - /* Callback for processing receive messages. HTC calls this callback whenever a + /* Callback for processing receive messages. HTC calls this callback whenever a * message arrives on the endpoint assigned to this service. * HTC_BUFFER is a chain of buffers containing a full application message. * HTC_BUFFER->buffer points to the start of the msg buffer (past the HTC header) */ - void (* ProcessRecvMsg)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, adf_nbuf_t, void *ServiceCtx); + void (* ProcessRecvMsg)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, adf_nbuf_t, void *ServiceCtx); /* callback to process completed send buffers */ - void (* ProcessSendBufferComplete)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, void *ServiceCtx); + void (* ProcessSendBufferComplete)(HTC_ENDPOINT_ID EndpointID, adf_nbuf_t, void *ServiceCtx); /* optional callback when a connection request occurs. - * The EndpointID is the assigned endpoint, the callback returns a connect + * The EndpointID is the assigned endpoint, the callback returns a connect * response status code to allow or disallow the connection. * pDataIn points to the optional meta data supplied in the connection request - * pDataOut points to a buffer to send back meta data + * pDataOut points to a buffer to send back meta data * If no callback is supplied, HTC assumes the connect is allowed */ A_UINT8 (* ProcessConnect)(struct _HTC_SERVICE *pService, - HTC_ENDPOINT_ID EndpointID, - A_UINT8 *pDataIn, + HTC_ENDPOINT_ID EndpointID, + A_UINT8 *pDataIn, int LengthIn, A_UINT8 *pDataOut, - int *pLengthOut); + int *pLengthOut); A_UINT16 ServiceID; /* service ID to match connection requests */ A_UINT16 ServiceFlags; /* service flags */ A_UINT16 MaxSvcMsgSize; /* maximum length of service-specific messages exchanged on the endpoint */ A_UINT16 TrailerSpcCheckLimit; /* amount of space in each send buffer that HTC can check for trailer - data. This should be set to the smallest HTC buffer that can be sent + data. This should be set to the smallest HTC buffer that can be sent through the service. The service can disable trailer data insertion by setting this value to 0. */ void *ServiceCtx; @@ -80,7 +110,7 @@ typedef struct _HTC_CONFIG { typedef struct _HTC_BUF_CONTEXT { A_UINT8 end_point; - A_UINT8 htc_flags; /* htc flags (used by HTC layer only) */ + A_UINT8 htc_flags; /* htc flags (used by HTC layer only) */ } HTC_BUF_CONTEXT; typedef void* htc_handle_t; @@ -89,20 +119,20 @@ typedef void* htc_handle_t; * setup complete function, supplied by HTC caller at HTC_init time. * HTC calls this function after the host has indicated that the service connection * phase is complete. - * + * */ typedef void (* HTC_SETUP_COMPLETE_CB)(void); struct htc_apis { - htc_handle_t (* _HTC_Init)(HTC_SETUP_COMPLETE_CB, HTC_CONFIG *pConfig); + htc_handle_t (* _HTC_Init)(HTC_SETUP_COMPLETE_CB, HTC_CONFIG *pConfig); void (* _HTC_Shutdown)(htc_handle_t); void (* _HTC_RegisterService)(htc_handle_t, HTC_SERVICE *); void (* _HTC_Ready)(htc_handle_t); void (* _HTC_ReturnBuffers)(htc_handle_t handle, HTC_ENDPOINT_ID EndpointID, adf_nbuf_t); void (* _HTC_ReturnBuffersList)(htc_handle_t handle, HTC_ENDPOINT_ID EndpointID, adf_nbuf_queue_t); - void (* _HTC_SendMsg)(htc_handle_t handle, HTC_ENDPOINT_ID EndpointID, adf_nbuf_t); + void (* _HTC_SendMsg)(htc_handle_t handle, HTC_ENDPOINT_ID EndpointID, adf_nbuf_t); int (* _HTC_GetReservedHeadroom)(htc_handle_t handle); - + /* These APIs below are for patch purpose only */ void (*_HTC_MsgRecvHandler)(adf_nbuf_t hdr_buf, adf_nbuf_t buf, void *context); void (*_HTC_SendDoneHandler)(adf_nbuf_t buf, void *context);