123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #ifndef __CARD_MIX_H
- #define __CARD_MIX_H
- #pragma once
- const int MAX_MAG_TRACK_NUM = 3;
- const int MAX_MAG_TRACK_SIZE = 512;
- const int MAX_IC_BUFFER_SIZE = 1024;
- const int MAX_SLOT_BUFFER_SIZE = 4096;
- //move card to position
- enum CardPosEnum
- {
- CI_MOVECARD_FRONT_GATE, //reject to front gate,hold card
- CI_MOVECARD_RF_POSITION, //rf position
- CI_MOVECARD_IC_POSITION, //ic position
- CI_MOVECARD_MAG_POSITION, //magnetic position
- CI_MOVECARD_BACK_NOT_HOLD, //capture to retain bin
- CI_MOVECARD_FROM_HOPPER, //card set from hopper
- CI_MOVECARD_RETRIEVE, //retrieve card,which is in Gate position
- };
- //card entry type
- enum CardInEnum
- {
- CI_CARD_IN_TYPE_FORBIDDEN, //forbidden card entry
- CI_CARD_IN_TYPE_MAG, //accept only Magnetic card entry
- CI_CARD_IN_TYPE_ALL //accept any card
- };
- enum CardStatusEnum
- {
- CI_MEDIA_NOTPRESENT, //卡机任何位置没有发现卡片
- //以下仅供大机使用
- CI_MEDIA_PRESENT, //卡机内部发现卡片
- CI_MEDIA_JAMMED, //卡片卡住
- CI_MEDIA_ENTERING, //卡片在进卡口
- CI_MEDIA_IC, //已废弃
- CI_MEDIA_NOT_IC, //已废弃
- CI_MEDIA_RF, //检测到非接卡片(ContactlessCard借用)
- CI_MEDIA_IDCARD, //检测到身份证(ContactlessCard借用)
- };
- //retain bin state
- enum RtBinStatusEnum
- {
- CI_RETAINBIN_OK, //number of retained card less than half of retain bin's capacity
- CI_RETAIN_NOTSUPP, //no retain bin
- CI_RETAINBIN_FULL, //retain bin is full
- CI_RETAINBIN_HIGH, //retain bin is almost full,number of retain card more
- //than half of retain bin's capacity
- };
- //issue hopper state
- enum IssHopperStatusEnum
- {
- CI_ISSUEHOPPER_OK, //number of issued card more than half of issue hopper's capacity
- CI_ISSUEHOPPER_NOTSUPP, //no issue hopper
- CI_ISSUEHOPPER_EMPTY, //issue hopper is empty
- CI_ISSUEHOPPER_LOW, //issue hopper is almost empty,number of card less
- //than half of issue hopper's capacity
- };
- enum LightPosEnum
- {
- CI_LIGHT_MAG = 0x1, //the magnetic stripe light flicker
- CI_LIGHT_IC = 0x2, //the IC card light flicker
- //CI_LIGHT_MAG_IC, //both the magnetic and IC light flicker
- CI_LIGHT_CONTACTLESS = 0x4, //the contactless card light flicker
- CI_LIGHT_IDCERTIFICATE = 0x8, //the IDCertificate card light flicker
- };
- enum TrackSrcEnum
- {
- CI_TRACK_SOURCE_1, //magnetic track 1
- CI_TRACK_SOURCE_2, //magnetic track 2
- CI_TRACK_SOURCE_3, //magnetic track 3
- };
- //magnetic track range for read&write
- enum TrackRange
- {
- CI_TRACK_RANGE_START = 0,
- CI_TRACK_RANGE_1 = 1, //track1
- CI_TRACK_RANGE_2, //track2
- CI_TRACK_RANGE_1_2, //track1&track2
- CI_TRACK_RANGE_3, //track3
- CI_TRACK_RANGE_1_3, //track1&track3
- CI_TRACK_RANGE_2_3, //track2&track3
- CI_TRACK_RANGE_1_2_3, //track1&track2&track3
- };
- //track data state
- enum TrackDataStateEnum
- {
- CI_DATA_OK, //data ok
- CI_DATA_INVALID,
- };
- enum MagWriteModeEnum
- {
- HIGH_CO,
- LOW_CO,
- AUTO_CO
- //HIGH_CO_NORMAL, //high-co card writing with normal read method at write-verify
- //LOW_CO_NORMAL, //low-co card writing with normal read method at write-verify
- //AUTO_CO_NORMAL, //auto judge high-co/low-co card with normal read method at write-verify
- //HIGH_CO_EXTRA, //high-co card writing with extra read method at write-verify
- //LOW_CO_EXTRA, //low-co card writing with extra read method at write-verify
- //AUTO_CO_EXTRA //auto judge high-co/low-co card with extra read method at write-verify
- };
- enum MifareFuctionEnum
- {
- CI_MIFARE_LOAD_KEY, //load key
- CI_MIFARE_AUTH, //authentication
- CI_MIFARE_READ, //read
- CI_MIFARE_WRITE, //write
- CI_MIFARE_INC, //increment transfer
- CI_MIFARE_DEC //decrement transfer
- };
- struct CmdInfo
- {
- DWORD dwSize;
- BYTE data[MAX_IC_BUFFER_SIZE];
- };
- struct TrackInfo
- {
- TrackSrcEnum eSource;
- TrackDataStateEnum eStatus;
- DWORD dwSize;
- BYTE data[MAX_MAG_TRACK_SIZE];
- };
- struct MagTracks
- {
- TrackRange eRange;
- TrackInfo track[MAX_MAG_TRACK_NUM];
- };
- struct CardNo
- {
- DWORD dwSize;
- DWORD dwTrack2Size;
- DWORD dwTrack3Size;
- char account[MAX_MAG_TRACK_SIZE];
- char track2[MAX_MAG_TRACK_SIZE];
- char track3[MAX_MAG_TRACK_SIZE];
- };
- struct SlotStatus
- {
- DWORD dwSize;//sum of slots
- //数据下标0~x 表示对应卡槽号0~x的是否有卡的状态
- //0:卡槽为空,1:卡槽有卡;
- BYTE status[MAX_SLOT_BUFFER_SIZE];
- };
- enum DevOpenType
- {
- DEV_OPEN_TYPE_USB = 1,
- DEV_OPEN_TYPE_COM = 2,
- DEV_OPEN_TYPE_BLUETOOTH = 4,
- };
- #endif//__CARD_MIX_H
|