blob: 00e4b7b493b89a7f7b966ebad9baa32c05014756 [file] [log] [blame]
Nick Pelly5d9927b2010-09-23 12:47:58 -07001/*
2 * Copyright (C) 2010 NXP Semiconductors
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*!
18* =========================================================================== *
19* *
20* *
21* \file phHciNfc_NfcIPMgmt.h *
22* \brief HCI NFCIP-1 Management Routines. *
23* *
24* *
25* Project: NFC-FRI-1.1 *
26* *
27* $Date: Thu Jun 11 18:45:00 2009 $ *
28* $Author: ing02260 $ *
29* $Revision: 1.14 $ *
30* $Aliases: NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $ *
31* *
32* =========================================================================== *
33*/
34
35#ifndef PHHCINFC_NFCIPMGMT_H
36#define PHHCINFC_NFCIPMGMT_H
37
38/*@}*/
39
40
41/**
42* \name HCI
43*
44* File: \ref phHciNfc_NfcIPMgmt.h
45*
46*/
47/*@{*/
48#define PHHCINFC_NFCIP1MGMT_FILEREVISION "$Revision: 1.14 $" /**< \ingroup grp_file_attributes */
49#define PHHCINFC_NFCIP1MGMT_FILEALIASES "$Aliases: NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */
50/*@}*/
51
52/*
53***************************** Header File Inclusion ****************************
54*/
55
56#include <phHciNfc_Generic.h>
57
58/*
59****************************** Macro Definitions *******************************
60*/
61
62/* Commands exposed to the upper layer */
63
64
65/*
66******************** Enumeration and Structure Definition **********************
67*/
68/* LENGTH definition */
69#define NFCIP_ATR_MAX_LENGTH PHHAL_MAX_ATR_LENGTH
70#define NFCIP_NFCID_LENGTH PHHAL_MAX_UID_LENGTH
Sunil Jogi32060a12012-01-24 11:11:38 -080071#define NFCIP_MAX_DEP_REQ_HDR_LEN 0x05
Nick Pelly5d9927b2010-09-23 12:47:58 -070072
73typedef enum phHciNfc_eNfcIPType{
74 NFCIP_INVALID = 0x00U,
75 NFCIP_INITIATOR,
76 NFCIP_TARGET
77}phHciNfc_eNfcIPType_t;
78
79typedef enum phHciNfc_NfcIP_Seq{
80 NFCIP_INVALID_SEQUENCE = 0x00U,
81 NFCIP_ATR_INFO,
82 NFCIP_STATUS,
83 NFCIP_NFCID3I,
84 NFCIP_NFCID3T,
85 NFCIP_PARAM,
86 NFCIP_END_SEQUENCE
87} phHciNfc_NfcIP_Seq_t;
88
89typedef enum phHciNfc_eP2PSpeed{
90 NFCIP_SPEED_106 = 0x00U,
91 NFCIP_SPEED_212,
92 NFCIP_SPEED_424,
93 NFCIP_SPEED_848,
94 NFCIP_SPEED_1696,
95 NFCIP_SPEED_3392,
96 NFCIP_SPEED_6784,
97 NFCIP_SPEED_RFU
98}phHciNfc_eP2PSpeed_t;
99
100typedef enum phHciNfc_eNfcIPMode{
101 NFCIP_MODE_PAS_106 = 0x01U,
102 NFCIP_MODE_PAS_212 = 0x02U,
103 NFCIP_MODE_PAS_424 = 0x04U,
104 NFCIP_MODE_ACT_106 = 0x08U,
105 NFCIP_MODE_ACT_212 = 0x10U,
106 NFCIP_MODE_ACT_424 = 0x20U,
107 NFCIP_MODE_ALL = 0x3FU
108}phHciNfc_eNfcIPMode_t;
109
110typedef struct phHciNfc_NfcIP_Info
111{
112 phHciNfc_NfcIP_Seq_t current_seq;
113 phHciNfc_NfcIP_Seq_t next_seq;
114 phHciNfc_eNfcIPType_t nfcip_type;
115 phHciNfc_Pipe_Info_t *p_init_pipe_info;
116 phHciNfc_Pipe_Info_t *p_tgt_pipe_info;
117 phHal_sRemoteDevInformation_t rem_nfcip_tgt_info;
118 /* ATR_RES = General bytes length, Max length = 48 bytes for
119 host = target */
120 uint8_t atr_res_info[NFCIP_ATR_MAX_LENGTH];
121 uint8_t atr_res_length;
122 /* ATR_REQ = General bytes length, Max length = 48 bytes for
123 host = initiator */
124 uint8_t atr_req_info[NFCIP_ATR_MAX_LENGTH];
125 uint8_t atr_req_length;
126 /* Contains the current status of the NFCIP-1 link
127 when communication has been set.
128 0x00 -> data is expected from the host
129 0x01 -> data is expected from the RF side */
130 uint8_t linkstatus;
131 /* Contains the random NFCID3I conveyed with the ATR_REQ.
132 always 10 bytes length */
133 uint8_t nfcid3i_length;
134 uint8_t nfcid3i[NFCIP_NFCID_LENGTH];
135 /* Contains the random NFCID3T conveyed with the ATR_RES.
136 always 10 bytes length */
137 uint8_t nfcid3t_length;
138 uint8_t nfcid3t[NFCIP_NFCID_LENGTH];
139 /* Contains the current parameters of the NFCIP-1 link when
140 communication has been set.
141 - bits 0 to 2: data rate target to initiator
142 - bits 3 to 5: data rate initiator to target
143 0 -> Divisor equal to 1
144 1 -> Divisor equal to 2
145 2 -> Divisor equal to 4
146 3 -> Divisor equal to 8
147 4 -> Divisor equal to 16
148 5 -> Divisor equal to 32
149 6 -> Divisor equal to 64
150 7 -> RFU
151 - bits 6 to 7: maximum frame length
152 0 -> 64 bytes
153 1 -> 128 bytes
154 2 -> 192 bytes
155 3 -> 256 bytes */
156 phHciNfc_eP2PSpeed_t initiator_speed;
157 phHciNfc_eP2PSpeed_t target_speed;
158 uint16_t max_frame_len;
159 /* Supported modes */
160 uint8_t nfcip_mode;
161 uint8_t psl1;
162 uint8_t psl2;
163 uint8_t nad;
164 uint8_t did;
165 uint8_t options;
166 uint8_t activation_mode;
167}phHciNfc_NfcIP_Info_t;
168
169
170/*
171*********************** Function Prototype Declaration *************************
172*/
173/*!
174* \brief Allocates the resources of NFCIP-1 initiator management gate.
175*
176* This function Allocates the resources of the NFCIP-1 initiator management
177* gate Information Structure.
178*
179*/
180extern
181NFCSTATUS
182phHciNfc_Initiator_Init_Resources(
183 phHciNfc_sContext_t *psHciContext
184 );
185
186/**
187* \ingroup grp_hci_nfc
188*
189* The phHciNfc_Initiator_Get_PipeID function gives the pipe id of the NFCIP-1
190* initiator gate
191*
192* \param[in] psHciContext psHciContext is the pointer to HCI Layer
193* context Structure.
194* \param[in] pHwRef pHwRef is the Information of
195* the Device Interface Link
196*
197* \retval NFCSTATUS_SUCCESS Function execution is successful.
198* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
199* could not be interpreted properly.
200*
201*/
202extern
203NFCSTATUS
204phHciNfc_Initiator_Get_PipeID(
205 phHciNfc_sContext_t *psHciContext,
206 uint8_t *ppipe_id
207 );
208
209/**
210* \ingroup grp_hci_nfc
211*
212* The phHciNfc_Initiator_Update_PipeInfo function updates the pipe_id of the NFCIP-1
213* initiator gate management Structure.
214*
215* \param[in] psHciContext psHciContext is the pointer to HCI Layer
216* context Structure.
217* \param[in] pipeID pipeID of the NFCIP-1 initiator gate
218* \param[in] pPipeInfo Update the pipe Information of the NFCIP-1
219* initiator gate
220*
221* \retval NFCSTATUS_SUCCESS Function execution is successful.
222* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
223* could not be interpreted properly.
224*
225*/
226
227extern
228NFCSTATUS
229phHciNfc_Initiator_Update_PipeInfo(
230 phHciNfc_sContext_t *psHciContext,
231 uint8_t pipeID,
232 phHciNfc_Pipe_Info_t *pPipeInfo
233 );
234
235/**
236* \ingroup grp_hci_nfc
237*
238* The phHciNfc_Send_Initiator_Command function executes the command sent by the
239* upper layer, depending on the commands defined.
240*
241* \param[in] psContext psContext is the pointer to HCI Layer
242* context Structure.
243* \param[in] pHwRef pHwRef is the Information of
244* the Device Interface Link
245*
246* \retval NFCSTATUS_SUCCESS Function execution is successful.
247* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
248* could not be interpreted properly.
249*
250*/
251extern
252NFCSTATUS
253phHciNfc_NfcIP_Presence_Check(
254 phHciNfc_sContext_t *psContext,
255 void *pHwRef
256 );
257
258/*!
259* \brief Allocates the resources of NFCIP-1 target management gate.
260*
261* This function Allocates the resources of the NFCIP-1 target management
262* gate Information Structure.
263*
264*/
265extern
266NFCSTATUS
267phHciNfc_Target_Init_Resources(
268 phHciNfc_sContext_t *psHciContext
269 );
270
271/**
272* \ingroup grp_hci_nfc
273*
274* The phHciNfc_Target_Get_PipeID function gives the pipe id of the NFCIP-1
275* target gate
276*
277* \param[in] psHciContext psHciContext is the pointer to HCI Layer
278* context Structure.
279* \param[in] pHwRef pHwRef is the Information of
280* the Device Interface Link
281*
282* \retval NFCSTATUS_SUCCESS Function execution is successful.
283* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
284* could not be interpreted properly.
285*
286*/
287extern
288NFCSTATUS
289phHciNfc_Target_Get_PipeID(
290 phHciNfc_sContext_t *psHciContext,
291 uint8_t *ppipe_id
292 );
293
294/**
295* \ingroup grp_hci_nfc
296*
297* The phHciNfc_Target_Update_PipeInfo function updates the pipe_id of the NFCIP-1
298* target gate management Structure.
299*
300* \param[in] psHciContext psHciContext is the pointer to HCI Layer
301* context Structure.
302* \param[in] pipeID pipeID of the NFCIP-1 target gate
303* \param[in] pPipeInfo Update the pipe Information of the NFCIP-1
304* target gate
305*
306* \retval NFCSTATUS_SUCCESS Function execution is successful.
307* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
308* could not be interpreted properly.
309*
310*/
311
312extern
313NFCSTATUS
314phHciNfc_Target_Update_PipeInfo(
315 phHciNfc_sContext_t *psHciContext,
316 uint8_t pipeID,
317 phHciNfc_Pipe_Info_t *pPipeInfo
318 );
319
320/**
321* \ingroup grp_hci_nfc
322*
323* The phHciNfc_NfcIP_Info_Sequence function executes the sequence of operations, to
324* get ATR_RES, NFCID3I, NFCID3T, PARAMS etc.
325*
326* \param[in] psHciContext psHciContext is the pointer to HCI Layer
327* context Structure.
328* \param[in] pHwRef pHwRef is the Information of
329* the Device Interface Link
330* \param[in] notify_reqd if TRUE continue till END_SEQUENCE, else
331* stop the sequence
332*
333* \retval NFCSTATUS_SUCCESS Function execution is successful.
334* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
335* could not be interpreted properly.
336*
337*/
338extern
339NFCSTATUS
340phHciNfc_NfcIP_Info_Sequence (
341 phHciNfc_sContext_t *psHciContext,
342 void *pHwRef
343#ifdef NOTIFY_REQD
344 ,
345 uint8_t notify_reqd
346#endif /* #ifdef NOTIFY_REQD */
347 );
348
349/**
350* \ingroup grp_hci_nfc
351*
352* The phHciNfc_NfcIP_SetMode function sets the value for NFCIP-1 modes
353*
354* \param[in] psHciContext psHciContext is the pointer to HCI Layer
355* context Structure.
356* \param[in] pHwRef pHwRef is the Information of
357* the Device Interface Link
358* \param[in] nfciptype Specifies initiator or target
359* \param[in] nfcip_mode nfcip_mode is the supported mode
360* information
361*
362* \retval NFCSTATUS_SUCCESS Function execution is successful.
363* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
364* could not be interpreted properly.
365*
366*/
367extern
368NFCSTATUS
369phHciNfc_NfcIP_SetMode(
370 phHciNfc_sContext_t *psHciContext,
371 void *pHwRef,
372 phHciNfc_eNfcIPType_t nfciptype,
373 uint8_t nfcip_mode
374 );
375
376/**
377* \ingroup grp_hci_nfc
378*
379* The phHciNfc_NfcIP_SetNAD function sets the NAD value
380*
381* \param[in] psHciContext pContext is the pointer to HCI Layer
382* context Structure.
383* \param[in] pHwRef pHwRef is the Information of
384* the Device Interface Link
385* \param[in] nfciptype Specifies initiator or target
386* \param[in] nad Node address, this will be used as
387* logical address of the initiator (b4 to b7)
388*
389* \retval NFCSTATUS_SUCCESS Function execution is successful.
390* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
391* could not be interpreted properly.
392*
393*/
394extern
395NFCSTATUS
396phHciNfc_NfcIP_SetNAD(
397 phHciNfc_sContext_t *psHciContext,
398 void *pHwRef,
399 phHciNfc_eNfcIPType_t nfciptype,
400 uint8_t nad
401 );
402
403/**
404* \ingroup grp_hci_nfc
405*
406* The phHciNfc_NfcIP_SetDID function sets the DID value for the initiator
407*
408* \param[in] psHciContext psHciContext is the pointer to HCI Layer
409* context Structure.
410* \param[in] pHwRef pHwRef is the Information of
411* the Device Interface Link
412* \param[in] did Device ID
413*
414* \retval NFCSTATUS_SUCCESS Function execution is successful.
415* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
416* could not be interpreted properly.
417*
418*/
419extern
420NFCSTATUS
421phHciNfc_NfcIP_SetDID(
422 phHciNfc_sContext_t *psHciContext,
423 void *pHwRef,
424 uint8_t did
425 );
426
427/**
428* \ingroup grp_hci_nfc
429*
430* The phHciNfc_NfcIP_SetOptions function sets the different options depending on
431* the host type (initiator or target) like PSL, NAD and DID
432*
433* \param[in] psHciContext psHciContext is the pointer to HCI Layer
434* context Structure.
435* \param[in] pHwRef pHwRef is the Information of
436* the Device Interface Link
437* \param[in] nfciptype Specifies initiator or target
438* \param[in] nfcip_options specifies enabled options PSL, NAD and DID
439*
440* \retval NFCSTATUS_SUCCESS Function execution is successful.
441* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
442* could not be interpreted properly.
443*
444*/
445extern
446NFCSTATUS
447phHciNfc_NfcIP_SetOptions(
448 phHciNfc_sContext_t *psHciContext,
449 void *pHwRef,
450 phHciNfc_eNfcIPType_t nfciptype,
451 uint8_t nfcip_options
452 );
453
454/**
455* \ingroup grp_hci_nfc
456*
457* The phHciNfc_NfcIP_SetATRInfo function sets the general byte information
458*
459* \param[in] psHciContext psHciContext is the pointer to HCI Layer
460* context Structure.
461* \param[in] pHwRef pHwRef is the Information of
462* the Device Interface Link
463* \param[in] nfciptype Specifies initiator or target
464* \param[in] atr_info contains the general bytes of the ATR_REQ
465* (initiator) or ATR_RES (target) (max size =
466* 48 bytes)
467*
468* \retval NFCSTATUS_SUCCESS Function execution is successful.
469* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
470* could not be interpreted properly.
471*
472*/
473extern
474NFCSTATUS
475phHciNfc_NfcIP_SetATRInfo(
476 phHciNfc_sContext_t *psHciContext,
477 void *pHwRef,
478 phHciNfc_eNfcIPType_t nfciptype,
479 phHal_sNfcIPCfg_t *atr_info
480 );
481
482/**
483* \ingroup grp_hci_nfc
484*
485* The phHciNfc_NfcIP_SetPSL1 function sets the BRS byte of PSL_REQ
486*
487* \param[in] psHciContext psHciContext is the pointer to HCI Layer
488* context Structure.
489* \param[in] pHwRef pHwRef is the Information of
490* the Device Interface Link
491* \param[in] psl1 specifies the BRS byte of PSL_REQ
492*
493* \retval NFCSTATUS_SUCCESS Function execution is successful.
494* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
495* could not be interpreted properly.
496*
497*/
498extern
499NFCSTATUS
500phHciNfc_NfcIP_SetPSL1(
501 phHciNfc_sContext_t *psHciContext,
502 void *pHwRef,
503 uint8_t psl1
504 );
505
506/**
507* \ingroup grp_hci_nfc
508*
509* The phHciNfc_NfcIP_SetPSL2 function sets the BRS byte of PSL_REQ
510*
511* \param[in] psHciContext psHciContext is the pointer to HCI Layer
512* context Structure.
513* \param[in] pHwRef pHwRef is the Information of
514* the Device Interface Link
515* \param[in] psl2 specifies the FSL byte of PSL_REQ
516*
517* \retval NFCSTATUS_SUCCESS Function execution is successful.
518* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
519* could not be interpreted properly.
520*
521*/
522extern
523NFCSTATUS
524phHciNfc_NfcIP_SetPSL2(
525 phHciNfc_sContext_t *psHciContext,
526 void *pHwRef,
527 uint8_t psl2
528 );
529
530/**
531* \ingroup grp_hci_nfc
532*
533* The phHciNfc_NfcIP_GetStatus function receives the present status of the
534* NFCIP-1 link, when communication has been set.
535* If 0x00 is the status, then it means data is expected from the host
536* If 0x01 is the status, then it means data is expected from the RF side
537* Other status values are error
538*
539* \param[in] psHciContext psHciContext is the pointer to HCI Layer
540* context Structure.
541* \param[in] pHwRef pHwRef is the Information of
542* the Device Interface Link
543* \param[in] nfciptype Specifies initiator or target
544*
545* \retval NFCSTATUS_SUCCESS Function execution is successful.
546* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
547* could not be interpreted properly.
548*
549*/
550extern
551NFCSTATUS
552phHciNfc_NfcIP_GetStatus(
553 phHciNfc_sContext_t *psHciContext,
554 void *pHwRef,
555 phHciNfc_eNfcIPType_t nfciptype
556 );
557
558/**
559* \ingroup grp_hci_nfc
560*
561* The phHciNfc_NfcIP_GetStatus function receives the current parameters of the
562* NFCIP-1 link, when communication has been set.
563* - bits 0 to 2: data rate target to initiator
564* - bits 3 to 5: data rate initiator to target
565* 0 -> Divisor equal to 1
566* 1 -> Divisor equal to 2
567* 2 -> Divisor equal to 4
568* 3 -> Divisor equal to 8
569* 4 -> Divisor equal to 16
570* 5 -> Divisor equal to 32
571* 6 -> Divisor equal to 64
572* 7 -> RFU
573* - bits 6 to 7: maximum frame length
574* 0 -> 64 bytes
575* 1 -> 128 bytes
576* 2 -> 192 bytes
577* 3 -> 256 bytes
578*
579* \param[in] psHciContext psHciContext is the pointer to HCI Layer
580* context Structure.
581* \param[in] pHwRef pHwRef is the Information of
582* the Device Interface Link
583* \param[in] nfciptype Specifies initiator or target
584*
585* \retval NFCSTATUS_SUCCESS Function execution is successful.
586* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
587* could not be interpreted properly.
588*
589*/
590extern
591NFCSTATUS
592phHciNfc_NfcIP_GetParam(
593 phHciNfc_sContext_t *psHciContext,
594 void *pHwRef,
595 phHciNfc_eNfcIPType_t nfciptype
596 );
597
598/**
599* \ingroup grp_hci_nfc
600*
601* The phHciNfc_NfcIP_Send_Data function sends data using the SEND_DATA event
602*
603* \param[in] psHciContext psHciContext is the pointer to HCI Layer
604* context Structure.
605* \param[in] pHwRef pHwRef is the Information of
606* the Device Interface Link
607* \param[in] sData Data to be sent to the lower layer
608*
609* \retval NFCSTATUS_SUCCESS Function execution is successful.
610* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
611* could not be interpreted properly.
612*
613*/
614extern
615NFCSTATUS
616phHciNfc_NfcIP_Send_Data (
617 phHciNfc_sContext_t *psHciContext,
618 void *pHwRef,
619 phHciNfc_XchgInfo_t *sData
620 );
621
622/**
623* \ingroup grp_hci_nfc
624*
625* The phHciNfc_Initiator_Cont_Activate function to activate the NFCIP initiator
626*
627* \param[in] pContext pContext is the pointer to HCI Layer
628* context Structure.
629* \param[in] pHwRef pHwRef is the Information of
630* the Device Interface Link
631*
632* \retval NFCSTATUS_SUCCESS Function execution is successful.
633* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
634* could not be interpreted properly.
635*
636*/
637extern
638NFCSTATUS
639phHciNfc_Initiator_Cont_Activate (
640 phHciNfc_sContext_t *psHciContext,
641 void *pHwRef
642 );
643
644/**
645* \ingroup grp_hci_nfc
646*
647* The phHciNfc_NfcIP_GetATRInfo function is to get ATR information
648*
649* \param[in] psHciContext psHciContext is the pointer to HCI Layer
650* context Structure.
651* \param[in] pHwRef pHwRef is the Information of
652* the Device Interface Link
653* \param[in] nfciptype Specifies initiator or target
654*
655* \retval NFCSTATUS_SUCCESS Function execution is successful.
656* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
657* could not be interpreted properly.
658*
659*/
660extern
661NFCSTATUS
662phHciNfc_NfcIP_GetATRInfo (
663 phHciNfc_sContext_t *psHciContext,
664 void *pHwRef,
665 phHciNfc_eNfcIPType_t nfciptype
666 );
667
668/**
669* \ingroup grp_hci_nfc
670*
671* The phHciNfc_NfcIP_SetMergeSak function is to indicate, if the NFCIP-1
672* target feature must be merged with Type A RF card feature in order to
673* present only one type A target (set of the related bit in SAK to
674* reflect the ISO18092 compliancy).
675* 0x00 -> disabled
676* 0x01 -> enabled
677* Others values are RFU : error code returned as NFCSTATUS_INVALID_PARAMETER
678*
679* \param[in] psHciContext psHciContext is the pointer to HCI Layer
680* context Structure.
681* \param[in] pHwRef pHwRef is the Information of
682* the Device Interface Link
683* \param[in] sak_value Specifies initiator or target
684*
685* \retval NFCSTATUS_SUCCESS Function execution is successful.
686* \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
687* could not be interpreted properly.
688*
689*/
690extern
691NFCSTATUS
692phHciNfc_NfcIP_SetMergeSak(
693 phHciNfc_sContext_t *psHciContext,
694 void *pHwRef,
695 uint8_t sak_value
696 );
697#endif /* #ifndef PHHCINFC_NFCIPMGMT_H */
698
699