Montaque

Nothing is impossible for MS .NET

Convert C code to C#?

Tool to go from C to Java:
http://www.portinggurus.org/Navigator.asp?link=http://in.tech.yahoo.com/020513/94/1nxuw.html  
 
Tool to go from Java to C#:
http://www.microsoft.com/downloads/details.aspx?FamilyId=46BEA47E-D47F-4349-9B4F-904B0A973174&displaylang=en
Posted: Apr 01 2004, 09:08 AM by Montaque | with 8 comment(s)
Filed under:

Comments

Montaque said:

dds
# October 25, 2004 7:11 PM

Montaque said:

#include <Winsock.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <memory.h>
#include <time.h>

void main(int argc, char*argv[])
{
BOOL bStillOK;
int socket_id;
int rcSockopt;
int rcConnect;
int rcSend;
int rcRecv;
int turn_on_option_flag;
int iRC;

struct sockaddr_in sock_struc;
struct hostent *hostptr;
struct servent *servptr;
time_t starttime;
struct tm *today;
WORD wVersionRequested;
WSADATA wsaData;

char node_name[32];
char message[80];
char datebuf[128];
char timebuf[128];
char conbuf[256];

bStillOK = TRUE;
// first check args
if (argc < 4 || argc > 4
|| !strcmp(argv[1],"-h") || !strcmp(argv[1],"-H")
|| !strcmp(argv[1],"-?") || !strcmp(argv[1],"/h")
|| !strcmp(argv[1],"/H") || !strcmp(argv[1],"/?")
|| !strcmp(argv[1],"help") || !strcmp(argv[1],"HELP"))
{
PrintHelp();
bStillOK = FALSE;
} // end if

if (bStillOK)
{
time(&starttime);
today = localtime (&starttime);
strftime( datebuf, 128,
"Today is %A, day %d of %B in the year %Y.\n",
today );
printf(datebuf);
_strtime( timebuf );
printf( "OS time:\t\t\t\t%s\n", timebuf );

wVersionRequested = MAKEWORD (1,1);
if((iRC = WSAStartup(wVersionRequested, &wsaData)) != 0)
{
printf ("startup failed, rc= %d\n", iRC);
bStillOK = FALSE;
}
}


if (bStillOK)
{
strcpy (node_name, argv[1]); // name of server computer
hostptr = gethostbyname (node_name);
if (hostptr == (struct hostent *)NULL)
{
printf ("gethostbyname failed - check HOSTS file\n");
bStillOK = FALSE;
}
}

if (bStillOK)
{
socket_id = socket (AF_INET, SOCK_STREAM,0);

rcSockopt = setsockopt(socket_id, IPPROTO_TCP,
TCP_NODELAY,
(char *) &turn_on_option_flag,
sizeof(turn_on_option_flag));

servptr = getservbyname ("ADRlink", "tcp");
if (servptr == (struct servent *)NULL)
{
printf ("cannot find service - check SERVICES file\n");
bStillOK = FALSE;
}
}

if (bStillOK)
{
sock_struc.sin_family = hostptr->h_addrtype;
memcpy((char *)&(sock_struc.sin_addr), hostptr->h_addr,
hostptr->h_length);
sock_struc.sin_port = servptr->s_port;

rcConnect = connect (socket_id,
(struct sockaddr *)&(sock_struc),
sizeof(struct sockaddr));
if (rcConnect == SOCKET_ERROR)
{
printf ("connect failed: rc is %d ", rcConnect);
errno = WSAGetLastError();
printf ("errno is %d\n",errno);
bStillOK = FALSE;
}
}

if (bStillOK)
{
strcpy(message,argv[2]);
strcat(message,argv[3]);
strcat(message,"\r");
rcSend = send (socket_id, message, strlen(message), 0);
if (rcSend == SOCKET_ERROR)
{
printf ("send failed: rc is %d ",rcSend);
errno = WSAGetLastError();
printf ("errno is %d\n",errno);
bStillOK = FALSE;
}
}


if (bStillOK && (*argv[2] == 'y'|| *argv[2] == 'Y'))
{
rcRecv = recv (socket_id, conbuf, BUFSIZ, 0);
if (rcRecv == SOCKET_ERROR)
{
printf ("recv failed: rc is %d ",rcRecv);
errno = WSAGetLastError();
printf ("errno is %d\n",errno);
bStillOK = FALSE;
}
else
{
conbuf[rcRecv] = '\0';
printf("value received is: %s",conbuf);
}
}


WSACleanup();
}

# January 7, 2005 5:14 PM

Montaque said:

aaaaaaaaaaa
# January 7, 2005 5:16 PM

Montaque said:

convert c to c++ or convert c to c#
# February 20, 2005 2:51 PM

Montaque said:

Convert c to c#
# April 26, 2005 5:09 PM

Montaque said:

#ifndef _STAIRMATH_H_
#define _STAIRMATH_H_

#define COS(c) { __asm fld c \
__asm fcos \
__asm fstp c }

#define SIN(s) { __asm fld s \
__asm fsin \
__asm fstp s }

#define SQRT(s) { __asm fld s \
__asm fsqrt \
__asm fstp s }


class CMatrix3x3 // Uses OpenGL standard for element storage
{
public:

CMatrix3x3(void);
CMatrix3x3(float i11, float i12, float i13,
float i21, float i22, float i23,
float i31, float i32, float i33);
inline float &operator()( unsigned long dwRow, unsigned long dwCol )
{
return m_f[dwCol*3+dwRow];
};
inline float const &operator()( unsigned long dwRow, unsigned long dwCol ) const
{
return m_f[dwCol*3+dwRow];
}
inline CMatrix3x3&operator+=(CMatrix3x3 const& m)
{
float* pf = (float*)m.m_f;
for (register int i=0; i < 3*3; i++)
m_f[i] += pf[i];
return *this;
}
inline CMatrix3x3 operator*(CMatrix3x3 const &m)
{
CMatrix3x3 mRes;

for(int i = 0;i < 3;i++)
{
for(int j = 0;j < 3;j++)
{
float Value = 0;

for(int k = 0;k < 3;k++)
{
Value += GetElement(i,k) * m(k,j);
}

mRes.SetElement(i,j,Value);
}
}

return mRes;
}
inline CMatrix3x3 operator*(float const &f)
{
CMatrix3x3 mRes;
float* pV = mRes.GetRawElements();
for (register int i=0; i < 3*3; i++)
pV[i] = m_f[i] * f;
return mRes;
}
inline _VECTOR operator*(_VECTOR const& v)
{
_VECTOR vRes;
vRes.x = v.x * m_f[0] + v.y * m_f[3] + v.z * m_f[6];
vRes.y = v.x * m_f[1] + v.y * m_f[4] + v.z * m_f[7];
vRes.z = v.x * m_f[2] + v.y * m_f[5] + v.z * m_f[8];
return vRes;
};

void ZeroMatrix();
void Identity();
void Invert();
void Orthonormalize();
inline CMatrix3x3 GetTranspose()
{
CMatrix3x3 mRes;

for (register int i = 0; i < 3; i++)
{
mRes(0,i) = GetElement(i,0);
mRes(1,i) = GetElement(i,1);
mRes(2,i) = GetElement(i,2);
}

return mRes;
}
inline float* GetRawElements() { return m_f; };

protected:

inline float GetElement(unsigned long dwRow, unsigned long dwCol) const
{
return m_f[dwCol*3+dwRow];
}
inline void SetElement(unsigned long dwRow, unsigned long dwCol, float fVal)
{
m_f[dwCol*3+dwRow] = fVal;
}
float m_f[3*3];
};


