एनएफ़सी कंट्रोलर इंटरफ़ेस (एनसीआई) का इस्तेमाल, एनएफ़सी कंट्रोलर (एनएफ़सीसी) के साथ इंटरैक्ट करने के लिए किया जाता है. इस पेज पर, Android के मालिकाना हक वाली NCI कमांड की खास बातों के बारे में बताया गया है.
एनसीआई की परिभाषाएं
Android की मालिकाना हक वाली NCI कमांड, मालिकाना हक वाले ग्रुप आईडी (GID) 0xF
और 0xC के Android ओपकॉड आइडेंटिफ़ायर (OID) कोड स्पेस का इस्तेमाल करती हैं.
सामान्य पैकेट फ़ॉर्मैट
Android NCI पैकेट फ़ॉर्मैट, कंट्रोल पैकेट के लिए NCI स्पेसिफ़िकेशन का पालन करता है. इसके लिए, मालिकाना हक वाले Group_ID 0xFऔर Opcode_ID 0x0C का इस्तेमाल किया जाता है. Android के मालिकाना हक वाले हर मैसेज के लिए, पैकेट पेलोड का पहला बाइट, Android ऑपकोड (0x0C) पर सेट होना चाहिए. Android कंट्रोल पैकेट, कमांड, जवाब, और सूचनाओं की पहचान करने के लिए Message_Type और PBF का इस्तेमाल करते हैं. ये स्टैंडर्ड कमांड की तरह ही काम करते हैं.
Android पैकेट का फ़ॉर्मैट इस टेबल में दिखाया गया है:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Message_Type
|
PBF
|
Group_ID = 0xF (PROPRIETARY)
|
|||||
| आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया (आरएफ़यू) | Opcode_ID = 0x0C (ANDROID)
|
||||||
Payload_Length
|
|||||||
Android_Opcode_ID
|
|||||||
Android_Payload
|
|||||||
Android के लिए असाइन किए गए ऑपकोड आइडेंटिफ़ायर की सूची यहां दी गई है. हर पैकेट के स्पेसिफ़िकेशन के बारे में अगले सेक्शन में बताया गया है.
'अनुमतियां पाएं' निर्देश
होस्ट, NCI_ANDROID_GET_CAPS_CMD का इस्तेमाल करके, NFCC के साथ काम करने वाली Android की मालिकाना हक वाली सुविधाओं की सूची के बारे में क्वेरी करता है. NCI_ANDROID_GET_CAPS_CMD
कमांड में कोई पैरामीटर नहीं होता.
एनएफ़सीसी को NCI_ANDROID_GET_CAPS_RSP स्टेटस के साथ NCI_ANDROID_GET_CAPS_RSP जवाब देना होगा. साथ ही, इसमें काम करने वाली सुविधाओं की सूची भी शामिल करनी होगी.STATUS_OK
अगर NFCC, NCI_ANDROID_GET_CAPS_CMD के साथ काम नहीं करता है, तो होस्ट को यह मानना होगा कि हर सुविधा के लिए, डिफ़ॉल्ट वैल्यू का इस्तेमाल किया गया है. अगर NFCC, रिस्पॉन्स में बताई गई कोई सुविधा नहीं देता है, तो होस्ट को यह मानना होगा कि सुविधा की डिफ़ॉल्ट वैल्यू तय की गई है.
NCI_ANDROID_GET_CAPS_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
NCI_ANDROID_GET_CAPS_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें. | |||||
Android_Version
|
दो ऑक्टेट | इससे Android की उन ज़रूरी शर्तों के वर्शन की पहचान होती है जिन्हें NFCC लागू करता है. | |||||
| 0x0000 | Android 15 | ||||||
| सुविधाओं की संख्या | 1 ऑक्टेट | साथ काम करने वाली सुविधाओं की संख्या (n) | |||||
| Capabilities[0..n] | (m + 2) * n ऑक्टेट | इस्तेमाल की जा सकने वाली सुविधाएं | |||||
| टाइप | 1 ऑक्टेट | क्षमता का आइडेंटिफ़ायर | |||||
| Len | 1 ऑक्टेट | वैल्यू की लंबाई (मी॰) | |||||
| वैल्यू | m ऑक्टेट | क्षमता की वैल्यू | |||||
Android की मालिकाना हक वाली सुविधाएं
| क्षमता का नाम | ID | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|---|
| ऑब्ज़र्व मोड | 0x00 | 1 ऑक्टेट | ऑब्ज़र्व मोड की सुविधा उपलब्ध है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती. 0x01 - Supports the feature with RF deactivation from host (required for Android 15). 0x02 - Supports the feature without RF deactivation from host (required for Android 16 and higher). अन्य सभी वैल्यू, आरएफ़यू हैं. |
|||||
| पोलिंग फ़्रेम की सूचना | 0x01 | 1 ऑक्टेट | पोलिंग फ़्रेम की सूचनाओं के लिए सहायता. अगर सुविधा काम करती है, तो 0x01. अगर सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट). अन्य सभी वैल्यू, RFU हैं. | |||||
| बैटरी सेव करने वाला मोड | 0x02 | 1 ऑक्टेट | बैटरी सेव करने वाले मोड की सुविधा उपलब्ध है. अगर सुविधा काम करती है, तो 0x01. अगर सुविधा काम नहीं करती है, तो 0x00 (डिफ़ॉल्ट). अन्य सभी वैल्यू, RFU हैं. | |||||
| Auotransact पोलिंग लूप फ़िल्टर | 0x03 | 1 ऑक्टेट | फ़र्मवेयर में पोलिंग लूप फ़िल्टर के लिए सहायता. इससे, ग्लोबल लेवल पर ऑब्ज़र्व मोड चालू होने पर, कुछ पैटर्न के लिए ऑब्ज़र्व मोड को बायपास किया जा सकता है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती 0x01 - पोलिंग लूप फ़िल्टर के साथ काम करता है अन्य सभी वैल्यू RFU हैं |
|||||
| एग्ज़िट फ़्रेम की कितनी एंट्री इस्तेमाल की जा सकती हैं | 0x04 | 1 ऑक्टेट | एग्ज़िट फ़्रेम की कितनी एंट्री इस्तेमाल की जा सकती हैं. कम से कम पांच एग्ज़िट फ़्रेम एंट्री ज़रूरी हैं. | |||||
| रीडर मोड एनोटेशन | 0x05 | 1 ऑक्टेट | रीडर मोड में एनोटेशन की सुविधा उपलब्ध है.
0x00 (डिफ़ॉल्ट) - यह सुविधा काम नहीं करती. 0x01 - इस सुविधा के साथ काम करता है. अन्य सभी वैल्यू, आरएफ़यू हैं. |
|||||
| 0x06..0xFF | 0 ऑक्टेट | आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया | ||||||
बैटरी बचाने वाला मोड चालू करने की कमांड
एनएफ़सीसी को बैटरी सेव करने वाले मोड में बदलने के लिए, होस्ट NCI_ANDROID_POWER_SAVING_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_POWER_SAVING_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताया जाएगा कि लेन-देन पूरा हुआ या नहीं.
बैटरी सेवर मोड में, होस्ट को NFCC को कोई भी निर्देश नहीं भेजना चाहिए. साथ ही, NFCC को होस्ट को कोई सूचना या जवाब नहीं भेजना चाहिए. एनएफ़सीसी या एम्बेड किया गया सुरक्षित एलिमेंट (ईएसई), पेमेंट के अनुरोधों को अपने-आप स्वीकार कर सकता है. ऐसा, पावर सेविंग मोड चालू करने से पहले सेट किए गए राउटिंग कॉन्फ़िगरेशन के हिसाब से होता है.
फ़ुल पावर मोड पर वापस जाने के लिए, होस्ट NFCC को रीसेट या फिर से शुरू कर सकता है.
NCI_ANDROID_POWER_SAVING_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| बैटरी सेव करने वाला मोड | 1 ऑक्टेट | 0x00 | बैटरी सेवर मोड बंद करना |
| 0x01 | बैटरी सेविंग मोड चालू करना |
NCI_ANDROID_POWER_SAVING_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |||||
ऑब्ज़र्व मोड का निर्देश सेट करना
होस्ट, ऑब्ज़र्व मोड को चालू या बंद करने के लिए, NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के तौर पर, लेन-देन के पूरा होने या न होने की जानकारी देनी होगी.
ऑब्ज़र्व मोड बंद होने पर, एनएफ़सीसी को गतिविधि की तकनीकी खास जानकारी के मुताबिक, स्टैंडर्ड लिसन मोड गतिविधि लागू करनी होगी.
ऑब्ज़र्व मोड चालू होने पर, NFCC को लिसन मोड में पोलिंग लूप के दौरान, पोल के किसी भी अनुरोध का जवाब नहीं देना चाहिए. ऐसा तब तक नहीं करना चाहिए, जब तक होस्ट ने साफ़ तौर पर इसकी अनुमति न दी हो.
फ़ील्ड ऐक्टिवेट होने का पता चलने पर, NFCC को RF_FIELD_INFO_NTF सूचना भेजनी होगी. यह सूचना, NCI स्पेसिफ़िकेशन के सेक्शन 5.3 में बताई गई है. अगर पोल मोड की सुविधा चालू है, तो एनएफ़सीसी को गतिविधि के तकनीकी स्पेसिफ़िकेशन के मुताबिक, पोल मोड की गतिविधि लागू करनी होगी.
एनएफ़सीसी, पोल की जानकारी को कैश मेमोरी में सेव कर सकता है. इससे, ऑब्ज़र्व मोड बंद होने के तुरंत बाद, डिवाइस को चालू करने की प्रोसेस शुरू की जा सकती है.
अगर किसी वजह से होस्ट बंद हो जाता है (जैसे, बैटरी खत्म हो जाना या उपयोगकर्ता की ओर से बंद किया जाना), तो NFCC को ऑब्ज़र्व मोड बंद कर देना चाहिए, ताकि SE ट्रांज़ैक्शन किए जा सकें.
NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| ऑब्ज़र्व मोड | 1 ऑक्टेट | 0x00 | ऑब्ज़र्व मोड बंद करें (डिफ़ॉल्ट) |
| 0x01 | ऑब्ज़र्व मोड चालू करना |
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें. | |||||
पोलिंग लूप की सूचना
NFCC को हर पोलिंग लूप फ़्रेम के बाद, होस्ट को NCI_ANDROID_POLLING_FRAME_NTF सूचना भेजनी होगी. RF_FIELD_INFO_NTF और NCI_ANDROID_POLLING_FRAME_NTF, दोनों सूचनाएं जनरेट होने पर, एनएफ़सीसी को RF_FIELD_INFO_NTF के बाद NCI_ANDROID_POLLING_FRAME_NTF भेजनी होगी.
NCI_ANDROID_POLLING_FRAME_NTF सूचना सिर्फ़ तब दिखनी चाहिए, जब ऑब्ज़र्व मोड चालू हो. ऑब्ज़र्व मोड चालू होने पर, लेन-देन करने से पहले NFCC को हमेशा NCI_ANDROID_POLLING_FRAME_NTF सूचना भेजनी चाहिए.
NCI_ANDROID_POLLING_FRAME_NTF
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| मतदान का डेटा[0..n] | (m +3) * n ऑक्टेट | पिछली सूचना के बाद से मिले पोलिंग अनुरोधों की सूची. हर नतीजे में, मिले अनुरोधों का टाइप (टेक्नोलॉजी) और टेक्नोलॉजी के आधार पर अनुरोध से पहचाने जा सकने वाले डेटा की जानकारी मिलती है. | |||||
| टाइप | 1 ऑक्टेट | फ़्रेम के टाइप देखें. | |||||
| झंडे | 1 ऑक्टेट | फ़्लैग बाइट देखें. | |||||
| लंबाई | 1 ऑक्टेट | पोलिंग डेटा रिपोर्ट की लंबाई (मीटर में). इसमें टाइमस्टैंप और गेन फ़ील्ड शामिल हैं. | |||||
| टाइमस्टैंप | 4 ऑक्टेट | पोलिंग के अनुरोध मिलने का टाइमस्टैंप, मिलीसेकंड में. यह बिग एंडियन होता है. | |||||
| वज़न बढ़ाना है | 1 ऑक्टेट | पोलिंग के अनुरोध की अहमियत.
0xFF से पता चलता है कि वैल्यू उपलब्ध नहीं है. |
|||||
| डेटा | m - 5 ऑक्टेट | यह कुकी, पोलिंग के अनुरोध में मौजूद पहचान किए जा सकने वाले डेटा को दिखाती है | |||||
फ़्रेम के टाइप
| पोलिंग फ़्रेम | टाइप | साइज़ | वैल्यू/ब्यौरा | |
|---|---|---|---|---|
| रिमोट फ़ील्ड | 0x00 | 1 ऑक्टेट | 0x00 | फ़ील्ड बंद है |
| 0x01 | फ़ील्ड चालू है | |||
| 0x02..0xFF | RFU | |||
| NFC-A | 0x01 | n ऑक्टेट | वैल्यू में ISO 14443-3 कमांड शामिल होनी चाहिए. उदाहरण के लिए, REQ या WUP | |
| NFC-B | 0x02 | n ऑक्टेट | वैल्यू में एआईएफ़ बाइट और आईएसओ 14443-3 कमांड शामिल होनी चाहिए (उदाहरण के लिए, REQ या WUP) | |
| एनएफ़सी-एफ़ | 0x03 | n ऑक्टेट | वैल्यू में JIS X 6319-4 कमांड शामिल होनी चाहिए | |
| NFC-V | 0x04 | n ऑक्टेट | वैल्यू में ISO 15693 कमांड शामिल होनी चाहिए | |
| कोई जानकारी नहीं है | 0x07 | n ऑक्टेट | रॉ फ़्रेम डेटा | |
फ़्लैग बाइट की डेफ़िनिशन
| झंडे | ||||||||
|---|---|---|---|---|---|---|---|---|
| b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | |
| 0 | छोटा फ़्रेम | RFU | RFU | RFU | RFU | RFU | RFU | RFU |
| 1 | लंबा फ़्रेम | |||||||
क्वेरी ऑब्ज़र्व मोड की स्थिति की जानकारी देने वाला कमांड
पैसिव ऑर्डर मोड की मौजूदा स्थिति को वापस पाने के लिए, होस्ट NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP के साथ जवाब देना होगा. साथ ही, स्टेटस कोड से यह बताना होगा कि लेन-देन पूरा हुआ या नहीं.
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
| टेक्नोलॉजी मास्क | 1 ऑक्टेट | बिट मास्क से पता चलता है कि किस टेक्नोलॉजी के लिए ऑब्ज़र्व मोड चालू है:
|
|
Set passive observer technologies command
पैसिव ऑब्ज़र्वर टेक्नोलॉजी सेट करने के लिए, होस्ट NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD कमांड का इस्तेमाल कर सकता है. इस कमांड की मदद से, RF_DEACTIVATE_CMD की ज़रूरत के बिना, चुनी गई टेक्नोलॉजी के लिए ऑब्ज़र्व मोड को चालू या बंद किया जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताया जाएगा कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| टेक्नोलॉजी मास्क | 1 ऑक्टेट | बिट मास्क से पता चलता है कि किन टेक्नोलॉजी के लिए ऑब्ज़र्व मोड चालू करना है:
|
|||||
NCI_ANDROID_SET_PASSIVE_OBSERVER_TECH_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन के टेबल 140 में स्टेटस कोड देखें. | |
पैसिव ऑब्ज़र्वर के लिए, एग्ज़िट फ़्रेम कमांड सेट करना
होस्ट, ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम टेबल को कॉन्फ़िगर करने के लिए, NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD कमांड का इस्तेमाल कर सकता है. इस कमांड से, ऐसे आरएफ़ फ़्रेम तय किए जाते हैं जिनसे ऑब्ज़र्व मोड बंद हो जाता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के ज़रिए यह बताया जाएगा कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| ज़्यादा देखें | 1 ऑक्टेट | 0x00 - Last message 0x01 - More messages to follow |
|||||
| टाइम आउट | दो ऑक्टेट | ऑब्ज़र्व मोड को वापस लाने के लिए, मिलीसेकंड में टाइम आउट (लिटिल एंडियन). | |||||
| आरएफ़ फ़्रेम एंट्री की संख्या | 1 ऑक्टेट | RF फ़्रेम एंट्री फ़ील्ड की संख्या (n). 0x00 से टेबल रीसेट हो जाती है. | |||||
| RF फ़्रेम एंट्री [0..n] | (2+x)*n ऑक्टेट | ||||||
| क्वालिफ़ायर-टाइप | 1 ऑक्टेट | इससे फ़्रेम टाइप और मैचिंग के विकल्पों के बारे में पता चलता है. | |||||
| वैल्यू की लंबाई | 1 ऑक्टेट | वैल्यू फ़ील्ड की लंबाई 'x' है. | |||||
| वैल्यू | x ऑक्टेट | पावर स्टेट (1), रेफ़रंस डेटा (n), मास्क (n). 1 <= n <= 16. | |||||
NCI_ANDROID_SET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
पैसिव ऑब्ज़र्वर से बाहर निकलने के फ़्रेम का निर्देश पाना
ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम की टेबल के मौजूदा कॉन्फ़िगरेशन को वापस पाने के लिए, होस्ट NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP के साथ जवाब देना होगा. इसके बाद, NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF लिखना होगा.
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
NCI_ANDROID_GET_PASSIVE_OBSERVER_EXIT_FRAME_NTF
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| ऑब्ज़र्व मोड से बाहर निकलने वाले फ़्रेम की एंट्री की संख्या | 1 ऑक्टेट | ऑब्ज़र्व मोड से बाहर निकलने के फ़्रेम में मौजूद एंट्री फ़ील्ड की संख्या (n). | |
| Entry [0..n] | x+2 ऑक्टेट | क्वालिफ़ायर-टाइप (1), लंबाई (1), वैल्यू (x). | |
खाली NCI कमांड
एनसीआई को खाली करने के लिए, होस्ट NCI_ANDROID_BLANK_NCI_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_BLANK_NCI_RSP के साथ जवाब देना होगा. साथ ही, स्टेटस कोड से यह पता चलना चाहिए कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_BLANK_NCI_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| फ़्रेम की लंबाई | 1 ऑक्टेट | फ़्रेम डेटा का साइज़ | |||||
| फ़्रेम डेटा | n ऑक्टेट | फ़्रेम का डेटा | |||||
NCI_ANDROID_BLANK_NCI_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
पोलिंग लूप एनोटेशन कमांड सेट करना
पोलिंग लूप एनोटेशन सेट करने के लिए, होस्ट NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD कमांड का इस्तेमाल करके, कस्टम पोलिंग फ़्रेम टेबल भर सकता है. इस टेबल में, कस्टम आरएफ़ फ़्रेम तय किए जाते हैं. इन्हें स्टैंडर्ड डिस्कवरी लूप में डाला जाता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. एनएफ़सीसी को NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP स्टेटस कोड के साथ जवाब देना होगा. इसमें स्टेटस कोड से यह पता चलेगा कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | ||
|---|---|---|---|---|
| आरएफ़ फ़्रेम की एंट्री की संख्या | 1 ऑक्टेट | फ़ॉलो की जाने वाली एंट्री की संख्या (n), जो 0 से 4 के बीच होनी चाहिए. n=0 होने पर, यह सुविधा बंद हो जाती है. | ||
| RF फ़्रेम एंट्री [1..n] | 2+x ऑक्टेट | |||
| क्वालिफ़ायर-टाइप | 1 ऑक्टेट | यह कुकी, फ़्रेम टाइप, टेक्नोलॉजी, और डिस्कवरी लूप में पोज़िशन तय करती है. | ||
| लंबाई | 1 ऑक्टेट | वैल्यू (x) की लंबाई. | ||
| वैल्यू | x ऑक्टेट | इंतज़ार का समय (1 बाइट) और आरएफ़ फ़्रेम (1 से 16 बाइट). | ||
NCI_ANDROID_SET_POLLING_LOOP_ANNOTATION_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
बैटरी सेव करने वाले मोड के बारे में क्वेरी करना
बैटरी सेव करने वाले मोड के बारे में क्वेरी करने के लिए, होस्ट NCI_ANDROID_QUERY_POWER_SAVING_CMD कमांड का इस्तेमाल कर सकता है. एनएफ़सीसी को NCI_ANDROID_QUERY_POWER_SAVING_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड से यह पता चलेगा कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_QUERY_POWER_SAVING_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
NCI_ANDROID_QUERY_POWER_SAVING_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |
|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | |
पैसिव ऑब्ज़र्वर के तौर पर काम करने वाले खाते के निलंबित होने की सूचना
जब कोई एक्ज़िट फ़्रेम दिखता है, तब NFCC को होस्ट को NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF सूचना भेजनी चाहिए. इससे ऑब्ज़र्व मोड निलंबित हो जाता है.
NCI_ANDROID_PASSIVE_OBSERVER_SUSPENDED_NTF
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| टाइप | 1 ऑक्टेट | फ़्रेम का टाइप: 0x00=टाइप-A, 0x01=टाइप-B | |||||
| लंबाई | 1 ऑक्टेट | वैल्यू की लंबाई (n) | |||||
| वैल्यू | n ऑक्टेट | ऐसा फ़्रेम मिला जो एग्ज़िट फ़्रेम एंट्री से मेल खाता है. | |||||
पैसिव ऑब्ज़र्वर के तौर पर शामिल किए गए खाते के लिए सूचनाएं फिर से शुरू की गईं
जब टाइम आउट या अन्य शर्तों के बाद, पैसिव ऑब्ज़र्वर को फिर से शुरू किया जाता है, तो NFCC को होस्ट को NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF सूचना भेजनी चाहिए.
NCI_ANDROID_PASSIVE_OBSERVER_RESUMED_NTF
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
पोलिंग लूप एनोटेशन कमांड पाना
NFCC की कस्टम पोलिंग फ़्रेम टेबल को पढ़ने के लिए, होस्ट NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_CMD कमांड का इस्तेमाल कर सकता है. यह निर्देश सिर्फ़ RFST_IDLE में भेजा जा सकता है. NFCC को NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP के साथ जवाब देना होगा. इसमें स्टेटस कोड के साथ-साथ, कस्टम पोलिंग फ़्रेम की जानकारी भी शामिल होगी. स्टेटस कोड से यह पता चलेगा कि अनुरोध पूरा हुआ या नहीं.
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_CMD
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | |||||
|---|---|---|---|---|---|---|---|
| लागू नहीं | 0 ऑक्टेट | ||||||
NCI_ANDROID_GET_POLLING_LOOP_ANNOTATION_RSP
| पेलोड फ़ील्ड | साइज़ | वैल्यू/जानकारी | ||
|---|---|---|---|---|
| स्थिति | 1 ऑक्टेट | एनसीआई स्पेसिफ़िकेशन की टेबल 140 में स्टेटस कोड देखें, | ||
| आरएफ़ फ़्रेम की एंट्री की संख्या | 1 ऑक्टेट | फ़ॉलो की जाने वाली एंट्री की संख्या (n), जो 0 से 4 के बीच होनी चाहिए. n=0 होने पर, यह सुविधा बंद हो जाती है. | ||
| RF फ़्रेम एंट्री [1..n] | 2+x ऑक्टेट | क्वालिफ़ायर-टाइप | 1 ऑक्टेट | यह कुकी, फ़्रेम टाइप, टेक्नोलॉजी, और डिस्कवरी लूप में पोज़िशन तय करती है. |
| लंबाई | 1 ऑक्टेट | वैल्यू (x) की लंबाई. | ||
| वैल्यू | x ऑक्टेट | इंतज़ार का समय (1 बाइट) और आरएफ़ फ़्रेम (1 से 16 बाइट). | ||
लागू करना
रेफ़रंस के तौर पर लागू करने के लिए, यहां जाएं: