00001 #ifndef _posnetH_
00002 #define _posnetH_
00003
00004
00005
00006
00007
00008
00009
00010
00289
00290 #ifdef __WIN32__
00291 #define WIN32
00292 #endif
00293
00294 #ifdef WIN32
00295 #ifdef POSNET_EXPORTS
00296 #define POSNET_API __declspec(dllexport)
00297 #else
00298 #define POSNET_API __declspec(dllimport)
00299 #endif
00300 #else
00301 #define POSNET_API
00302 #define __stdcall
00303 #define __cdecl
00304 #endif
00305
00306 extern "C"
00307 {
00308
00317 typedef void* POSNET_HANDLE;
00321 typedef unsigned long POSNET_STATUS;
00325 typedef unsigned long POSNET_STATE;
00329 typedef unsigned short POSNET_CMD;
00333 typedef unsigned long POSNET_DATA_TYPE;
00334
00342 POSNET_API unsigned long __stdcall POS_GetLibraryVersion();
00343
00344
00358 #define POSNET_DATATYPE_STRING 'S'
00359 #define POSNET_DATATYPE_BYTE 'B'
00360 #define POSNET_DATATYPE_WORD 'V'
00361 #define POSNET_DATATYPE_LONG 'L'
00362 #define POSNET_DATATYPE_QUANTITY 'Q'
00363 #define POSNET_DATATYPE_CURRENCY 'K'
00364 #define POSNET_DATATYPE_NUMERIC 'N'
00365 #define POSNET_DATATYPE_INVALID '*'
00366
00367
00376 #define POSNET_DEBUG_NONE 0x00000000
00377 #define POSNET_DEBUG_ALL 0xFFFFFFFF
00378 #define POSNET_SUBSYSTEM_DEVICE 0x00001000
00379 #define POSNET_SUBSYSTEM_DEVICERS232 0x00002000
00380 #define POSNET_SUBSYSTEM_DEVICEETHER 0x00004000
00381 #define POSNET_SUBSYSTEM_DEVICEUSB 0x00008000
00382
00383 #define POSNET_SUBSYSTEM_FRAME 0x00010000
00384
00385 #define POSNET_DEBUG_EXTRA 0x00800000
00386
00415 POSNET_API void __stdcall POS_SetDebugLevel(POSNET_HANDLE hGlobalDevice, unsigned long debugLevel);
00416
00423 POSNET_API void __stdcall POS_SetDebugFileName(POSNET_HANDLE hGlobalDevice, const char *fileName);
00424
00441 #define POSNET_INTERFACE_RS232 0x0001
00442
00453 #define POSNET_INTERFACE_USB 0x0002
00454
00461 #define POSNET_INTERFACE_ETH 0x0003
00462
00482 #define POSNET_DEV_PARAM_COMSETTINGS 0x00020001
00483
00506 #define POSNET_DEV_PARAM_STRINGHANDLING 0x00020002
00507
00519 #define POSNET_DEV_PARAM_DECIMALSEPARATOR 0x00020003
00520
00527 #define POSNET_DEV_PARAM_SENDTIMEOUT 0x00020004
00528
00536 #define POSNET_DEV_PARAM_IP 0x00020005
00537
00544 #define POSNET_DEV_PARAM_IPPORT 0x00020006
00545
00554 #define POSNET_DEV_PARAM_USBSERIAL 0x00020007
00555
00569 #define POSNET_DEV_PARAM_LISTUSBSERIALS 0x00020008
00570
00581 #define POSNET_DEV_PARAM_OUTQUEUELENGTH 0x00020009
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594 #define POSNET_DEV_PARAM_NOSYNC 0x0002000A
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611 #define POSNET_DEV_PARAM_MODEMMODE 0x0002000B
00612
00621 #define POSNET_DEV_PARAM_MODEMINIT 0x0002000C
00622
00633 #define POSNET_DEV_PARAM_MODEMDIAL 0x0002000D
00634
00635
00647 #define POSNET_STRINGMODE_PREDEF 0x00
00648 #define POSNET_STRINGMODE_INTELLIGENT 0x01
00649
00650
00671 POSNET_API POSNET_HANDLE __stdcall POS_CreateDeviceHandle(unsigned long deviceType);
00672
00680 POSNET_API POSNET_HANDLE __stdcall POS_OpenDevice(POSNET_HANDLE hGlobalDevice);
00689 POSNET_API POSNET_STATUS __stdcall POS_CloseDevice(POSNET_HANDLE hLocalDevice);
00698 POSNET_API POSNET_STATUS __stdcall POS_DestroyDeviceHandle(POSNET_HANDLE hGlobalDevice);
00707 POSNET_API POSNET_STATUS __stdcall POS_SetDeviceParam(POSNET_HANDLE hDevice, unsigned long paramCode,void *paramValue);
00716 POSNET_API POSNET_STATUS __stdcall POS_GetDeviceParam(POSNET_HANDLE hDevice, unsigned long paramCode,void *paramValue);
00717
00718
00730 POSNET_API POSNET_STATUS __stdcall POS_ModemDial(POSNET_HANDLE hGlobalDevice,int wait);
00731
00742 POSNET_API POSNET_STATUS __stdcall POS_ModemDisconnect(POSNET_HANDLE hGlobalDevice,int wait);
00743
00751 POSNET_API POSNET_STATUS __stdcall POS_ModemStatus(POSNET_HANDLE hGlobalDevice);
00752
00762 POSNET_API POSNET_STATUS __stdcall POS_ModemWrite(POSNET_HANDLE hGlobalDevice,const char *buffer);
00763
00777 #define POSNET_STATUS_OK 0x00000000
00778 #define POSNET_STATUS_OUTOFMEMORY 0x00000001
00779 #define POSNET_STATUS_FRAMETOOSHORT 0x00000002
00780 #define POSNET_STATUS_FRAMINGERROR 0x00000003
00781 #define POSNET_STATUS_COULDNOTOPEN 0x00000005
00782 #define POSNET_STATUS_CRCERROR 0x00000006
00783 #define POSNET_STATUS_IPCERROR 0x00000007
00784 #define POSNET_STATUS_COMMERROR 0x00000008
00785 #define POSNET_STATUS_USBERROR 0x00000009
00786 #define POSNET_STATUS_FTLIBIMPORTFAIL 0x0000000A
00787 #define POSNET_STATUS_COULDNOTSETUPPORT 0x0000000B
00788 #define POSNET_STATUS_COULDNOTOPEN_ACCESSDENIED 0x0000000C
00789 #define POSNET_STATUS_COULDNOTOPEN_FILENOTFOUND 0x0000000D
00790 #define POSNET_STATUS_SETUP_INVALIDBAUD 0x0000000E
00791 #define POSNET_STATUS_SETUP_INVALIDDATA 0x0000000F
00792 #define POSNET_STATUS_SETUP_INVALIDPARITY 0x00000010
00793 #define POSNET_STATUS_SETUP_INVALIDSTOP 0x00000011
00794 #define POSNET_STATUS_SETUP_INVALIDHANDSHAKE 0x00000012
00795 #define POSNET_STATUS_INVALIDSTATE 0x00000013
00796 #define POSNET_STATUS_DEVICE_BUSY 0x00000014
00797
00798 #define POSNET_STATUS_BUSY 0x00000020
00799 #define POSNET_STATUS_BUSY_LEVER 0x00000021
00800 #define POSNET_STATUS_BUSY_MECHANISM 0x00000022
00801 #define POSNET_STATUS_BUSY_COVER 0x00000023
00802 #define POSNET_STATUS_BUSY_PAPER 0x00000024
00803 #define POSNET_STATUS_BUSY_TEMP 0x00000025
00804 #define POSNET_STATUS_BUSY_POWER 0x00000026
00805 #define POSNET_STATUS_BUSY_CUTTER 0x00000027
00806
00807 #define POSNET_STATUS_ALREADY_COMPLETED 0x00010000
00808 #define POSNET_STATUS_EMPTY 0x00010001
00809 #define POSNET_STATUS_INVALIDVALUE 0x00010002
00810 #define POSNET_STATUS_TIMEOUT 0x00010003
00811 #define POSNET_STATUS_PENDING 0x00010004
00812 #define POSNET_STATUS_INVALIDCOMMAND 0x00010005
00813 #define POSNET_STATUS_INVALIDHANDLE 0x00010006
00814 #define POSNET_STATUS_BUFFERTOOSHORT 0x00010007
00815 #define POSNET_STATUS_OUTOFRANGE 0x00010008
00816 #define POSNET_STATUS_INVALIDSPOOLMODE 0x00010009
00817 #define POSNET_STATUS_CANCELLED 0x0001000A
00818
00819 #define POSNET_STATUS_COULDNOTOPEN_WSAEINTR 0x00000030
00820 #define POSNET_STATUS_COULDNOTOPEN_WSAEACCES 0x00000031
00821 #define POSNET_STATUS_COULDNOTOPEN_WSAEINPROGRESS 0x00000032
00822 #define POSNET_STATUS_COULDNOTOPEN_WSAEDESTADDRREQ 0x00000033
00823 #define POSNET_STATUS_COULDNOTOPEN_WSAEADDRINUSE 0x00000034
00824 #define POSNET_STATUS_COULDNOTOPEN_WSAEADDRNOTAVAIL 0x00000035
00825 #define POSNET_STATUS_COULDNOTOPEN_WSAENETDOWN 0x00000036
00826 #define POSNET_STATUS_COULDNOTOPEN_WSAENETUNREACH 0x00000037
00827 #define POSNET_STATUS_COULDNOTOPEN_WSAENETRESET 0x00000038
00828 #define POSNET_STATUS_COULDNOTOPEN_WSAECONNABORTED 0x00000039
00829 #define POSNET_STATUS_COULDNOTOPEN_WSAECONNRESET 0x0000003A
00830 #define POSNET_STATUS_COULDNOTOPEN_WSAETIMEDOUT 0x0000003B
00831 #define POSNET_STATUS_COULDNOTOPEN_WSAECONNREFUSED 0x0000003c
00832 #define POSNET_STATUS_COULDNOTOPEN_WSAEHOSTDOWN 0x0000003d
00833 #define POSNET_STATUS_COULDNOTOPEN_WSAEHOSTUNREACH 0x0000003e
00834 #define POSNET_STATUS_COULDNOTOPEN_WSAHOSTNOTFOUND 0x0000003f
00835 #define POSNET_STATUS_COULDNOTOPEN_WSATRYAGAIN 0x00000040
00836
00837 #define POSNET_STATUS_MODEM_NOTSUPPORTED 0x00000060
00838 #define POSNET_STATUS_MODEM_ONHOOK 0x00000061
00839 #define POSNET_STATUS_MODEM_DIALING 0x00000062
00840 #define POSNET_STATUS_MODEM_DISCONNECTING 0x00000063
00841 #define POSNET_STATUS_MODEM_CONNECTED 0x00000064
00842 #define POSNET_STATUS_MODEM_ANSWERING 0x00000065
00843 #define POSNET_STATUS_MODEM_BUSY 0x00000066
00844 #define POSNET_STATUS_MODEM_NOTCONNECTED 0x00000067
00845 #define POSNET_STATUS_MODEM_NODIALTONE 0x00000068
00846 #define POSNET_STATUS_MODEM_NOCARRIER 0x00000069
00847 #define POSNET_STATUS_MODEM_OTHERERROR 0x0000006A
00848 #define POSNET_STATUS_MODEM_BADINIT 0x0000006B
00849 #define POSNET_STATUS_MODEM_BADDIAL 0x0000006C
00850 #define POSNET_STATUS_MODEM_NOMODEM 0x0000006D
00851 #define POSNET_STATUS_MODEM_CONNECTIONLOST 0x0000006E
00852 #define POSNET_STATUS_MODEM_ERRORONDISCONNECT 0x0000006F
00853
00854
00855 #define POSNET_STATUS_INVALID_PARAM1 0x00010101
00856 #define POSNET_STATUS_INVALID_PARAM2 0x00010102
00857 #define POSNET_STATUS_INVALID_PARAM3 0x00010103
00858 #define POSNET_STATUS_INVALID_PARAM4 0x00010104
00859 #define POSNET_STATUS_INVALID_PARAM5 0x00010105
00860 #define POSNET_STATUS_INVALID_PARAM6 0x00010106
00861 #define POSNET_STATUS_INVALID_PARAM7 0x00010107
00862 #define POSNET_STATUS_INVALID_PARAM8 0x00010108
00863 #define POSNET_STATUS_INVALID_PARAM9 0x00010109
00864 #define POSNET_STATUS_INVALID_PARAM10 0x0001010A
00865 #define POSNET_STATUS_INVALID_PARAM11 0x0001010B
00866 #define POSNET_STATUS_INVALID_PARAM12 0x0001010C
00867 #define POSNET_STATUS_INVALID_PARAM13 0x0001010D
00868 #define POSNET_STATUS_INVALID_PARAM14 0x0001010E
00869 #define POSNET_STATUS_INVALID_PARAM15 0x0001010F
00870 #define POSNET_STATUS_INVALID_PARAM16 0x00010110
00871 #define POSNET_STATUS_INVALID_PARAM17 0x00010111
00872 #define POSNET_STATUS_INVALID_PARAM18 0x00010112
00873 #define POSNET_STATUS_INVALID_PARAM19 0x00010113
00874 #define POSNET_STATUS_INVALID_PARAM20 0x00010114
00875 #define POSNET_STATUS_INVALID_PARAM21 0x00010115
00876 #define POSNET_STATUS_INVALID_PARAM22 0x00010116
00877
00878 #define POSNET_STATUS_CASHREGBASE 0x00430000
00879 #define POSNET_STATUS_CASHREGCOMMBASE 0x00440000
00880
00899 POSNET_API POSNET_STATUS __stdcall POS_GetError(POSNET_HANDLE hLocalDevice);
00900
00920 POSNET_API const char * __stdcall POS_GetErrorString(POSNET_STATUS code, char *lang);
00932 POSNET_API POSNET_STATUS __stdcall POS_GetRequestStatus(POSNET_HANDLE hRequest);
00939
00949 #define POSNET_EVENT_DISABLE 0x0000
00950 #ifdef _WIN32
00951
00959 #define POSNET_EVENT_EVENT 0x0001
00960
00968 #define POSNET_EVENT_MESSAGE 0x0002
00969 #else
00970
00975 #define POSNET_EVENT_SEMAPHORE 0x0005
00976
00977 #endif
00978
00986 #define POSNET_EVENT_POLLING 0x0003
00987
00992 #define POSNET_EVENT_CALLBACK 0x0004
00993
01019 POSNET_API POSNET_STATUS __stdcall POS_SetEventHandlingMode(POSNET_HANDLE hLocalDevice, unsigned long eventMode);
01020 #ifdef _WIN32
01021
01031 POSNET_API POSNET_STATUS __stdcall POS_SetMessageParams(POSNET_HANDLE hLocalDevice, UINT messageCode, HANDLE hWnd);
01042 POSNET_API HANDLE __stdcall POS_GetEvent(POSNET_HANDLE hLocalDevice);
01043 #else
01044
01052 POSNET_API void * __stdcall POS_GetSemaphore(POSNET_HANDLE hLocalDevice);
01053
01054 #endif
01055
01059 typedef void (POSNET_CALLBACK_T)(POSNET_HANDLE handle);
01060
01067 POSNET_API POSNET_STATUS __stdcall POS_SetCallback(POSNET_HANDLE hLocalDevice, POSNET_CALLBACK_T *callback);
01068
01072
01073
01074
01075
01076
01083 #define POSNET_REQMODE_SPOOL 0x00
01084
01085
01086
01087 #define POSNET_REQMODE_IMMEDIATE 0x01
01088
01089 #define POSNET_REQMODE_SPOOLSPECIAL 0x02
01090
01091
01092
01093
01094
01095
01096 #define POSNET_REQMODE_AUTOCLEAR 0x03
01097
01098
01099
01100
01110 #define POSNET_RSTATE_NEW 0x00019000
01111 #define POSNET_RSTATE_PENDING 0x00019001
01112 #define POSNET_RSTATE_SENT 0x00019002
01113 #define POSNET_RSTATE_ACK 0x00019003
01114 #define POSNET_RSTATE_COMPLETED 0x00019004
01115 #define POSNET_RSTATE_ERRCOMPLETED 0x00019005
01116
01121 // --------------------------------------------------------------------------------------------------------
01122
01123
01144 POSNET_API POSNET_HANDLE __stdcall POS_CreateRequest(POSNET_HANDLE hLocalDevice, POSNET_CMD command);
01152 POSNET_API POSNET_HANDLE __stdcall POS_RequestDevice(POSNET_HANDLE hRequest);
01153
01173 POSNET_API POSNET_STATUS __stdcall POS_PostRequest(POSNET_HANDLE hRequest,unsigned char mode);
01190 POSNET_API POSNET_STATUS __stdcall POS_CancelRequest(POSNET_HANDLE hRequest);
01200 POSNET_API POSNET_STATUS __stdcall POS_DestroyRequest(POSNET_HANDLE hRequest);
01201
01210 POSNET_API unsigned long __stdcall POS_GetRequestAge(POSNET_HANDLE hRequest);
01217 POSNET_API unsigned long __stdcall POS_GetRequestCommandID(POSNET_HANDLE hRequest);
01224 POSNET_API unsigned long __stdcall POS_GetRequestCommandSerial(POSNET_HANDLE hRequest);
01233 POSNET_API POSNET_STATE __stdcall POS_GetRequestState(POSNET_HANDLE hRequest);
01247 POSNET_API POSNET_STATUS __stdcall POS_WaitForRequestCompleted(POSNET_HANDLE hRequest,unsigned long timeout);
01248
01253
01254
01271 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamString(POSNET_HANDLE hRequest,char *param);
01277 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamByte(POSNET_HANDLE hRequest,unsigned char param);
01283 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamWord(POSNET_HANDLE hRequest,unsigned short param);
01289 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamLong(POSNET_HANDLE hRequest,unsigned long param);
01307 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamQuantity(POSNET_HANDLE hRequest,char *param);
01318 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamCurrency(POSNET_HANDLE hRequest,char *param);
01329 POSNET_API POSNET_STATUS __stdcall POS_PushRequestParamNumeric(POSNET_HANDLE hRequest,char *param);
01330
01334
01335
01351 POSNET_API long __stdcall POS_GetResponseValueCount(POSNET_HANDLE hRequest);
01359 POSNET_API POSNET_DATA_TYPE __stdcall POS_GetResponseValueType(POSNET_HANDLE hRequest);
01369 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueString(POSNET_HANDLE hRequest, char * retVal, unsigned long retValLen);
01376 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueByte(POSNET_HANDLE hRequest,unsigned char *retVal);
01383 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueWord(POSNET_HANDLE hRequest,unsigned short *retVal);
01390 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueLong(POSNET_HANDLE hRequest,unsigned long *retVal);
01404 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueQuantity(POSNET_HANDLE hRequest,char *retVal, unsigned long retValLen);
01414 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueCurrency(POSNET_HANDLE hRequest, char *retVal, unsigned long retValLen);
01424 POSNET_API POSNET_STATUS __stdcall POS_PopResponseValueNumeric(POSNET_HANDLE hRequest, char *retVal, unsigned long retValLen);
01432 POSNET_API POSNET_STATUS __stdcall POS_ResponseRewind(POSNET_HANDLE hRequest);
01433
01480 POSNET_API POSNET_HANDLE __stdcall POS_GetNextResponse(POSNET_HANDLE hLocalDevice);
01487 POSNET_API unsigned long __stdcall POS_GetResponseCount(POSNET_HANDLE hLocalDevice);
01496 POSNET_API unsigned long __stdcall POS_GetRequestCount(POSNET_HANDLE hLocalDevice,unsigned char globalnie=0);
01497
01506 POSNET_API POSNET_STATUS __stdcall POS_RequestQueueStats(POSNET_HANDLE hLocalDevice, unsigned long *sent, unsigned long *completed);
01507
01508
01520 POSNET_API POSNET_STATUS __stdcall POS_RequestQueueCancelPending(POSNET_HANDLE hLocalDevice,unsigned char globalnie=0);
01533 POSNET_API POSNET_STATUS __stdcall POS_RequestQueueCancelAll(POSNET_HANDLE hLocalDevice,unsigned char globalnie=0);
01545 POSNET_API POSNET_HANDLE __stdcall POS_CancelExecuting(POSNET_HANDLE hLocalDevice);
01546
01547
01559 POSNET_API POSNET_STATUS __stdcall POS_RepeatRequest(POSNET_HANDLE hRequest);
01560
01565
01571
01572
01576
01577
01578
01593 POSNET_API POSNET_STATUS __stdcall POS_AsyncDataWaiting(POSNET_HANDLE hLocalDevice);
01605 POSNET_API POSNET_HANDLE __stdcall POS_PopAsyncData(POSNET_HANDLE hLocalDevice,unsigned long timeout);
01612 POSNET_API unsigned long __stdcall POS_AsyncQueueLength(POSNET_HANDLE hLocalDevice);
01620 POSNET_API POSNET_STATUS __stdcall POS_AsyncQueuePurge(POSNET_HANDLE hLocalDevice);
01621
01625
01626
01627
01653 POSNET_API POSNET_HANDLE __stdcall POS_PopSalesQueue(POSNET_HANDLE hLocalDevice,unsigned long timeout );
01662 POSNET_API unsigned long __stdcall POS_SalesQueueLength(POSNET_HANDLE hLocalDevice,unsigned char globalnie=0);
01672 POSNET_API POSNET_STATUS __stdcall POS_SalesQueuePurge(POSNET_HANDLE hLocalDevice,unsigned char globalnie=0);
01673
01677
01678
01679
01680 }
01681
01682
01683 #endif
01684