inline float Magnitude(_VECTOR& v)
{
float d = v.x * v.x + v.y * v.y + v.z * v.z;
SQRT(d);
return d;
}

inline float DotProduct(const _VECTOR& v1, const _VECTOR& v2)
{
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
}

inline void Normalize(_NORMAL& n)
{
float m = n.a * n.a + n.b * n.b + n.c * n.c;
SQRT(m);
n.a /= m; n.b /= m; n.c /= m;
}

inline void Normalize(_VECTOR& v)
{
float d = Magnitude(v);
v.x /= d; v.y /= d; v.z /= d;
}

inline void ZeroVertex(_VERTEX& v)
{
v.x = v.y = v.z = 0;
}

inline void ZeroVector(_VECTOR& v)
{
v.x = v.y = v.z = 0;
}

inline _VERTEX&operator +=(_VERTEX& v1, _VERTEX& v2)
{
v1.x += v2.x;
v1.y += v2.y;
v1.z += v2.z;
return v1;
}

inline _VERTEX&operator +=(_VERTEX& v1, _VECTOR& v2)
{
v1.x += v2.x;
v1.y += v2.y;
v1.z += v2.z;
return v1;
}

inline _VERTEX operator *(_VERTEX& v, float fScalar)
{
_VERTEX vc;
vc.x = v.x * fScalar;
vc.y = v.y * fScalar;
vc.z = v.z * fScalar;
return vc;
}

inline _VECTOR operator -(_VERTEX& v1, _VERTEX& v2)
{
_VECTOR v;
v.x = v1.x - v2.x;
v.y = v1.y - v2.y;
v.z = v1.z - v2.z;
return v;
}

inline _VECTOR operator +(_VECTOR& v1, _VECTOR& v2)
{
_VECTOR v;
v.x = v1.x + v2.x;
v.y = v1.y + v2.y;
v.z = v1.z + v2.z;
return v;
}

inline _VECTOR operator -(_VECTOR& v1, _VECTOR& v2)
{
_VECTOR v;
v.x = v1.x - v2.x;
v.y = v1.y - v2.y;
v.z = v1.z - v2.z;
return v;
}

inline _VECTOR operator -(_VECTOR& v1)
{
_VECTOR v;
v.x = -v1.x;
v.y = -v1.y;
v.z = -v1.z;
return v;
}

inline _VECTOR&operator +=(_VECTOR& v1, _VECTOR& v2)
{
v1.x += v2.x;
v1.y += v2.y;
v1.z += v2.z;
return v1;
}

inline _VECTOR operator *(_VECTOR& v1, _VECTOR& v2)
{
_VECTOR vc;
vc.x = v1.y*v2.z - v1.z*v2.y;
vc.y = v1.z*v2.x - v1.x*v2.z;
vc.z = v1.x*v2.y - v1.y*v2.x;
return vc;
}

inline _VECTOR operator *(_VECTOR& v, float fScalar)
{
_VECTOR vc;
vc.x = v.x * fScalar;
vc.y = v.y * fScalar;
vc.z = v.z * fScalar;
return vc;
}

inline _VECTOR operator /(_VECTOR& v, float fScalar)
{
_VECTOR vc;
vc.x = v.x / fScalar;
vc.y = v.y / fScalar;
vc.z = v.z / fScalar;
return vc;
}

void CalculateNormal(const _VERTEX* a, const _VERTEX* b, const _VERTEX* c,
_NORMAL& n);
void Rotate_Arbitrary(_VERTEX* v, const _VECTOR* vAxis, const _VERTEX* vCenter, const float radians);
void shadowMatrix(GLfloat shadowMat[4][4],
_NORMAL& vnGround, _VECTOR& vLight);

#endif
# May 9, 2005 6:02 AM

Montaque said:

API for LS515
# July 4, 2005 7:31 PM

Montaque said:

//
// CTS Electronics
// Corso Vercelli, 332 - 10015 Ivrea (TORINO) Italy
// January 2001
//
// Phone ++39 125 235611
// Telefax ++39 125 235623
//
// www.ctsgroup.it techsupp@ctsgroup.it
//
//
// All rights reserved
//
// We reserve the right to vary technical specification
//
// MODULE: LSAPI.H
//
// PURPOSE: LS Include Interface


#ifndef LSAPI_H
#define LSAPI_H 1



// ------------------------------------------------------------------------
// DEFINES
// ------------------------------------------------------------------------

// Parameter Type peripheral
#define LS_100_USB 100
#define LS_100_RS232 101
#define LS_200_SCSI 200
#define LS_200_USB 201
#define LS_5xx_SCSI 500
#define LS_510_TCPIP 501
#define LS_515_USB 502
#define LS_600_SCSI 600
#define LS_800_SCSI 800
#define LS_800_USB 801


// Parameter FrontStamp
#define NO_STAMP 0
#define FRONT_STAMP 1
#define BACK_STAMP 2
#define FRONT_AND_BACK_STAMP 3


// Parameter Validate
#define NO_PRINT_VALIDATE 0
#define PRINT_VALIDATE 1


// Parameter Feed
#define AUTO_FEED 0
#define PATH_FEED 1


// Parameter Sorter
#define HOLD_DOCUMENT 0
#define SORTER_BAY1 1
#define SORTER_BAY2 2
#define SORTER_AUTOMATIC 3
#define SORTER_SWITCH_1_TO_2 4
#define EJECT_DOCUMENT 5
#define SORTER_ON_CODELINE_CALLBACK 6


// Specific for LS800
#define SORTER_0_SELECTED 0
#define SORTER_1_SELECTED 1
#define SORTER_2_SELECTED 2
#define SORTER_3_SELECTED 3
#define SORTER_4_SELECTED 4
#define SORTER_5_SELECTED 5
#define SORTER_6_SELECTED 6
#define SORTER_7_SELECTED 7
#define SORTER_8_SELECTED 8
#define SORTER_9_SELECTED 9
#define SORTER_10_SELECTED 10
#define SORTER_11_SELECTED 11
#define SORTER_12_SELECTED 12
#define SORTER_13_SELECTED 13
#define SORTER_14_SELECTED 14
#define SORTER_15_SELECTED 15




