add rk3288 pinctrl dts code
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / mt5931_kk / drv_wlan / mgmt / p2p_assoc.c
1 /*
2 ** $Id: @(#) p2p_assoc.c@@
3 */
4
5 /*! \file   "p2p_assoc.c"
6     \brief  This file includes the Wi-Fi Direct association-related functions.
7
8     This file includes the association-related functions.
9 */
10
11 /*******************************************************************************
12 * Copyright (c) 2007 MediaTek Inc.
13 *
14 * All rights reserved. Copying, compilation, modification, distribution
15 * or any other use whatsoever of this material is strictly prohibited
16 * except in accordance with a Software License Agreement with
17 * MediaTek Inc.
18 ********************************************************************************
19 */
20
21 /*******************************************************************************
22 * LEGAL DISCLAIMER
23 *
24 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
25 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
26 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
27 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
28 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
29 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
30 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
31 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
32 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
33 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
34 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
35 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
36 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
37 *
38 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
39 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
40 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
41 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
42 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
43 *
44 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
45 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
46 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
47 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
48 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
49 * (ICC).
50 ********************************************************************************
51 */
52
53
54 /*******************************************************************************
55 *                         C O M P I L E R   F L A G S
56 ********************************************************************************
57 */
58
59 /*******************************************************************************
60 *                    E X T E R N A L   R E F E R E N C E S
61 ********************************************************************************
62 */
63
64 #include "precomp.h"
65
66 /*******************************************************************************
67 *                              C O N S T A N T S
68 ********************************************************************************
69 */
70
71 /*******************************************************************************
72 *                             D A T A   T Y P E S
73 ********************************************************************************
74 */
75
76 /*******************************************************************************
77 *                            P U B L I C   D A T A
78 ********************************************************************************
79 */
80
81 /*******************************************************************************
82 *                           P R I V A T E   D A T A
83 ********************************************************************************
84 */
85
86 /*******************************************************************************
87 *                                 M A C R O S
88 ********************************************************************************
89 */
90
91 /*******************************************************************************
92 *                   F U N C T I O N   D E C L A R A T I O N S
93 ********************************************************************************
94 */
95
96 /*******************************************************************************
97 *                              F U N C T I O N S
98 ********************************************************************************
99 */
100
101 /*----------------------------------------------------------------------------*/
102 /*!
103 * @brief This function is used to compose Common Information Elements for P2P Association
104 *        Request Frame.
105 *
106 * @param[in] prMsduInfo     Pointer to the composed MSDU_INFO_T.
107 *
108 * @return (none)
109 */
110 /*----------------------------------------------------------------------------*/
111 PUINT_8
112 p2pBuildReAssocReqFrameCommonIEs(
113     IN P_ADAPTER_T prAdapter,
114     IN P_MSDU_INFO_T prMsduInfo,
115     IN PUINT_8 pucBuffer
116     )
117 {
118     P_P2P_CONNECTION_SETTINGS_T prP2pConnSettings = (P_P2P_CONNECTION_SETTINGS_T)NULL;
119
120     prP2pConnSettings = prAdapter->rWifiVar.prP2PConnSettings;
121
122     /* Fill the SSID element. */
123     SSID_IE(pucBuffer)->ucId = ELEM_ID_SSID;
124
125     /* NOTE(Kevin): We copy the SSID from CONNECTION_SETTINGS for the case of
126      * Passive Scan and the target BSS didn't broadcast SSID on its Beacon Frame.
127      */
128
129     COPY_SSID(SSID_IE(pucBuffer)->aucSSID,
130               SSID_IE(pucBuffer)->ucLength,
131               prP2pConnSettings->aucSSID,
132               prP2pConnSettings->ucSSIDLen);
133
134     prMsduInfo->u2FrameLength += IE_SIZE(pucBuffer);
135     pucBuffer += IE_SIZE(pucBuffer);
136     return pucBuffer;
137 }
138
139