1bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly/* 2bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * Copyright (C) 2010 The Android Open Source Project 3bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * 4bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * Licensed under the Apache License, Version 2.0 (the "License"); 5bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * you may not use this file except in compliance with the License. 6bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * You may obtain a copy of the License at 7bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * 8bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * http://www.apache.org/licenses/LICENSE-2.0 9bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * 10bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * Unless required by applicable law or agreed to in writing, software 11bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * distributed under the License is distributed on an "AS IS" BASIS, 12bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * See the License for the specific language governing permissions and 14bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * limitations under the License. 15bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly */ 16bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 17bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly/* 18bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * Contains the bare minimum header so that framework NFC jni can link 19bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly * against NFC native library 20bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly */ 21bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 22bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly#ifndef __ANDROID_NFC_H__ 23bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly#define __ANDROID_NFC_H__ 24bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 255629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton#define LOG_TAG "NdefMessage" 265629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton#include <utils/Log.h> 275629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton 28bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pellyextern "C" { 29bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 305629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton#if 0 3128d9f024e043817212b15f04128d0464330502eaSteve Block #define TRACE(...) ALOG(LOG_DEBUG, "NdefMessage", __VA_ARGS__) 325629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton#else 335629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton #define TRACE(...) 345629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton#endif 355629d51f221adad107a509570ab2c739d1bf1a23Jeff Hamilton 36bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pellytypedef struct phFriNfc_NdefRecord { 37bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t Flags; 38bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t Tnf; 39bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t TypeLength; 40bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t *Type; 41bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t IdLength; 42bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t *Id; 43bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint32_t PayloadLength; 44bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t *PayloadData; 45bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly} phFriNfc_NdefRecord_t; 46bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 47bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pellyuint16_t phFriNfc_NdefRecord_GetRecords(uint8_t* pBuffer, 48bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint32_t BufferLength, 49bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t* pRawRecords[ ], 50bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t IsChunked[ ], 51bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint32_t* pNumberOfRawRecords 52bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly ); 53bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pellyuint16_t phFriNfc_NdefRecord_Parse(phFriNfc_NdefRecord_t* pRecord, 54bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t* pRawRecord); 55bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 56bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pellyuint16_t phFriNfc_NdefRecord_Generate(phFriNfc_NdefRecord_t* pRecord, 57bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint8_t* pBuffer, 58bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint32_t MaxBufferSize, 59bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly uint32_t* pBytesWritten 60bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly ); 61bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly} 62bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly 63bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48Nick Pelly#endif 64