// Parameter Codeline
#define NO_READ_CODELINE 0
#define READ_CODELINE_MICR 1
#define READ_BARCODE_PDF417 2
#define READ_BARCODE_HW 6
#define READ_MICR_AND_BARCODE_HW 7
#define READ_CODELINE_OPTIC 21
#define READ_MICR_AND_OPTIC 22
#define READ_OPTIC_AND_PDF417 23

#define READ_BARCODE_2_OF_5 50
#define READ_BARCODE_CODE39 51
#define READ_BARCODE_CODE128 52
#define READ_BARCODE_EAN13 53

#define READ_CODELINE_HW_OCRA 0x41 //'A'
#define READ_CODELINE_HW_OCRB_NUM 0x42 //'B'
#define READ_CODELINE_HW_OCRB_ALFANUM 0x43 //'C'
#define READ_CODELINE_HW_E13B 0x45 //'E'
#define READ_CODELINE_HW_OCRB_ITALY 0x46 //'F'
#define READ_CODELINE_HW_E13B_X_OCRB 0x58 //'X'
#define READ_CODELINE_HW_MULTI_READ 0x4d //'M'


#define READ_CODELINE_SW_OCRA 0x41 //'A'
#define READ_CODELINE_SW_OCRB_NUM 0x42 //'B'
#define READ_CODELINE_SW_OCRB_ALFANUM 0x43 //'C'
#define READ_CODELINE_SW_OCRB_ITALY 0x46 //'F'
#define READ_CODELINE_SW_E13B 0x45 //'E'
#define READ_CODELINE_SW_E13B_X_OCRB 0x58 //'X'
#define READ_CODELINE_SW_MULTI_READ 0x4d //'M'

#define READ_ONE_CODELINE_TYPE 0x4e //'N'


// Parameter OriginMeasureDoc
#define BOTTOM_LEFT_PIXEL 0
#define BOTTOM_RIGHT_MM 10
#define BOTTOM_RIGHT_INCH 20


// Parameter Unit
#define UNIT_MM 0
#define UNIT_INCH 1


// Value of height to decode a software Codeline
#define MAX_PIXEL_HEIGHT 42
#define OCR_VALUE_IN_MM 10.5
#define OCR_VALUE_IN_INCH 0.41


// Parameter OCR_Image_Side
#define OCR_FRONT_IMAGE 0
#define OCR_BACK_IMAGE 1


// Parameter ResetType
#define RESET_ERROR 0x30
#define RESET_FREE_PATH 0x31


// Parameter ScanMode
#define SCAN_MODE_BW 1
#define SCAN_MODE_16GR100 2
#define SCAN_MODE_16GR200 3
#define SCAN_MODE_256GR100 4
#define SCAN_MODE_256GR200 5
#define SCAN_MODE_BW_TIFF 6
#define SCAN_MODE_COLOR_100 10
#define SCAN_MODE_COLOR_200 11


// Parameter ReadMode
#define READMODE_BRUTTO 0
#define READMODE_NETTO 1
#define READMODE_ALL 2


// Parameter ClearBlack
#define NO_CLEAR_BLACK 0
#define CLEAR_ALL_BLACK 1


// Parameter Side
#define SIDE_NONE_IMAGE 'N'
#define SIDE_FRONT_IMAGE 'F'
#define SIDE_BACK_IMAGE 'B'
#define SIDE_ALL_IMAGE 'X'
#define SIDE_FRONT_BLUE_IMAGE 'G'
#define SIDE_BACK_BLUE_IMAGE 'C'
#define SIDE_ALL_BLUE_IMAGE 'Y'
#define SIDE_FRONT_GREEN_IMAGE 'H'
#define SIDE_BACK_GREEN_IMAGE 'D'
#define SIDE_ALL_GREEN_IMAGE 'W'
#define SIDE_FRONT_RED_IMAGE 'I'
#define SIDE_BACK_RED_IMAGE 'E'
#define SIDE_ALL_RED_IMAGE 'Z'


// Parameter Image Coordinate
#define IMAGE_MAX_WIDTH 1720
#define IMAGE_MAX_HEIGHT 848


// Parameter Method
#define ALGORITHM_CTS 4
#define ALGORITHM_CTS_2 5
#define ALGORITHM_NODITHERING 0x10
#define ALGORITHM_FLOYDSTEINDITHERING 0x11
#define ALGORITHM_STUCKIDITHERING 0x12
#define ALGORITHM_BURKESDITHERING 0x13
#define ALGORITHM_SIERRADITHERING 0x14
#define ALGORITHM_STEVENSONARCEDITHERING 0x15
#define ALGORITHM_JARVISDITHERING 0x16

#define DEFAULT_POLO_FILTER 450


// Parameter Format
#define FORMAT_NORMAL 'N'
#define FORMAT_BOLD 'B'

#define FORMAT_IATA 0x20 // Badge Track 1
#define FORMAT_ABA 0x40 // Badge Track 2
#define FORMAT_MINTS 0x80 // Badge Track 3
#define FORMAT_IATA_ABA 0x60 // Badge Track 1 and 2
#define FORMAT_ABA_MINTS 0xc0 // Badge Track 2 and 3
#define FORMAT_IATA_ABA_MINTS 0xe0 // Badge Track 1, 2 and 3


// Parameter Timeout
#define MIN_TIMEOUT 500


// Parameter Wait_com
#define WAIT_NO 'G'
#define WAIT_YES 'W'


// Parameter Beep
#define NO_BEEP 0
#define BEEP 1


// Parameter SaveOnFile
#define IMAGE_SAVE_ON_FILE 4
#define IMAGE_SAVE_HANDLE 5
#define IMAGE_SAVE_BOTH 6
#define IMAGE_SAVE_NONE 7


// Parameter FileFormat
#define SAVE_JPEG 10
#define SAVE_BMP 11


// Parameter: Tiff type
#define FILE_TIF 3 // Tagged Image File Format
#define FILE_CCITT 25 // TIFF CCITT
#define FILE_CCITT_GROUP3_1DIM 27 // CCITT Group3 one dimension
#define FILE_CCITT_GROUP3_2DIM 28 // CCITT Group3 two dimensions
#define FILE_CCITT_GROUP4 29 // CCITT Group4 two dimensions


// Parameter: uSaveMulti
#define SAVE_OVERWRITE 0
#define SAVE_APPEND 1
#define SAVE_REPLACE 2
#define SAVE_INSERT 3


// Printer choise
#define PRINTER_FRONT 0
#define PRINTER_BACK 1


#define CODE_LINE_LENGTH 256 // Max length of returned codeline

#define MAX_OPTICAL_WINDOWS 5 // Nr. window * 5 bytes per window
#define MAX_CRITERIA 5 // Nr. max of selection criteria
#define MAX_CHAR_CHECK 10 // Nr. max of check char


