package cn.pda.rfid.hf;

import java.util.List;


public interface HfConmmand {
	/**
	 * 14443A 寻卡
	 * @return
	 */
	public byte[] findCard14443A(Error error);

	/**
	 * 14443A 认证
	 * @param authType 认证类型 01--A 02--B
	 @param access 密码
	  * @param uid 14443A uid
	 * @param sector 卡扇区
	 * @return
	 */
	public int auth14443A(int authType, byte[] access, byte[] uid, int sector, Error error);

	/**
	 * 14443A 读块数据
	 * @param block 块号
	 * @return
	 */
	public byte[] read14443A(int block, Error error);

	/**
	 * 14443A 写数据
	 * @param writeData
	 * @param block
	 * @return
	 */
	public int write14443A(byte[] writeData, int block, Error error);

	/***
	 * 暂停卡片操作
	 * @return
	 */
	int halt() ;

	/**
	 * 15693 寻卡
	 * @return
	 */
	public List<Iso15693InventoryInfo> findCard15693(Error error);

	/**
	 * 15693 获取PICC 系统信息
	 * @param uid
	 * @return
	 */
	public Iso15693CardInformation getInformation15693(byte[] uid, int flags, Error error);

	/**
	 * 15693 读单块数据
	 * @param uid
	 * @return
	 */
	public byte[] readSingleBlock15693(byte[] uid, int flag, int block, Error error);

	/**
	 * 15693写数据
	 * @param uid
	 * @param block
	 * @param writeData
	 * @return
	 */
	public int writeSingleBlock(byte[] uid, int flag, int block, byte[] writeData, Error error);
}
