    SECTION('EQUATES')
!
!    INCLUDE('MR915APIV10.INC',  'EQUATES')   !SINGLE  After Global Includes 4000
!
CR                      EQUATE('<13><10>')
RA                      EQUATE(0FFH) !Reader Address
RFID_NET_MODE           EQUATE(0)
RFID_COM_MODE           EQUATE(1)
LOCKTAG                 EQUATE(1)
WORDCOUNT               EQUATE(6)

!*******************************************!
!// Copyright 2006 DDCT Corporation.  All rights reserved.
!// Redistribution is Prohibited.
!typedef struct
!{
!   unsigned char TagType
!   unsigned char AntNum
!   unsigned char Ids[12]
!}TagIds
!typedef short apiStatus
!
TagIds              GROUP,TYPE
TagType                 BYTE
AntNum                  BYTE
Ids                     STRING(12)
                    END
!
    SECTION('FUNCTIONS')
!
!MODULE('RFID Reader Imported Functions') !Inside Global Map 4000
!   INCLUDE('MR915APIV10.INC','FUNCTIONS')
!END
!
!*************** READER MANAGEMENT *****************
    !apiStatus __declspec(dllexport) __stdcall CommOpen (HANDLE * hCom, char *com_port)
    CommOpen(*LONG,*CSTRING),SHORT,PASCAL,RAW,NAME('CommOpen')
    !apiStatus __declspec(dllexport) __stdcall CommClose (HANDLE hCom)
    CommClose(LONG),SHORT,PASCAL,RAW,NAME('CommClose')
    !apiStatus __declspec(dllexport) __stdcall SetBaudRate(HANDLE hCom, USHORT BaudRate, unsigned char ReaderAddr = 0xff)
    SetBaudRate(LONG,USHORT,BYTE),SHORT,PASCAL,RAW,NAME('SetBaudRate')
    !apiStatus __declspec(dllexport) __stdcall ResetReader(HANDLE hCom, unsigned char ReaderAddr = 0xff)
    ResetReader(LONG,BYTE),SHORT,PASCAL,RAW,NAME('ResetReader')
    !apiStatus __declspec(dllexport) __stdcall GetFirmwareVersion (HANDLE hCom, unsigned char *major,unsigned char *minor, unsigned char ReaderAddr = 0xff)
    GetFirmwareVersion(LONG,*BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('GetFirmwareVersion')
    !apiStatus __declspec(dllexport) __stdcall SetRf(HANDLE hCom,unsigned char power,unsigned char freq_type,unsigned char ReaderAddr = 0xff)
    SetRf(LONG,BYTE,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('SetRf')
    !apiStatus __declspec(dllexport) __stdcall GetRf(HANDLE hCom,unsigned char * power,unsigned char  *freq_type,unsigned char ReaderAddr = 0xff)
    GetRf(LONG,*BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('GetRf')
    !apiStatus __declspec(dllexport) __stdcall GetAnt(HANDLE hCom,unsigned char * ant,unsigned char ReaderAddr)
    GetAnt(LONG,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('?GetAnt@@YGFPAXPAEE@Z')
    !apiStatus __declspec(dllexport) __stdcall SetAnt(HANDLE hCom,unsigned char ant,unsigned char ReaderAddr)
    SetAnt(LONG,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('?SetAnt@@YGFPAXEE@Z')
    !
!*************** ACTIVE TAGS *****************
    !apiStatus __declspec(dllexport) __stdcall IsoMultiTagIdentify(HANDLE hCom, unsigned int * Count,TagIds *value, unsigned char ReaderAddr = 0xff)
    IsoMultiTagIdentify(LONG,*ULONG,*LONG,BYTE),SHORT,PASCAL,RAW,NAME('IsoMultiTagIdentify')
    !apiStatus __declspec(dllexport) __stdcall IsoMultiTagRead(HANDLE hCom,  unsigned char iRomAddr,unsigned int * Count,TagIds *value, unsigned char ReaderAddr = 0xff)
    IsoMultiTagRead(LONG,BYTE,*ULONG,*LONG,BYTE),SHORT,PASCAL,RAW,NAME('IsoMultiTagRead')
    !apiStatus __declspec(dllexport) __stdcall IsoWriteTag(HANDLE hCom ,unsigned char iRomAddr,unsigned char value, unsigned char ReaderAddr = 0xff)
    IsoWriteTag(LONG,BYTE,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoWriteTag')
    !apiStatus __declspec(dllexport) __stdcall IsoReadWithID(HANDLE hCom, unsigned char* TagID,unsigned char iRomAddr,unsigned char *AntNum,unsigned char* value, unsigned char ReaderAddr = 0xff)
    IsoReadWithID(LONG,*BYTE,BYTE,*BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoReadWithID')
    !apiStatus __declspec(dllexport) __stdcall IsoWriteWithID(HANDLE hCom, unsigned char* TagID,unsigned char iRomAddr,unsigned char value, unsigned char ReaderAddr = 0xff)
    IsoWriteWithID(LONG,*BYTE,BYTE,*BYTE,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoWriteWithID')
    !apiStatus __declspec(dllexport) __stdcall IsoLockTag(HANDLE hCom ,unsigned char iRomAddr, unsigned char ReaderAddr = 0xff)
    IsoLockTag(LONG,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoLockTag')
    !apiStatus __declspec(dllexport) __stdcall IsoQueryLock(HANDLE hCom, unsigned char iRomAddr,unsigned char *status, unsigned char ReaderAddr = 0xff)
    IsoQueryLock(LONG,BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoQueryLock')
    !apiStatus __declspec(dllexport) __stdcall IsoBlockWrite(HANDLE hCom, unsigned char iRomAddr,unsigned char length,unsigned char* value, unsigned char ReaderAddr = 0xff)
    IsoBlockWrite(LONG,BYTE,BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoBlockWrite')
    !apiStatus __declspec(dllexport) __stdcall IsoSigleTagRead(HANDLE hCom, unsigned char iRomAddr,unsigned char * value,unsigned char ReaderAddr = 0xff)
    IsoSigleTagRead(LONG,BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('IsoSigleTagRead')
!
!*************** PASIVE TAGS *****************
    !apiStatus __declspec(dllexport) __stdcall Gen2MultiTagIdentify(HANDLE hCom, unsigned int * Count,TagIds *value, unsigned char ReaderAddr = 0xff)
    Gen2MultiTagIdentify(LONG,*ULONG,LONG,BYTE),SHORT,PASCAL,RAW,NAME('Gen2MultiTagIdentify')
    !apiStatus __declspec(dllexport) __stdcall Gen2WriteEPC(HANDLE hCom ,unsigned char WordPtr,unsigned int value, unsigned char ReaderAddr = 0xff)
    Gen2WriteEPC(LONG,*BYTE,LONG,BYTE),SHORT,PASCAL,RAW,NAME('Gen2WriteEPC')
    !apiStatus __declspec(dllexport) __stdcall Gen2LockTag(HANDLE hCom,unsigned char MemBank = 1, unsigned char ReaderAddr = 0xff)
    Gen2LockTag(LONG,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('Gen2LockTag')
    !apiStatus __declspec(dllexport) __stdcall Gen2KillTag(HANDLE hCom ,unsigned int PassWord, unsigned char ReaderAddr = 0xff)
    Gen2KillTag(LONG,ULONG,BYTE),SHORT,PASCAL,RAW,NAME('Gen2KillTag')
    !apiStatus __declspec(dllexport) __stdcall Gen2InitEPC(HANDLE hCom, unsigned char WordCount = 6, unsigned char ReaderAddr = 0xff)
    Gen2InitEPC(LONG,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('Gen2InitEPC')
    !apiStatus __declspec(dllexport) __stdcall Gen2Read(HANDLE hCom,unsigned char Membank,unsigned char WordPtr,unsigned char WordCnt, unsigned char *value, unsigned char ReaderAddr )
    Gen2Read(LONG,BYTE,BYTE,BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('Gen2Read')
    !apiStatus __declspec(dllexport) __stdcall Gen2Write(HANDLE hCom ,unsigned char Membank,unsigned char WordPtr,unsigned int value, unsigned char ReaderAddr= 0xff )
    Gen2Write(LONG,BYTE,BYTE,BYTE,BYTE),SHORT,PASCAL,RAW,NAME('Gen2Write')
    !apiStatus __declspec(dllexport) __stdcall Gen2BlockWrite(HANDLE hCom ,unsigned char Membank,unsigned char WordPtr,unsigned char WordCnt,unsigned char *value, unsigned char ReaderAddr = 0xff)
    Gen2BlockWrite(LONG,BYTE,BYTE,BYTE,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('Gen2BlockWrite')
!
!*************** DATA MANAGEMENT *****************
    !apiStatus __declspec(dllexport) __stdcall GetTagData(HANDLE hCom,int Count,TagIds *value, unsigned char ReaderAddr = 0xff)
    GetTagData(LONG,LONG,*LONG,BYTE),SHORT,PASCAL,RAW,NAME('GetTagData')
    !apiStatus __declspec(dllexport) __stdcall ClearIDBuffer(HANDLE hCom,unsigned char ReaderAddr = 0xff)
    ClearIDBuffer(LONG,BYTE),SHORT,PASCAL,RAW,NAME('ClearIDBuffer')
    !apiStatus __declspec(dllexport) __stdcall QueryIDCount(HANDLE hCom,unsigned char* Count,unsigned char ReaderAddr = 0xff)
    QueryIDCount(LONG,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('QueryIDCount')
    !apiStatus __declspec(dllexport) __stdcall GetIdWithoutDel(HANDLE hCom,unsigned char *value,unsigned char ReaderAddr = 0xff)
    GetIdWithoutDel(LONG,*BYTE,BYTE),SHORT,PASCAL,RAW,NAME('GetIdWithoutDel')
    !apiStatus __declspec(dllexport) __stdcall GetIDACK(HANDLE hCom,unsigned char ReaderAddr = 0xff)
    GetIDACK(LONG,BYTE),SHORT,PASCAL,RAW,NAME('GetIDACK')