// Parameter Sorter Criteria only for LS515
#define CRITERIA_NO 0x00
#define CRITERIA_ERROR_IN_CODELINE 0x01
#define CRITERIA_CODELINE_EQUAL_STR1 0x02
#define CRITERIA_CODELINE_DIFF_STR1 0x03
#define CRITERIA_CODELINE_GREAT_STR1 0x04
#define CRITERIA_CODELINE_MIN_STR1 0x05
#define CRITERIA_CODELINE_INTO_STR1_STR2 0x06
#define CRITERIA_CODELINE_OUT_STR1_STR2 0x07
#define CRITERIA_CODELINE_EQUAL_STR1_OR_STR2 0x08
#define CRITERIA_CODELINE_DIFF_STR1_AND_STR2 0x09


// Parameter Double Leafing
#define DOUBLE_LEAFING_WARNING 0
#define DOUBLE_LEAFING_ERROR 1

#define DOUBLE_LEAFING_LEVEL1 0x01
#define DOUBLE_LEAFING_LEVEL2 0x02
#define DOUBLE_LEAFING_LEVEL3 0x03
#define DOUBLE_LEAFING_DEFAULT 0x04
#define DOUBLE_LEAFING_LEVEL4 0x05
#define DOUBLE_LEAFING_LEVEL5 0x06
#define DOUBLE_LEAFING_DISABLE 0x07


// Parameter History
#define CMD_READ_HISTORY 1
#define CMD_ERASE_HISTORY 2


#define PERIPHERAL_LS100_SIZE_MEMORY 36 * 1024 //Total memory of the peripheral
#define PERIPHERAL_LS200_SIZE_MEMORY 80 * 1024 //Total memory of the peripheral
#define PERIPHERAL_LS5xx_SIZE_MEMORY 64 * 1024 //Total memory of the peripheral
#define PERIPHERAL_LS800_SIZE_MEMORY 24 * 1024 //Total memory of the peripheral


// String for identify the periferal connected
#define MODEL_LS100_1 "LS100USB"
#define MODEL_LS100_2 "LS100RS_"
#define MODEL_LS100_3 "LS100/3_"
#define MODEL_LS100_4 "LS100/4_"

#define MODEL_LS200_USB "LS200USB"
#define MODEL_LS200_1 "C.T.S. LS200/1"
#define MODEL_LS200_2 "C.T.S. LS200/2"

#define MODEL_LS500 "C.T.S. LS500"
#define MODEL_LS505 "C.T.S. LS505"
#define MODEL_LS510S "C.T.S. LS510S"
#define MODEL_LS510D "C.T.S. LS510D"
#define MODEL_LS515 "C.T.S. LS515"

#define MODEL_LS800_1 "LS8/1"
#define MODEL_LS800_2 "LS8/2"



// ------------------------------------------------------------------------
// REPLY-CODE
// ------------------------------------------------------------------------

#define LS_OKAY 0

// ------------------------------------------------------------------------
// ERRORS
// ------------------------------------------------------------------------
#define LS_SYSTEM_ERROR -1
#define LS_USB_ERROR -2
#define LS_PERIPHERAL_NOT_FOUND -3
#define LS_HARDWARE_ERROR -4
#define LS_PERIPHERAL_OFF_ON -5
#define LS_RESERVED_ERROR -6
#define LS_BOURRAGE -7
#define LS_PAPER_JAM -7
#define LS_TARGET_BUSY -8
#define LS_INVALID_COMMAND -9
#define LS_DATA_LOST -10
#define LS_COMMAND_IN_EXECUTION_YET -11
#define LS_JPEG_ERROR -12
#define LS_COMMAND_SEQUENCE_ERROR -13
#define LS_NOT_USED -14
#define LS_IMAGE_OVERWRITE -15
#define LS_INVALID_HANDLE -16
#define LS_NO_LIBRARY_LOAD -17
#define LS_BMP_ERROR -18
#define LS_TIFF_ERROR -19
#define LS_IMAGE_NO_MORE_AVAILABLE -20
#define LS_IMAGE_NO_FILMED -21
#define LS_IMAGE_NOT_PRESENT -22
#define LS_FUNCTION_NOT_AVAILABLE -23
#define LS_DOCUMENT_NOT_SUPPORTED -24
#define LS_BARCODE_ERROR -25
#define LS_INVALID_LIBRARY -26
#define LS_INVALID_IMAGE -27
#define LS_INVALID_IMAGE_FORMAT -28
#define LS_INVALID_BARCODE_TYPE -29
#define LS_OPEN_NOT_DONE -30
#define LS_INVALID_TYPE_COMMAND -31
#define LS_INVALID_CLEARBLACK -32
#define LS_INVALID_SIDE -33
#define LS_MISSING_IMAGE -34
#define LS_INVALID_TYPE -35
#define LS_INVALID_SAVEMODE -36
#define LS_INVALID_PAGE_NUMBER -37
#define LS_INVALID_NRIMAGE -38
#define LS_INVALID_STAMP -39
#define LS_INVALID_WAITTIMEOUT -40
#define LS_INVALID_VALIDATE -41
#define LS_INVALID_CODELINE_TYPE -42
#define LS_MISSING_NRIMAGE -43
#define LS_INVALID_SCANMODE -44
#define LS_INVALID_BEEP -45
#define LS_INVALID_FEEDER -46
#define LS_INVALID_SORTER -47
#define LS_INVALID_BADGE_TRACK -48
#define LS_MISSING_FILENAME -49
#define LS_INVALID_QUALITY -50
#define LS_INVALID_FILEFORMAT -51
#define LS_INVALID_COORDINATE -52
#define LS_MISSING_HANDLE_VARIABLE -53
#define LS_INVALID_POLO_FILTER -54
#define LS_INVALID_ORIGIN_MEASURES -55
#define LS_INVALID_SIZEH_VALUE -56
#define LS_INVALID_FORMAT -57
#define LS_STRINGS_TOO_LONGS -58
#define LS_READ_IMAGE_FAILED -59
#define LS_INVALID_CMD_HISTORY -60
#define LS_MISSING_BUFFER_HISTORY -61
#define LS_INVALID_ANSWER -62
#define LS_OPEN_FILE_ERROR_OR_NOT_FOUND -63
#define LS_READ_TIMEOUT_EXPIRED -64
#define LS_INVALID_METHOD -65
#define LS_CALIBRATION_FAILED -66
#define LS_INVALID_SAVEIMAGE -67
#define LS_INVALID_UNIT -68
#define LS_INVALID_NRWINDOWS -71
#define LS_INVALID_VALUE -72
#define LS_ILLEGAL_REQUEST -73
#define LS_INVALID_NR_CRITERIA -74
#define LS_MISSING_CRITERIA_STRUCTURE -75
#define LS_INVALID_MOVEMENT -76
#define LS_INVALID_DEGREE -77
#define LS_R0TATE_ERROR -78
#define LS_MICR_VALUE_OUT_OF_RANGE -79
#define LS_PERIPHERAL_RESERVED -80
#define LS_INVALID_NCHANGE -81
#define LS_BRIGHTNESS_ERROR -82
#define LS_CONTRAST_ERROR -83
#define LS_INVALID_SIDETOPRINT -84
#define LS_DOUBLE_LEAFING_ERROR -85
#define LS_INVALID_BADGE_TIMEOUT -86
#define LS_INVALID_RESET_TYPE -87
#define LS_MISSING_SET_CALLBACK -88
#define LS_IMAGE_NOT_200_DPI -89

