public nfc_dep_info() { abtNFCID3 = new byte[10]; btDID = 0x00; btBS = 0x00; btBR = 0x00; btTO = 0x00; btPP = 0x00; szGB = 0; abtGB = new byte[48]; ndm = nfc_dep_mode.NDM_UNDEFINED; }
nfc_initiator_poll_dep_target(nfc_device pnd, nfc_dep_mode ndm, nfc_baud_rate nbr, nfc_dep_info pndiInitiator, nfc_target pnt, int timeout) { const int period = 300; int remaining_time = timeout; int res; int result = 0; bool bInfiniteSelect = pnd.bInfiniteSelect; pnt = null; if ((res = nfc_device_set_property_bool(pnd, nfc_property.NP_INFINITE_SELECT, true)) < 0) { return(res); } while (remaining_time > 0) { if ((res = nfc_initiator_select_dep_target(pnd, ndm, nbr, pndiInitiator, ref pnt, period)) < 0) { if (res != NFC_ETIMEOUT) { result = res; break; } } if (res == 1) { result = res; break; } remaining_time -= period; } if (!bInfiniteSelect) { if ((res = nfc_device_set_property_bool(pnd, nfc_property.NP_INFINITE_SELECT, false)) < 0) { return(res); } } return(result); }
public static extern int nfc_initiator_select_dep_target(IntPtr pnd, nfc_dep_mode ndm, nfc_baud_rate nbr, ref nfc_dep_info pndiInitiator, IntPtr pnt, int timeout);
public static extern int nfc_initiator_poll_dep_target(IntPtr pnd, nfc_dep_mode ndm, nfc_baud_rate nbr, ref nfc_dep_info pndiInitiator, IntPtr pnt, int timeout);
nfc_initiator_select_dep_target(nfc_device pnd, nfc_dep_mode ndm, nfc_baud_rate nbr, nfc_dep_info pndiInitiator, ref nfc_target pnt, int timeout) { pnd.last_error = 0; return(pnd.driver.initiator_select_dep_target(pnd, ndm, nbr, pndiInitiator, ref pnt, timeout)); }