1f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton/* 2f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Copyright (C) 2011 The Android Open Source Project 3f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * 4f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * you may not use this file except in compliance with the License. 6f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * You may obtain a copy of the License at 7f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * 8f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * http://www.apache.org/licenses/LICENSE-2.0 9f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * 10f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Unless required by applicable law or agreed to in writing, software 11f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * distributed under the License is distributed on an "AS IS" BASIS, 12f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * See the License for the specific language governing permissions and 14f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * limitations under the License. 15f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 16f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 17f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamiltonpackage com.android.nfc; 18f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 19a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Moralesimport android.annotation.Nullable; 20f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamiltonimport android.nfc.NdefMessage; 21f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamiltonimport android.os.Bundle; 22f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 234a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamiltonimport java.io.IOException; 244a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 25f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamiltonpublic interface DeviceHost { 26f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public interface DeviceHostListener { 27f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public void onRemoteEndpointDiscovered(TagEndpoint tag); 28f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 29f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton /** 309f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen */ 319f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public void onHostCardEmulationActivated(); 329f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public void onHostCardEmulationData(byte[] data); 339f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public void onHostCardEmulationDeactivated(); 349f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen 359f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen /** 36f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Notifies P2P Device detected, to activate LLCP link 37f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 38f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public void onLlcpLinkActivated(NfcDepEndpoint device); 39f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 40f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton /** 41f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Notifies P2P Device detected, to activate LLCP link 42f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 43f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public void onLlcpLinkDeactivated(NfcDepEndpoint device); 44f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 4557a44d07a3de327e8cdbbcd622118aa517313dbeMartijn Coenen public void onLlcpFirstPacketReceived(NfcDepEndpoint device); 46c19c065b6d0e1a088780c4dca27a1404d5926765Martijn Coenen 47c19c065b6d0e1a088780c4dca27a1404d5926765Martijn Coenen public void onRemoteFieldActivated(); 48c19c065b6d0e1a088780c4dca27a1404d5926765Martijn Coenen 49c19c065b6d0e1a088780c4dca27a1404d5926765Martijn Coenen public void onRemoteFieldDeactivated(); 50f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton } 51f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 52f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public interface TagEndpoint { 53f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean connect(int technology); 54f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean reconnect(); 55f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean disconnect(); 56f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 57f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean presenceCheck(); 58f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean isPresent(); 59a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales void startPresenceChecking(int presenceCheckDelay, 60a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales @Nullable TagDisconnectedCallback callback); 61f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 62f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton int[] getTechList(); 63f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton void removeTechnology(int tech); // TODO remove this one 64f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton Bundle[] getTechExtras(); 65f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton byte[] getUid(); 66f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton int getHandle(); 67f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 68f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton byte[] transceive(byte[] data, boolean raw, int[] returnCode); 69f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 70f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean checkNdef(int[] out); 71f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton byte[] readNdef(); 72f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean writeNdef(byte[] data); 73391cfe2479eca2080c14d1832599ad51cafae918Nick Pelly NdefMessage findAndReadNdef(); 74f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean formatNdef(byte[] key); 75f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean isNdefFormatable(); 76f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton boolean makeReadOnly(); 77bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen 78bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen int getConnectedTechnology(); 79f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton } 80f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 81a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales public interface TagDisconnectedCallback { 82a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales void onTagDisconnected(long handle); 83a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales } 84a30388eb7ddeabe1c9b85d49a65b82aac6a845caAndres Morales 85f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public interface NfceeEndpoint { 86f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton // TODO flesh out multi-EE and use this 87f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton } 88f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 89f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public interface NfcDepEndpoint { 90f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 91f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton /** 92f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Peer-to-Peer Target 93f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 94f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public static final short MODE_P2P_TARGET = 0x00; 95f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton /** 96f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Peer-to-Peer Initiator 97f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 98f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public static final short MODE_P2P_INITIATOR = 0x01; 99f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton /** 100f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton * Invalid target mode 101f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton */ 102f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public static final short MODE_INVALID = 0xff; 103f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 104f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public byte[] receive(); 105f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 106f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean send(byte[] data); 107f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 108f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean connect(); 109f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 110f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean disconnect(); 111f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 112f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public byte[] transceive(byte[] data); 113f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 114f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public int getHandle(); 115f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 116f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public int getMode(); 117f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 118f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public byte[] getGeneralBytes(); 1192daeeee63456a515693980372908234e1fa14ba5Martijn Coenen 1202daeeee63456a515693980372908234e1fa14ba5Martijn Coenen public byte getLlcpVersion(); 121f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton } 122f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 1234a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public interface LlcpSocket { 1244a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void connectToSap(int sap) throws IOException; 1254a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1264a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void connectToService(String serviceName) throws IOException; 1274a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1284a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void close() throws IOException; 1294a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1304a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void send(byte[] data) throws IOException; 1314a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1324a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int receive(byte[] recvBuff) throws IOException; 1334a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1344a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int getRemoteMiu(); 1354a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1364a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int getRemoteRw(); 1374a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1384a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int getLocalSap(); 1394a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1404a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int getLocalMiu(); 1414a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1424a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public int getLocalRw(); 1434a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton } 1444a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1454a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public interface LlcpServerSocket { 1464a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public LlcpSocket accept() throws IOException, LlcpException; 1474a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 1484a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void close() throws IOException; 1494a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton } 1504a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 151e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public interface LlcpConnectionlessSocket { 152e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public int getLinkMiu(); 153e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 154e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public int getSap(); 155e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 156e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public void send(int sap, byte[] data) throws IOException; 157e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 158e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public LlcpPacket receive() throws IOException; 159e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 160e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen public void close() throws IOException; 161e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen } 162e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 1630fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton /** 1640fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton * Called at boot if NFC is disabled to give the device host an opportunity 1650fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton * to check the firmware version to see if it needs updating. Normally the firmware version 166d2604c0544f7bc26e5b2407f0215cccfffedae2cAndres Morales * is checked during {@link #initialize(boolean enableScreenOffSuspend)}, 167d2604c0544f7bc26e5b2407f0215cccfffedae2cAndres Morales * but the firmware may need to be updated after an OTA update. 1680fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton * 1690fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton * <p>This is called from a thread 1700fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton * that may block for long periods of time during the update process. 1710fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton */ 1720fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton public void checkFirmware(); 1730fe7049a3224aa7b29cc980be07387e17607b0deJeff Hamilton 174304a6342ee7e5620d3b50d988755c035f1686dc2Martijn Coenen public boolean initialize(); 175f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 176f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean deinitialize(); 177f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 178525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project public String getName(); 179525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 1800799bcbe2469aa6a88c6cbdf0cdee5b50e1994f0Andres Morales public void enableDiscovery(NfcDiscoveryParameters params, boolean restart); 181f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 182a1e95d30dbe8dad0a8bb333b4ca17c009fc34e2fAndres Morales public void disableDiscovery(); 183f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 1849f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public boolean sendRawFrame(byte[] data); 1859f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen 1869f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public boolean routeAid(byte[] aid, int route); 1879f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen 1889f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen public boolean unrouteAid(byte[] aid); 1899f8f6cf9c58405ecafe2d425801e6c14088db8c7Martijn Coenen 190f5c979220fadb2c3ac0bca09e16d0d281ed20eb2Martijn Coenen public boolean commitRouting(); 191f5c979220fadb2c3ac0bca09e16d0d281ed20eb2Martijn Coenen 1923b82eef50f734cab061330f55de8b8bf5396f24bMartijn Coenen public LlcpConnectionlessSocket createLlcpConnectionlessSocket(int nSap, String sn) 193e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen throws LlcpException; 194e008eba3b51c5303d52bf3e9e989dfd03b18435aMartijn Coenen 1954a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public LlcpServerSocket createLlcpServerSocket(int nSap, String sn, int miu, 1964a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton int rw, int linearBufferLength) throws LlcpException; 197f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 1984a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public LlcpSocket createLlcpSocket(int sap, int miu, int rw, 1994a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton int linearBufferLength) throws LlcpException; 200f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 201f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean doCheckLlcp(); 202f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 203f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean doActivateLlcp(); 204f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 205f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public void resetTimeouts(); 206f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton 207f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton public boolean setTimeout(int technology, int timeout); 208358d8b6ad611aba11e69a3b1dd9d132dbc9a7605Martijn Coenen 209358d8b6ad611aba11e69a3b1dd9d132dbc9a7605Martijn Coenen public int getTimeout(int technology); 2104a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton 2114a61d3b45e81c0070538f94747a70a49c78f12faJeff Hamilton public void doAbort(); 212bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen 213bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen boolean canMakeReadOnly(int technology); 214bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen 215bf6e5d1655d5ad524a8ec007413c7011ed969df8Martijn Coenen int getMaxTransceiveLength(int technology); 21656f2a7bc39a14487f01cbf2d131ba3cde4126f2dMartijn Coenen 2170c39284106d29e8852197d163dcc95c01da29f0dMartijn Coenen void setP2pInitiatorModes(int modes); 2180c39284106d29e8852197d163dcc95c01da29f0dMartijn Coenen 2190c39284106d29e8852197d163dcc95c01da29f0dMartijn Coenen void setP2pTargetModes(int modes); 2200c39284106d29e8852197d163dcc95c01da29f0dMartijn Coenen 221ba15143ff54f5078f9b2cef5804525d387c52c72Martijn Coenen boolean getExtendedLengthApdusSupported(); 222ba15143ff54f5078f9b2cef5804525d387c52c72Martijn Coenen 223525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project int getDefaultLlcpMiu(); 224525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 225525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project int getDefaultLlcpRwSize(); 226525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 22756f2a7bc39a14487f01cbf2d131ba3cde4126f2dMartijn Coenen String dump(); 228c4e4277a71c70e96198cb760676ad3b40f9e0e3dMartijn Coenen 229d2604c0544f7bc26e5b2407f0215cccfffedae2cAndres Morales boolean enableScreenOffSuspend(); 230d2604c0544f7bc26e5b2407f0215cccfffedae2cAndres Morales 231d2604c0544f7bc26e5b2407f0215cccfffedae2cAndres Morales boolean disableScreenOffSuspend(); 232f6c56a2191d58e3f9f68e3e7d94908b04b9b66ffJeff Hamilton} 233