#define LS_SCAN_NETTO_IMAGE_NOT_SUPPORTED -521
#define LS_256_GRAY_NOT_SUPPORTED -522
#define LS_INVALID_PATH -523
#define LS_MISSING_CALLBACK_FUNCTION -526
#define LS_INVALID_OCR_IMAGE_SIDE -558
#define LS_PERIPHERAL_NOT_ANSWER -599

#define LS_INVALID_CONNECTION_HANDLE -1000
#define LS_INVALID_CONNECT_PERIPHERAL -1001
#define LS_PERIPHERAL_NOT_YET_INTEGRATE -1002
#define LS_UNKNOW_PERIPHERAL_REPLY -1003
#define LS_CODELINE_ALREADY_DEFINED -1004
#define LS_INVALID_NUMBER_OF_DOC -1005

#define LS_DECODE_FONT_NOT_PRESENT -1101
#define LS_DECODE_INVALID_COORDINATE -1102
#define LS_DECODE_INVALID_OPTION -1103
#define LS_DECODE_INVALID_CODELINE_TYPE -1104
#define LS_DECODE_SYSTEM_ERROR -1105
#define LS_DECODE_DATA_TRUNC -1106
#define LS_DECODE_INVALID_BITMAP -1107
#define LS_DECODE_ILLEGAL_USE -1108

#define LS_BARCODE_GENERIC_ERROR -1201
#define LS_BARCODE_NOT_DECODABLE -1202
#define LS_BARCODE_OPENFILE_ERROR -1203
#define LS_BARCODE_READBMP_ERROR -1204
#define LS_BARCODE_MEMORY_ERROR -1205
#define LS_BARCODE_START_NOTFOUND -1206
#define LS_BARCODE_STOP_NOTFOUND -1207

#define LS_PDF_NOT_DECODABLE -1301
#define LS_PDF_READBMP_ERROR -1302
#define LS_PDF_BITMAP_FORMAT_ERROR -1303
#define LS_PDF_MEMORY_ERROR -1304
#define LS_PDF_START_NOTFOUND -1305
#define LS_PDF_STOP_NOTFOUND -1306
#define LS_PDF_LEFTIND_ERROR -1307
#define LS_PDF_RIGHTIND_ERROR -1308
#define LS_PDF_OPENFILE_ERROR -1309


// ------------------------------------------------------------------------
// WARNINGS
// ------------------------------------------------------------------------
#define LS_FEEDER_EMPTY 1
#define LS_DATA_TRUNCATED 2
#define LS_DOC_PRESENT 3
#define LS_BADGE_TIMEOUT 4
#define LS_ALREADY_OPEN 5
#define LS_PERIPHERAL_BUSY 6
#define LS_DOUBLE_LEAFING_WARNING 7
#define LS_COMMAND_NOT_ENDED 8
#define LS_RETRY 9
#define LS_NO_OTHER_DOCUMENT 10
#define LS_QUEUE_FULL 11
#define LS_NO_SENSE 12
#define LS_TRY_TO_RESET 14
#define LS_STRING_TRUNCATED 15
#define LS_COMMAND_NOT_SUPPORTED 19
#define LS_SORTER1_FULL 35
#define LS_SORTER2_FULL 36
#define LS_SORTERS_BOTH_FULL 37
#define LS_KEEP_DOC_ON_CODELINE_ERROR 39
#define LS_LOOP_INTERRUPTED 40

#define LS_SORTER_1_POCKET_1_FULL 51
#define LS_SORTER_1_POCKET_2_FULL 52
#define LS_SORTER_1_POCKET_3_FULL 53
#define LS_SORTER_2_POCKET_1_FULL 54
#define LS_SORTER_2_POCKET_2_FULL 55
#define LS_SORTER_2_POCKET_3_FULL 56
#define LS_SORTER_3_POCKET_1_FULL 57
#define LS_SORTER_3_POCKET_2_FULL 58
#define LS_SORTER_3_POCKET_3_FULL 59
#define LS_SORTER_4_POCKET_1_FULL 60
#define LS_SORTER_4_POCKET_2_FULL 61
#define LS_SORTER_4_POCKET_3_FULL 62
#define LS_SORTER_5_POCKET_1_FULL 63
#define LS_SORTER_5_POCKET_2_FULL 64
#define LS_SORTER_5_POCKET_3_FULL 65


// ------------------------------------------------------------------------
// DEFINES STRUTTURES
// ------------------------------------------------------------------------
// structure for configure the read codeline from bitmap
typedef struct _ReadOption
{
BOOL PutBlanks;
char TypeRead;
}READOPTIONS, *LPREADOPTIONS;


typedef struct _DATAOPTICALWINDOW
{
unsigned char TypeRead; // Type of read choise
unsigned char Reserved; // Reserved
short XRightBottom; // X1 coordinates
short YRightBottom; // Y1 coordinates
short Size; // size
short Height; // height
} DATAOPTICALWINDOW, *PDATAOPTICALWINDOW;


typedef struct _DATASORTERSELECT
{
char TypeCriteria; // Type of criteria choise
char CharToStart; // Char to start check in the codeline
char NrCharCheck; // Lenght string 1 and/or string 2
char String1[MAX_CHAR_CHECK]; // String 1
char String2[MAX_CHAR_CHECK]; // String 2
char Bin; // Bin where put the document
} DATASORTERSELECT, *PDATASORTERSELECT;


// Structure usefull for returned information about the just read codeline
typedef struct _S_CODELINE_INFO
{
// Parameter compiled from LS500.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progessive document number
char CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application
short Sorter; // Sorter where put the document
char FormatString; // Set from application NORMAL or BOLD
char StringToPrint[80]; // String to print rear of the document
} S_CODELINE_INFO, *LPS_CODELINE_INFO;


// Structure usefull for returned information about the just read codeline
typedef struct _S_CODELINE_INFO_VB
{
// Parameter compiled from LS500.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progessive document number
WCHAR CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application
short Sorter; // Sorter where put the document
short FormatString; // Set from application NORMAL or BOLD
WCHAR StringToPrint[80]; // String to print rear of the document
} S_CODELINE_INFO_VB, *LPS_CODELINE_INFO_VB;


// structure for read usefull information about the just stored image
typedef struct _S_CODELINE_INFO_LS100
{
short Size; // Size of the struct
unsigned long NrDoc; // Progessive document number
char CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
} S_CODELINE_INFO_LS100, *LPS_CODELINE_INFO_LS100;


// structure for read usefull information about the just stored image
typedef struct _S_IMAGE_INFO_LS100
{
short Size; // Size of the struct
unsigned long NrDoc; // Progressive document number
HANDLE hImage; // Image handle
int ImageSize; // Image size bytes
int Width; // Image width
int Height; // Image height
int Resolution; // Image resolution
int BitCount; // Image bit count (level of grey)
} S_IMAGE_INFO_LS100, *LPS_IMAGE_INFO_LS100;


