RESPONSECODE IFDHCreateChannel (DWORD Lun, DWORD Channel) { if (vicc_init(Channel) < 0) { Log1(PCSC_LOG_ERROR, "Could not initialize connection to virtual ICC"); return IFD_COMMUNICATION_ERROR; } Log2(PCSC_LOG_INFO, "Waiting for virtual ICC on port %hu", (unsigned short) Channel); return IFD_SUCCESS; }
RESPONSECODE IFDHCreateChannel (DWORD Lun, DWORD Channel) { size_t slot = Lun & 0xffff; if (slot >= vicc_max_slots) { return IFD_COMMUNICATION_ERROR; } if (!hostname) Log2(PCSC_LOG_INFO, "Waiting for virtual ICC on port %hu", (unsigned short) (Channel+slot)); ctx[slot] = vicc_init(hostname, Channel+slot); if (!ctx[slot]) { Log1(PCSC_LOG_ERROR, "Could not initialize connection to virtual ICC"); return IFD_COMMUNICATION_ERROR; } if (hostname) Log3(PCSC_LOG_INFO, "Connected to virtual ICC on %s port %hu", hostname, (unsigned short) (Channel+slot)); return IFD_SUCCESS; }