// Structure usefull for returned information about the just read codeline
typedef struct _S_CODELINE_INFO_LS800
{
// Parameter compiled from LS800.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progessive document number
char CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application
short Sorter; // Sorter where put the document
char FormatString1; // Set from application NORMAL or BOLD
char StringToPrint1[80]; // String line 1 to print rear of the document
char FormatString2; // Set from application NORMAL or BOLD
char StringToPrint2[80]; // String line 2 to print rear of the document
char FormatString3; // Set from application NORMAL or BOLD
char StringToPrint3[80]; // String line 3 to print rear of the document
char FormatString4; // Set from application NORMAL or BOLD
char StringToPrint4[80]; // String line 4 to print rear of the document
} S_CODELINE_INFO_LS800, *LPS_CODELINE_INFO_LS800;


// Structure usefull for returned information about the just film image
typedef struct _S_IMAGE_INFO_LS800
{
// Parameter compiled from LS800.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progressive document number
HANDLE hImage; // Image handle
int ImageSize; // Image size bytes
int Width; // Image width
int Height; // Image height
int Resolution; // Image resolution
int BitCount; // Image bit count (level of grey)
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application (only for image front)
short Sorter; // Sorter where put the document
char FormatString1; // Set from application NORMAL or BOLD
char StringToPrint1[80]; // String line 1 to print rear of the document
char FormatString2; // Set from application NORMAL or BOLD
char StringToPrint2[80]; // String line 2 to print rear of the document
char FormatString3; // Set from application NORMAL or BOLD
char StringToPrint3[80]; // String line 3 to print rear of the document
char FormatString4; // Set from application NORMAL or BOLD
char StringToPrint4[80]; // String line 4 to print rear of the document
} S_IMAGE_INFO_LS800, *LPS_IMAGE_INFO_LS800;


// Structure usefull for returned information about the just read codeline
typedef struct _S_CODELINE_INFO_VB_LS800
{
// Parameter compiled from LS800.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progessive document number
WCHAR CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application
short Sorter; // Sorter where put the document
short FormatString1; // Set from application NORMAL or BOLD
WCHAR StringToPrint1[80]; // String line 1 to print rear of the document
short FormatString2; // Set from application NORMAL or BOLD
WCHAR StringToPrint2[80]; // String line 2 to print rear of the document
short FormatString3; // Set from application NORMAL or BOLD
WCHAR StringToPrint3[80]; // String line 3 to print rear of the document
short FormatString4; // Set from application NORMAL or BOLD
WCHAR StringToPrint4[80]; // String line 4 to print rear of the document
} S_CODELINE_INFO_VB_LS800, *LPS_CODELINE_INFO_VB_LS800;


// Structure usefull for returned information about the just film image
typedef struct _S_IMAGE_INFO_VB_LS800
{
// Parameter compiled from LS800.dll
short Size; // Size of the struct
unsigned long NrDoc; // Progressive document number
HANDLE hImage; // Image handle
int ImageSize; // Image size bytes
int Width; // Image width
int Height; // Image height
int Resolution; // Image resolution
int BitCount; // Image bit count (level of grey)
WCHAR CodelineRead[CODE_LINE_LENGTH]; // Codeline returned
short NrBytes; // Length of the codeline
unsigned long Reserved; // Reserved for future use

// Parameter compiled from Application (only for image front)
short Sorter; // Sorter where put the document
short FormatString1; // Set from application NORMAL or BOLD
WCHAR StringToPrint1[80]; // String line 1 to print rear of the document
short FormatString2; // Set from application NORMAL or BOLD
WCHAR StringToPrint2[80]; // String line 2 to print rear of the document
short FormatString3; // Set from application NORMAL or BOLD
WCHAR StringToPrint3[80]; // String line 3 to print rear of the document
short FormatString4; // Set from application NORMAL or BOLD
WCHAR StringToPrint4[80]; // String line 4 to print rear of the document
} S_IMAGE_INFO_VB_LS800, *LPS_IMAGE_INFO_VB_LS800;


// structure for read usefull information about peripheral life LS100
typedef struct _HistoryLs100
{
short Size; // Size of the struct
unsigned long doc_sorted; // Document sortered
unsigned long bourrage_feeder; // Jam in the feeder
unsigned long bourrage_micr; // Jam during the MICR reading
unsigned long doc_retain; // Nr. of document retained
unsigned long bourrage_exit; // Jam after the film
unsigned long doc_cmc7_err; // Nr. of document CMC7, read with error
unsigned long doc_e13b_err; // Nr. of document E13B, read with error
unsigned long time_peripheral_on; // Minutes peripheral time life
unsigned long num_turn_on; // Nr. of power on
unsigned long doc_ink_jet; // Nr. of document printed
unsigned long doc_stamp; // Nr. of document stamped

} S_HISTORY_LS100, *LPS_HISTORY_LS100;


// structure for read usefull information about peripheral life LS200
typedef struct _HistoryLs200
{
short Size; // Size of the struct
unsigned long nrDocProcessed; // Document sortered
unsigned long nrJamFeeder; // Jam in the feeder
unsigned long nrJamPath; // Jam in the path
unsigned long nrJamBin; // Jam in the pockets
unsigned long nrDocPrint; // Nr. of document printed
unsigned long nrDocStamp; // Nr. of document stamped
unsigned long nrDoubleLeafing; // Nr. of double leafing occurs
unsigned long nrErrMICR; // Nr. of document MICR, read with error
unsigned long nrErrOptic; // Nr. of document Optic, read with error
unsigned long nrErrBarcode; // Nr. of document Barcode, read with error
unsigned long time_peripheral_on; // Seconds peripheral time life

} S_HISTORY_LS200, *LPS_HISTORY_LS200;


// structure for read usefull information about peripheral life LS5xx
typedef struct _HistoryLs5xx
{
short Size; // Size of the struct
unsigned long num_doc_handled; // Nr. documents handled
unsigned long bourrage_feeder; // Nr. jam in the feeder
unsigned long doc_retain_micr; // Nr. documents retained after MICR header
unsigned long doc_retain_scan; // Nr. documents retained after front scanning
unsigned long bourrage_stamp; // Nr. jam at stamp document
unsigned long bourrage_film; // Nr. jam during scan document
unsigned long bourrage_micr; // Nr. jam during read MICR document
unsigned long doc_cmc7_err; // Nr. of document CMC7, read with error
unsigned long doc_e13b_err; // Nr. of document E13B, read with error
unsigned long doc_barcode_err; // Nr. of document Barcode, read with error
unsigned long doc_optic_err; // Nr. of document OCR, read with error
unsigned long time_peripheral_on; // Seconds peripheral time life
unsigned long nr_power_on; // Nr. of time power ON

} S_HISTORY_LS5xx, *LPS_HISTORY_LS5xx;



// ------------------------------------------------------------------------
// EXPORT FUNCTIONS
// ------------------------------------------------------------------------
extern int APIENTRY LSConnect(HWND hWnd,
HANDLE hInst,
short Peripheral,
short *hConnect);

extern int APIENTRY LSDisconnect(short hConnect,
HWND hWnd);

extern int APIENTRY LSIdentify(short hConnect,
HWND hWnd,
LPSTR lpldPnt,
LPSTR vendorModel,
LPSTR productVersion,
LPSTR DecoderExpVersion,
LPSTR InkJetVersion,
LPSTR SorterVersion,
LPSTR MotorVersion);

extern int APIENTRY LSDocHandle(short hConnect,
HWND hWnd,
short Stamp,
short Validate,
short CodeLine,
char Side,
short ScanMode,
short Feeder,
short Sorter,
short WaitTimeout,
short Beep,
unsigned long *NrDoc,
short Reserved1,
long Reserved2);

extern int APIENTRY LSDocHandleOverlapped(short hConnect,
HWND hWnd,
short Stamp,
short Validate,
short CodeLine,
char Side,
short ScanMode,
short ClearBlack,
short WaitTimeout,
short Beep,
short NumDocument,
short Reserved1,
long Reserved2,
int (*userfunc1)(S_CODELINE_INFO_LS100 *CodelineInfo),
int (*userfunc2)(S_IMAGE_INFO_LS100 *ImageInfo),
int (*userfunc3)(S_IMAGE_INFO_LS100 *ImageInfo),
void *Reserved3);

extern int APIENTRY LSDocHandleAndGetData(short hConnect,
HWND hWnd,
SHORT Stamp,
SHORT Validate,
SHORT CodeLine,
short Feeder,
short Sorter,
SHORT ScanMode,
SHORT ClearBlack,
CHAR Side,
short ReadMode,
short SaveImage,
CHAR *DirectoryFile,
CHAR *BaseFilename,
int pos_x,
int pos_y,
int sizeW,
int sizeH,
short OcrImageSide,
int Quality,
SHORT FileFormat,
short WaitTimeout,
short Beep,
int SaveMode,
int PageNumber,
short Reserved1,
LPVOID Reserved2,

unsigned long *NrDoc,
LPSTR FilenameFront,
LPSTR FilenameBack,
LPSTR Reserved3, // immagine Fronte NETTO
LPSTR Reserved4, // immagine Retro NETTO
LPLONG *FrontImage,
LPLONG *BackImage,
LPLONG *Reserved5, // immagine Fronte NETTO
LPLONG *Reserved6, // immagine Retro NETTO
LPSTR CodelineSW,
LPSTR CodelineHW,
LPSTR BarCode,
LPSTR CodelinesOptical,
LPVOID Reserved7, // not used must be NULL
LPVOID Reserved8); // not used must be NULL

extern int APIENTRY LSSetSorterCriteria(short hConnect,
HWND hWnd,
DATASORTERSELECT *pCriteria,
short NrCriteria);

extern int APIENTRY LSReadImage(short hConnect,
HWND hWnd,
SHORT ClearBlack,
CHAR Side,
short ReadMode,
unsigned long NrDoc,
LPHANDLE FrontImage,
LPHANDLE BackImage,
LPHANDLE Reserved1,
LPHANDLE Reserved2);

extern int APIENTRY LSSetThresholdClearBlack(short hConnect,
HWND hWnd,
unsigned char Threshold);

extern int APIENTRY LSEnableImageCorrection(short hConnect,
HWND hWnd,
BOOL fDo);

extern int APIENTRY LSReadImagePiece(short hConnect,
HWND Hwnd,
CHAR Side,
unsigned long NrDoc,
int pos_x,
int pos_y,
int sizeW,
int sizeH,
LPHANDLE hImage);

extern int APIENTRY LSSaveJPEG(HWND hWnd,
HANDLE Face,
int quality,
LPSTR filename);

extern int APIENTRY LSSaveDIB(HWND hWnd,
HANDLE hImage,
LPSTR filename);

extern int APIENTRY LSSaveTIFF(HWND hWnd,
HANDLE hImage,
LPSTR filename,
int Type,
int SaveMode,
int PageNumber);

extern int APIENTRY LSRotateImage(HWND hWnd,
HANDLE hImage,
int degree,
HANDLE *pImage);

extern int APIENTRY LSImageBrightness(HWND hWnd,
HANDLE hImage,
int nChange,
HANDLE *pImage);

extern int APIENTRY LSImageContrast(HWND hWnd,
HANDLE hImage,
int nChange,
HANDLE *pImage);

extern int APIENTRY LSCutImage(HWND hWnd,
HANDLE hImage,
short Unit,
float pos_x,
float pos_y,
float sizeW,
float sizeH,
HANDLE *pImage);

extern int APIENTRY LSSetOpticalWindows(short hConnect,
HWND hWnd,
PDATAOPTICALWINDOW pDimWindows,
short NrWindows);

extern int APIENTRY LSReadCodeline(short hConnect,
HWND hWnd,
LPSTR Codeline,
SHORT *Length_Codeline,
LPSTR Barcode,
SHORT *Length_Barcode,
LPSTR Optic,
SHORT *Length_Optic);

extern int APIENTRY LSReadCodelineFromBitmap(HWND hWnd,
HANDLE hImage,
char *codelineType,
int x,
int y,
int sizeW,
int sizeH,
READOPTIONS *Option,
LPSTR Codeline,
UINT *Length);

extern int APIENTRY LSCodelineReadFromBitmap(HWND hWnd,
HANDLE hImage,
char *codelineType,
short UnitMeasure,
float x,
float y,
float sizeW,
float sizeH,
READOPTIONS *Option,
LPSTR Codeline,
UINT *Length);

extern int APIENTRY LSReadPdf417FromBitmap(HWND hWnd,
HANDLE hImage,
LPSTR Codeline,
UINT *Length,
char *ErrorRate,
int Reserved1,
int Reserved2,
int Reserved3,
int Reserved4);

extern int APIENTRY LSReadBarcodeFromBitmap(HWND hWnd,
HANDLE hImage,
char TypeBarcode,
int pos_x,
int pos_y,
int sizeW,
int sizeH,
LPSTR Codeline,
UINT *Length);

extern int APIENTRY LSConvertImageToBW(HWND hWnd,
SHORT Method,
HANDLE GrayImage,
LPHANDLE BWImage,
short PoloFilter,
float Reserved);

extern int APIENTRY LSConvertImage200To100dpi(HWND hWnd,
HANDLE hImage,
HANDLE *pImage);

extern int APIENTRY LSFreeImage(HWND hWnd,
LPHANDLE hImage);

extern int APIENTRY LSLoadString(short hConnect,
HWND hWnd,
char Format,
short Length,
LPSTR String);

extern int APIENTRY LSLoadStringWithCounter(short hConnect,
HWND hWnd,
char Format,
LPSTR String,
unsigned long StartNumber,
short Step);

extern int APIENTRY LSLoadMultiString(short hConnect,
HWND hWnd,
short OffsetStr1,
char Reserved1,
LPSTR String1,
short Length1,
short OffsetStr2,
char Reserved2,
LPSTR String2,
short Length2,
short OffsetStr3,
char Reserved3,
LPSTR String3,
short Length3);

extern int APIENTRY LSReadBadge(short hConnect,
HWND hWnd,
unsigned char Format,
short MaxLength,
char *String,
short *length);

extern int APIENTRY LSReadBadgeWithTimeout(short hConnect,
HWND hWnd,
unsigned char Format,
short MaxLength,
char *String,
short *length,
long Timeout);

extern int APIENTRY LSReset(short hConnect,
HWND hWnd,
char ResetType);

extern int APIENTRY LSDisplayImage(HWND hWnd,
HANDLE hInstance,
char *FilenameFront,
char *FilenameBack,
int XFront,
int YFront,
int XBack,
int YBack,
int FrontWidth,
int FrontHeight,
int BackWidth,
int BackHeight,
HWND *RetHwndFront,
HWND *RetHwndBack);

extern int APIENTRY LSUpdateImage(HWND hWnd,
char *FilenameFront,
char *FilenameBack,
HWND hWndFront,
HWND hWndBack);

extern int APIENTRY LSAutoDocHandle(short hConnect,
HWND hWnd,
short Stamp,
short Validate,
short CodeLine,
short ScanMode,
short Feeder,
short Sorter,
short NumDocument,
short ClearBlack,
char Side,
short ReadMode,
short SaveImage,
char *DirectoryFile,
char *BaseFilename,
float pos_x,
float pos_y,
float sizeW,
float sizeH,
short OriginMeasureDoc,
short OcrImageSide,
short FileFormat,
int Quality,
int SaveMode,
int PageNumber,
short WaitTimeout,
short Beep,
int (*userfunc)(S_CODELINE_INFO *CodelineInfo),
LPVOID Reserved2,
LPVOID Reserved3);

extern int APIENTRY LSAutoDocHandleVB(short hConnect,
HWND hWnd,
short Stamp,
short Validate,
short CodeLine,
short ScanMode,
short Feeder,
short Sorter,
short NumDocument,
short ClearBlack,
char Side,
short ReadMode,
short SaveImage,
char *DirectoryFile,
char *BaseFilename,
float pos_x,
float pos_y,
float sizeW,
float sizeH,
short OriginMeasureDoc,
short OcrImageSide,
short FileFormat,
int Quality,
int SaveMode,
int PageNumber,
short WaitTimeout,
short Beep,
int (*userfunc)(S_CODELINE_INFO_VB *CodelineInfo),
LPVOID Reserved2,
LPVOID Reserved3);

extern int APIENTRY LS800AutoDocHandle( short hConnect,
HWND hWnd,
char Validate,
short Codeline,
char Side,
short ScanModeFront,
short ScanModeBack,
short ClearBlack,
short NumDocument,
short SaveImage,
char *DirectoryFile,
char *BaseFilename,
short Unit,
float pos_x,
float pos_y,
float sizeW,
float sizeH,
short OcrImageSide,
short FileFormat,
int Quality,
int SaveMode,
int PageNumber,
short Beep,
int (*userfunc1)(S_CODELINE_INFO_LS800 *CodelineInfo),
int (*userfunc2)(S_IMAGE_INFO_LS800 *ImageInfo),
int (*userfunc3)(S_IMAGE_INFO_LS800 *ImageInfo),
short Reserved1, // not used must be NULL
long Reserved2, // not used must be NULL
LPVOID Reserved3); // not used must be NULL

extern int APIENTRY LSGetDocData(short hConnect,
HWND hWnd,
unsigned long *NrDoc,
LPSTR FilenameFront,
LPSTR FilenameBack,
LPSTR Reserved1, // not used must be NULL
LPSTR Reserved2, // not used must be NULL
LPHANDLE *FrontImage,
LPHANDLE *BackImage,
LPHANDLE *Reserved3, // not used must be NULL
LPHANDLE *Reserved4, // not used must be NULL
LPSTR CodelineSW,
LPSTR CodelineHW,
LPSTR BarCode,
LPSTR CodelinesOptical,
SHORT *DocToRead,
LONG *ErrorType, // set to 0
LPVOID Reserved5, // not used must be NULL
LPVOID Reserved6); // not used must be NULL

extern int APIENTRY LSStopAutoDocHandle(short hConnect,
HWND hWnd);

extern int APIENTRY LSPeripheralStatus(short hConnect,
HWND hWnd,
unsigned char *SenseKey,
unsigned char *StatusByte);

extern int APIENTRY LSGetVersion(CHAR *DllVersion,
SHORT LenString);

extern int APIENTRY LSDoubleLeafingSensibility(short hConnect,
HWND hWnd,
short Reserved,
unsigned char Value);

extern int APIENTRY LSConfigDoubleLeafing(short hConnect,
HWND hWnd,
short Value);

extern int APIENTRY LSChangeStampPosition(short hConnect,
HWND hWnd,
short Step,
char Reserved);

extern int APIENTRY LSViewOCRRectangle(HWND hWnd,
BOOL fView);

extern int APIENTRY LSHistoryCommand(short hConnect,
HWND hWnd,
short Cmd,
void *sHistory);

extern int APIENTRY LSDownloadFirmware(short hConnect,
HWND hWnd,
char *FileFw,
int (*userfunc1)(char *Item));


// -------------------------------------------------------------
// CTS Reserved function
// -------------------------------------------------------------
extern int APIENTRY LSConnectDiagnostica(HWND, HANDLE, short, short *);

extern int APIENTRY LSReadE13BSignal(short, HWND, unsigned char **, long *);

extern int APIENTRY LSScannerCalibration(short, HWND, short);

extern int APIENTRY LSPhotosCalibration(short, HWND);

extern int APIENTRY LSDumpPeripheralMemory(short, HWND, unsigned char *, long, long);

extern int APIENTRY LSCalibrationMICR(short, HWND, unsigned char *, short);

extern int APIENTRY LSBuilderSetting(HWND, void *);

extern int APIENTRY LSSetDiagnosticMode(short, HWND, BOOL);

extern int APIENTRY LSSetConfiguration(short, HWND, char *);

extern int APIENTRY LSSetTrimmerMICR(short, HWND, short);

extern int APIENTRY LSReadTrimmerMICR(short, HWND, void *);

extern int APIENTRY LSImageCalibration(short, HWND, BOOL, short *);

extern int APIENTRY LSPrinterCalibration(short, HWND, short, short, short);

extern int APIENTRY LSSetInImageCalibration(short, HWND);

extern int APIENTRY LSRS232Configuration(short, HWND, char *, DWORD, BYTE, BYTE, BYTE);


#endif
# July 4, 2005 7:34 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)