You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(42) |
Nov
(368) |
Dec
(248) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(2) |
Feb
(207) |
Mar
(180) |
Apr
(9) |
May
(39) |
Jun
(9) |
Jul
(22) |
Aug
(56) |
Sep
(82) |
Oct
(113) |
Nov
(236) |
Dec
(219) |
2005 |
Jan
(119) |
Feb
(81) |
Mar
(53) |
Apr
(177) |
May
(2) |
Jun
(67) |
Jul
(17) |
Aug
(5) |
Sep
(53) |
Oct
(17) |
Nov
(122) |
Dec
(77) |
2006 |
Jan
(293) |
Feb
(16) |
Mar
(32) |
Apr
(14) |
May
(29) |
Jun
(6) |
Jul
|
Aug
|
Sep
(18) |
Oct
(28) |
Nov
|
Dec
(2) |
2007 |
Jan
(8) |
Feb
(19) |
Mar
(4) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(37) |
Oct
(1) |
Nov
(8) |
Dec
(25) |
2008 |
Jan
(1) |
Feb
(13) |
Mar
(17) |
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(19) |
Dec
(16) |
2009 |
Jan
(6) |
Feb
(9) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Rolf K. <lab...@us...> - 2005-04-04 20:06:59
|
Update of /cvsroot/opengtoolkit/largefile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16379 Added Files: largefile.spec Removed Files: ogtk_file.spec Log Message: Added U32 handlers --- NEW FILE: largefile.spec --- [Package Name] Name=largefile Version=1.0 Release=1 [Description] Description="The largefile package contains several routines for operating on files over 2GB." Summary="OpenG Large File Tools" License=LGPL Copyright="Rolf Kalbermatter" Distribution="OpenG Toolkit" Icon=largefile.bmp Vendor=OpenG.org URL=http://opengtoolkit.sourceforge.net/largefile Packager="Jim Kring <ji...@ji...>" [Dependencies] Requires="error >= 1.0" AutoReqProv=FALSE [Platform] Exclusive_LabVIEW_Version= >=6.0 Exclusive_LabVIEW_System=All Exclusive_OS=Windows NT, Windows 9x [Files] Num File Groups=2 [File Group 0] Source Dir=built/win/largefile Target Dir=<user.lib>/_OpenG.lib/largefile Replace Mode=Never Num Files=24 File 0=dir.mnu File 1=largefile.llb/LF End Of File.vi File 2=largefile.llb/LF Read File (DBL).vi File 3=largefile.llb/LF Read File (I16).vi File 4=largefile.llb/LF Read File (I32).vi File 5=largefile.llb/LF Read File (U32).vi File 6=largefile.llb/LF Read File (SGL).vi File 7=largefile.llb/LF Read File (STR).vi File 8=largefile.llb/LF Read File.vi File 9=largefile.llb/LF Seek File.vi File 10=largefile.llb/LF Simple Example.vi File 11=largefile.llb/LF Write File (DBL).vi File 12=largefile.llb/LF Write File (I16).vi File 13=largefile.llb/LF Write File (I32).vi File 14=largefile.llb/LF Write File (U32).vi File 15=largefile.llb/LF Write File (SGL).vi File 16=largefile.llb/LF Write File (STR).vi File 17=largefile.llb/LF Write File.vi File 18=largefile.llb/LFU Error Handler.vi File 19=largefile.llb/LFU Get File Size.vi File 20=largefile.llb/LFU Retrieve File Handle.vi File 21=largefile.llb/LFU Set End Of File.vi File 22=largefile.llb/LFU Set File Pointer.vi File 23=largefile.llb/VI Tree - Large File.vi [File Group 1] Source Dir="Dynamic Palette MNUs" Target Dir="<user.lib>/_dynamicpalette_dirs/file" Replace Mode=Always Num Files=1 File 0=oglib_lfile.mnu --- ogtk_file.spec DELETED --- |
Update of /cvsroot/opengtoolkit/file/largefile.win.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19057/largefile.win.llb Removed Files: LF End Of File.vi LF Read File (DBL).vi LF Read File (I16).vi LF Read File (I32).vi LF Read File (SGL).vi LF Read File (STR).vi LF Read File.vi LF Seek File.vi LF Simple Example.vi LF Write File (DBL).vi LF Write File (I16).vi LF Write File (I32).vi LF Write File (SGL).vi LF Write File (STR).vi LF Write File.vi LFU Error Handler.vi LFU Get File Size.vi LFU Retrieve File Handle.vi LFU Set End Of File.vi LFU Set File Pointer.vi VI Tree - Large File.vi Log Message: removed large file VIs as they have their own package now --- LF Write File.vi DELETED --- --- LFU Retrieve File Handle.vi DELETED --- --- LFU Error Handler.vi DELETED --- --- LF Write File (I32).vi DELETED --- --- VI Tree - Large File.vi DELETED --- --- LF Write File (SGL).vi DELETED --- --- LF Write File (STR).vi DELETED --- --- LF Read File (STR).vi DELETED --- --- LFU Get File Size.vi DELETED --- --- LF Write File (DBL).vi DELETED --- --- LF Read File (SGL).vi DELETED --- --- LF End Of File.vi DELETED --- --- LF Read File (DBL).vi DELETED --- --- LF Read File (I32).vi DELETED --- --- LF Read File.vi DELETED --- --- LF Write File (I16).vi DELETED --- --- LFU Set End Of File.vi DELETED --- --- LF Read File (I16).vi DELETED --- --- LF Seek File.vi DELETED --- --- LFU Set File Pointer.vi DELETED --- --- LF Simple Example.vi DELETED --- |
From: Rolf K. <lab...@us...> - 2005-04-04 14:03:02
|
Update of /cvsroot/opengtoolkit/largefile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16097 Added Files: .cvsignore Log Message: added .cvsignore to exclud "built" and "packaged" directory --- NEW FILE: .cvsignore --- packaged built |
From: Rolf K. <lab...@us...> - 2005-04-04 13:07:48
|
Update of /cvsroot/opengtoolkit/lvzip In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1469 Modified Files: .cvsignore Log Message: Index: .cvsignore =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** .cvsignore 18 Jan 2005 01:43:06 -0000 1.3 --- .cvsignore 4 Apr 2005 13:07:38 -0000 1.4 *************** *** 1,3 **** packaged lvzip.log ! built \ No newline at end of file --- 1,4 ---- packaged lvzip.log ! built ! zlib \ No newline at end of file |
From: Rolf K. <lab...@us...> - 2005-04-04 12:34:07
|
Update of /cvsroot/opengtoolkit/lvzip/source/lvzip.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23964/source/lvzip.llb Modified Files: ZLIB Copy Raw File.vi ZLIB Open Read File.vi Log Message: Index: ZLIB Open Read File.vi =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/source/lvzip.llb/ZLIB Open Read File.vi,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 Binary files /tmp/cvsZYJjHZ and /tmp/cvs15QE6q differ Index: ZLIB Copy Raw File.vi =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/source/lvzip.llb/ZLIB Copy Raw File.vi,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvseii7ZF and /tmp/cvsqv0AR7 differ |
From: Rolf K. <lab...@us...> - 2005-04-04 12:34:06
|
Update of /cvsroot/opengtoolkit/lvzip/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23964/source Modified Files: lvzip2_0.txt Removed Files: file.llb.zip Log Message: Index: lvzip2_0.txt =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/source/lvzip2_0.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** lvzip2_0.txt 16 Jan 2005 12:14:02 -0000 1.3 --- lvzip2_0.txt 4 Apr 2005 12:33:37 -0000 1.4 *************** *** 79,83 **** used in a program and this parameter was wired with a constant or terminal. Since the non-default value was rarely useful, this ! should not be a big problm for most users as it is unlikely this parameter was ever wired. --- 79,83 ---- used in a program and this parameter was wired with a constant or terminal. Since the non-default value was rarely useful, this ! should not be a big problem for most users as it is unlikely this parameter was ever wired. *************** *** 110,114 **** ZLIB Store File Old.vi ! 4) If you have an older application where you directly used of one of the VIs described in 2) or 3) from the old lvzip package you can either replace those VIs by the compatibility VIs or rewire your application to work with --- 110,114 ---- ZLIB Store File Old.vi ! 4) If you have an older application where you directly used one of the VIs described in 2) or 3) from the old lvzip package you can either replace those VIs by the compatibility VIs or rewire your application to work with --- file.llb.zip DELETED --- |
From: Rolf K. <lab...@us...> - 2005-04-04 12:18:28
|
Update of /cvsroot/opengtoolkit/lvzip In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20261 Modified Files: Change-Log.txt Log Message: Index: Change-Log.txt =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/Change-Log.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Change-Log.txt 12 Sep 2003 20:43:15 -0000 1.1 --- Change-Log.txt 4 Apr 2005 12:18:18 -0000 1.2 *************** *** 1 **** ! 2003-09-10 Removed "File Info.vi". it uses a CIN Manager function which starts to behave rather badly in newer (>=7.0) non-Windows LabVIEW version. \ No newline at end of file --- 1,11 ---- ! 2003-09-10 rk ! Removed "File Info.vi". it uses a CIN Manager function which ! starts to behave rather badly in newer (>=7.0) non-Windows LabVIEW version. ! ! 2005-01-12 rk ! Incorporated newest zlib version 1.22 and 1.0.1 of Jean-loup Gailly's ! minizip library. Added and adapted VIs to support addition of files to ! existing archives, delete files from an archive, and add and retrieve ! password protected files. ! Fixed a bug in the "File Info.vi" in the file package and reactivated ! it in the lvzip library. |
From: Martin H. <mh...@us...> - 2005-03-23 13:06:56
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32524/c_source Modified Files: lvserial.cpp Log Message: Added additional features to the CommOptions function and changed the handshake settings, so they match more the behaviour of the mode command. Index: lvserial.cpp =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** lvserial.cpp 21 Mar 2005 01:40:13 -0000 1.3 --- lvserial.cpp 23 Mar 2005 13:06:32 -0000 1.4 *************** *** 2509,2512 **** --- 2509,2513 ---- { PCOMM pComm; //pointer to the serial port COMM structure + DCB dcb; //DCB data structure _ASSERT(gpCommList); *************** *** 2525,2529 **** //any of the given characters at pcTermCharacter terminates //the read operation - pComm->lTeminationMode = COMM_TERM_CHAR; if (pcTermCharacter == NULL) --- 2526,2529 ---- *************** *** 2539,2542 **** --- 2539,2545 ---- } + //enable termination + pComm->lTeminationMode = COMM_TERM_CHAR; + if (pComm->pcTermination != NULL) pComm->pcTermination = (char *)malloc(lNumberOfTermChar+1); *************** *** 2566,2569 **** --- 2569,2591 ---- } + //if there is only one termination character, we change + //the DCB termination character. + if (lNumberOfTermChar == 1) + { + if (!GetCommState(pComm->hC, &dcb)) + { + _ASSERT(0); + return COMM_ERR_SYSTEM; + } + + dcb.EofChar = *pcTermCharacter; + + if (!SetCommState(pComm->hC, &dcb)) + { + _ASSERT(0); + return COMM_ERR_SYSTEM; + } + } + return COMM_SUCCESS; } *************** *** 2593,2596 **** --- 2615,2619 ---- long lNumberOfTermChar) { + DCB dcb; //DCB data structure PCOMM pComm; //pointer to the serial port COMM structure int iErrPos; //error position in the regex when copiling *************** *** 2620,2626 **** } - //store the termination mode - pComm->lTeminationMode = lTerminationMode; - if (lTerminationMode != COMM_TERM_NONE) { --- 2643,2646 ---- *************** *** 2636,2639 **** --- 2656,2662 ---- return COMM_ERR_ARGUMENT; + //store the termination mode + pComm->lTeminationMode = lTerminationMode; + if (pComm->pcTermination != NULL) pComm->pcTermination = (char *)malloc(lNumberOfTermChar+1); *************** *** 2681,2684 **** --- 2704,2710 ---- else { + //store the termination mode + pComm->lTeminationMode = lTerminationMode; + //read termination is disabled and we can free the memory for the //termination characters if they where allocated previously. *************** *** 2691,2694 **** --- 2717,2740 ---- } + //if there is only one termination character, we change + //the DCB termination character. + if (lNumberOfTermChar == 1 && + lTerminationMode != COMM_TERM_REGEX) + { + if (!GetCommState(pComm->hC, &dcb)) + { + _ASSERT(0); + return COMM_ERR_SYSTEM; + } + + dcb.EofChar = *pcTermination; + + if (!SetCommState(pComm->hC, &dcb)) + { + _ASSERT(0); + return COMM_ERR_SYSTEM; + } + } + return COMM_SUCCESS; } *************** *** 2990,2994 **** long CommOptions(HANDLE hComm, char *pszOptions) { ! DCB dcb; COMMTIMEOUTS Timeouts; //the OS serial port timeout values structure PCOMM pComm; //pointer to the COMM structure --- 3036,3040 ---- long CommOptions(HANDLE hComm, char *pszOptions) { ! DCB dcb; //DCB data structure COMMTIMEOUTS Timeouts; //the OS serial port timeout values structure PCOMM pComm; //pointer to the COMM structure *************** *** 3005,3008 **** --- 3051,3055 ---- int aiOffsets[18]; //found offsets in the subject string int iMatches; //number of found matches + int boSimpleHandshake; //simple form with handshake detected _ASSERT(gpCommList); *************** *** 3030,3039 **** } ! //At first, we try to detect the simple form of the option string ! //<baudrate>,<parity>,<databits>,<stopbits> pRegEx = pcre_compile( ! "(?i)(\\d+),([neoms]),([5-8]),([12])", ! 0, (const char **)&pszError, &iErrorOffset, --- 3077,3139 ---- } ! //At first, we try to detect the simple form with handshake ! //<baudrate>,<parity>,<databits>,<stopbits>,<handshake> ! pRegEx = pcre_compile( ! "(?i)(\\d+),([neoms]),(\\d{1,2}),([\\d\\.]{1,4}),([xp])", ! 0, ! (const char **)&pszError, ! &iErrorOffset, ! NULL); ! ! _ASSERT(pRegEx); ! ! iOptionsLength = (int)strlen(pszOptions); ! iOffset = 0; ! ! iMatches = pcre_exec( ! pRegEx, ! NULL, ! pszOptions, ! iOptionsLength, ! iOffset, ! PCRE_NOTEMPTY, ! aiOffsets, ! 18); + //if we detect the simple form with handshake, we set the + //boSimpleHandshake to true and set only the handshake + //parameters in the DCB. + if (iMatches > 0) + { + boSimpleHandshake = TRUE; + switch (*(pszOptions+aiOffsets[9])) + { + case 'x': + case 'X': + dcb.fInX = dcb.fOutX = TRUE; + dcb.fOutxDsrFlow = dcb.fOutxCtsFlow = FALSE; + dcb.fDtrControl = DTR_CONTROL_ENABLE; + dcb.fRtsControl = RTS_CONTROL_ENABLE; + break; + case 'p': + case 'P': + dcb.fInX = dcb.fOutX = FALSE; + dcb.fOutxDsrFlow = dcb.fOutxCtsFlow = TRUE; + dcb.fDtrControl = DTR_CONTROL_HANDSHAKE; + dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; + break; + } + } + else + boSimpleHandshake = FALSE; + + //free the compiled regex + pcre_free(pRegEx); + + //Second, we try to detect the simple form (ignore the handshake) + //<baudrate>,<parity>,<databits>,<stopbits> pRegEx = pcre_compile( ! "(?i)(\\d+),([neoms]),(\\d{1,2}),([\\d\\.]{1,4})", ! 0, (const char **)&pszError, &iErrorOffset, *************** *** 3057,3063 **** if (iMatches > 0) { ! //the options string contains the simple form and we got ! //all the options through the regular expression. Now we ! //store the new configuration into the DCB structure. //store the baud rate --- 3157,3169 ---- if (iMatches > 0) { ! //the options string contains the simple form. ! ! if (!boSimpleHandshake) ! { ! dcb.fInX = dcb.fOutX = FALSE; ! dcb.fOutxDsrFlow = dcb.fOutxCtsFlow = FALSE; ! dcb.fDtrControl = DTR_CONTROL_ENABLE; ! dcb.fRtsControl = RTS_CONTROL_ENABLE; ! } //store the baud rate *************** *** 3202,3208 **** dcb.fOutX = TRUE; dcb.fOutxCtsFlow = FALSE; ! dcb.fRtsControl = RTS_CONTROL_DISABLE; dcb.fOutxDsrFlow = FALSE; ! dcb.fDtrControl = DTR_CONTROL_DISABLE; break; case 'r': --- 3308,3314 ---- dcb.fOutX = TRUE; dcb.fOutxCtsFlow = FALSE; ! dcb.fRtsControl = RTS_CONTROL_ENABLE; dcb.fOutxDsrFlow = FALSE; ! dcb.fDtrControl = DTR_CONTROL_ENABLE; break; case 'r': *************** *** 3213,3217 **** dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; dcb.fOutxDsrFlow = FALSE; ! dcb.fDtrControl = DTR_CONTROL_DISABLE; break; case 'd': --- 3319,3323 ---- dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; dcb.fOutxDsrFlow = FALSE; ! dcb.fDtrControl = DTR_CONTROL_ENABLE; break; case 'd': *************** *** 3220,3224 **** dcb.fOutX = FALSE; dcb.fOutxCtsFlow = FALSE; ! dcb.fRtsControl = RTS_CONTROL_DISABLE; dcb.fOutxDsrFlow = TRUE; dcb.fDtrControl = DTR_CONTROL_HANDSHAKE; --- 3326,3339 ---- dcb.fOutX = FALSE; dcb.fOutxCtsFlow = FALSE; ! dcb.fRtsControl = RTS_CONTROL_ENABLE; ! dcb.fOutxDsrFlow = TRUE; ! dcb.fDtrControl = DTR_CONTROL_HANDSHAKE; ! break; ! case 'p': ! case 'P': ! dcb.fInX = FALSE; ! dcb.fOutX = FALSE; ! dcb.fOutxCtsFlow = TRUE; ! dcb.fRtsControl = RTS_CONTROL_HANDSHAKE; dcb.fOutxDsrFlow = TRUE; dcb.fDtrControl = DTR_CONTROL_HANDSHAKE; *************** *** 3228,3241 **** } } ! else if (_strnicmp(pszOptions+aiOffsets[0], "xon", 3) == 0) { //set the XON character dcb.XonChar = (char)atoi(pszOptions+aiOffsets[6]); } ! else if (_strnicmp(pszOptions+aiOffsets[0], "xoff", 4) == 0) { //set the XOFF character dcb.XoffChar = (char)atoi(pszOptions+aiOffsets[6]); } else if (_strnicmp(pszOptions+aiOffsets[0], "data", 4) == 0) { --- 3343,3404 ---- } } ! else if (_strnicmp(pszOptions+aiOffsets[0], "xonc", 3) == 0) { //set the XON character dcb.XonChar = (char)atoi(pszOptions+aiOffsets[6]); } ! else if (_strnicmp(pszOptions+aiOffsets[0], "xoffc", 4) == 0) { //set the XOFF character dcb.XoffChar = (char)atoi(pszOptions+aiOffsets[6]); } + else if (_strnicmp(pszOptions+aiOffsets[0], "xon", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fInX = dcb.fOutX = TRUE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fInX = dcb.fOutX = FALSE; + } + else if (_strnicmp(pszOptions+aiOffsets[0], "odsr", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fOutxDsrFlow = TRUE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fOutxDsrFlow = FALSE; + } + else if (_strnicmp(pszOptions+aiOffsets[0], "octs", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fOutxCtsFlow = TRUE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fOutxCtsFlow = FALSE; + } + else if (_strnicmp(pszOptions+aiOffsets[0], "dtr", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fDtrControl = DTR_CONTROL_ENABLE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fDtrControl = DTR_CONTROL_DISABLE; + else if (_strnicmp(pszOptions+aiOffsets[6],"hs",2) == 0) + dcb.fDtrControl = DTR_CONTROL_HANDSHAKE; + } + else if (_strnicmp(pszOptions+aiOffsets[0], "rts", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fRtsControl = DTR_CONTROL_ENABLE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fRtsControl = DTR_CONTROL_DISABLE; + else if (_strnicmp(pszOptions+aiOffsets[6],"hs",2) == 0) + dcb.fRtsControl = DTR_CONTROL_HANDSHAKE; + else if (_strnicmp(pszOptions+aiOffsets[6],"ts",2) == 0) + dcb.fRtsControl = RTS_CONTROL_TOGGLE; + } + else if (_strnicmp(pszOptions+aiOffsets[0], "idsr", 3) == 0) + { + if (_strnicmp(pszOptions+aiOffsets[6],"on",2) == 0) + dcb.fDsrSensitivity = TRUE; + else if (_strnicmp(pszOptions+aiOffsets[6],"off",3) == 0) + dcb.fDsrSensitivity = FALSE; + } else if (_strnicmp(pszOptions+aiOffsets[0], "data", 4) == 0) { *************** *** 5030,5034 **** return; ! _ASSERT(DSCheckPtr(halsPorts)); //clean up the incoming array --- 5193,5197 ---- return; ! _ASSERT(!DSCheckPtr(halsPorts)); //clean up the incoming array |
From: Martin H. <mh...@us...> - 2005-03-23 12:56:55
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26812/lv_source Modified Files: lvserial.dll Log Message: shared library version 0.0.4.1 Index: lvserial.dll =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/lvserial.dll,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvs1YLJvu and /tmp/cvsWkw8Ag differ |
From: Martin H. <mh...@us...> - 2005-03-23 12:55:45
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26480/lv_source Modified Files: config.mnu dir.mnu linestatus.mnu utility.mnu Log Message: modification for the openg package installation Index: config.mnu =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/config.mnu,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsvQc55C and /tmp/cvsZjh14q differ Index: dir.mnu =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/dir.mnu,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsx8dDUG and /tmp/cvsHRamWu differ Index: linestatus.mnu =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/linestatus.mnu,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsBq4R5N and /tmp/cvsU0AWbC differ Index: utility.mnu =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/utility.mnu,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsiJXh7T and /tmp/cvsXwgQfI differ |
From: Martin H. <mh...@us...> - 2005-03-21 01:54:36
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16449/lv_source Added Files: lvserial-Eng-errors.txt Log Message: --- NEW FILE: lvserial-Eng-errors.txt --- <?XML Version="1.0"> <nidocument> <nicomment> OpenG Serial Port API </nicomment> <nierror code="-65081"> COMM: The received character is not equal to the transmitted character. </nierror> <nierror code="-65080"> COMM: The application tried to transmit a character, but the output buffer was full. </nierror> <nierror code="-65079"> COMM: A character-buffer overrun has occurred. The next character is lost. </nierror> <nierror code="-65078"> COMM: The system was unable to write the specified number of bytes. </nierror> <nierror code="-65077"> COMM: The serial port is not locked. </nierror> <nierror code="-65076"> COMM: Can't lock the serial port (timeout). </nierror> <nierror code="-65075"> COMM: Unable to create the semaphore. </nierror> <nierror code="-65074"> COMM: Operation aborted. </nierror> <nierror code="-65073"> COMM: Out of memory. </nierror> <nierror code="-65072"> COMM: Argument error. </nierror> <nierror code="-65071"> COMM: Device not found. </nierror> <nierror code="-65070"> COMM: Unknown system error. </nierror> <nierror code="-65069"> COMM: The given device reference is invalid. </nierror> <nierror code="-65068"> COMM: Timeout expired. </nierror> <nierror code="-65067"> COMM: Parity error occurred during transfer. </nierror> <nierror code="-65066"> COMM: Framing error occurred during transfer. </nierror> <nierror code="-65065"> COMM: An input buffer overflow has occurred. There is either no room in the input buffer, or a character was received after the end-of-file (EOF) character. </nierror> <nierror code="-65064"> COMM: The device is valid, but you cannot currently access it. </nierror> <nierror code="-65063"> COMM: The given operation is not implemented. </nierror> <nierror code="-65062"> COMM: Invalid length or byte count specified. </nierror> <nierror code="-65061"> COMM: Termination character not received. </nierror> <nierror code="65060"> COMM: The number of bytes transferred is equal to the specified maximum. </nierror> <nierror code="65061"> COMM: One of the termination characters received. </nierror> </nidocument> |
From: Martin H. <mh...@us...> - 2005-03-21 01:54:14
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16132/lv_source Added Files: lvserial-Deu-errors.txt Log Message: --- NEW FILE: lvserial-Deu-errors.txt --- <?XML Version="1.0"> <nidocument> <nicomment> OpenG Serial Port API </nicomment> <nierror code="-65081"> COMM: Das empfangene Zeichen ist nicht identisch mit dem gesendeten Zeichen. </nierror> <nierror code="-65080"> COMM: Die Applikation hat versucht ein Zeichen zu senden, jedoch war der Ausgangspuffer voll. </nierror> <nierror code="-65079"> COMM: Ein Zeichenüberlauf ist aufgetreten. Das nächste Zeichen ging verloren. </nierror> <nierror code="-65078"> COMM: Die geforderte Anzahl Bytes konnte nicht geschrieben werden. </nierror> <nierror code="-65077"> COMM: Der serielle port ist nicht gelockt. </nierror> <nierror code="-65076"> COMM: Der serielle port kann nicht gelockt werden (timeout). </nierror> <nierror code="-65075"> COMM: Die Semaphore kann nicht erzeugt werden. </nierror> <nierror code="-65074"> COMM: Die Operation wurde abgebrochen. </nierror> <nierror code="-65073"> COMM: Es ist nicht genug Speicher für die Operation verfügbar. </nierror> <nierror code="-65072"> COMM: Argumentfehler. </nierror> <nierror code="-65071"> COMM: Das angegebene Gerät wurde nicht gefunden. </nierror> <nierror code="-65070"> COMM: Unbekannter Systemfehler. </nierror> <nierror code="-65069"> COMM: Die angegebene Gerätereferenznummer ist ungültig. </nierror> <nierror code="-65068"> COMM: Timeout abgelaufen bevor die Operation beendet wurde. </nierror> <nierror code="-65067"> COMM: Während der Übertragung ist ein Paritäts-Fehler aufgetreten. </nierror> <nierror code="-65066"> COMM: Während der Übertragung ist ein Rahmensynchronisations-Fehler (framing error) aufgetreten. </nierror> <nierror code="-65065"> COMM: Während der Übertragung ist ein Pufferüberlauf-Fehler aufgetreten. </nierror> <nierror code="-65064"> COMM: Das angegebene Gerät wurde gefunden. Gegenwärtig kann jedoch nicht darauf zugegriffen werden. </nierror> <nierror code="-65063"> COMM: Die angegebene Operation ist nicht implementiert. </nierror> <nierror code="-65062"> COMM: Ungültige Länge oder Anzahl Bytes spezifiziert. </nierror> <nierror code="-65061"> COMM: Keines der Abschlusszeichen wurde empfangen. </nierror> <nierror code="65060"> COMM: Die Anzahl der übertragenen Bytes ist gleich der spezifizierten Maximalzahl. </nierror> <nierror code="65061"> COMM: Eines der Abschlusszeichen wurde empfangen. </nierror> </nidocument> |
From: Martin H. <mh...@us...> - 2005-03-21 01:46:46
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10694/lv_source Modified Files: comm wait for [string pattern].vi comm wait for bytecount.vi comm wait for character.vi comm wait for string pattern.vi Log Message: Errors are build using the Build Error Cluster__ogtk.vi Index: comm wait for string pattern.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for string pattern.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsOZNPmK and /tmp/cvsgo3VOa differ Index: comm wait for bytecount.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for bytecount.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsDjNdYQ and /tmp/cvsvrdWsh differ Index: comm wait for character.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for character.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsQEU4lR and /tmp/cvsoNaJSh differ Index: comm wait for [string pattern].vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for [string pattern].vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsw9vT6W and /tmp/cvsqUKSFn differ |
From: Martin H. <mh...@us...> - 2005-03-21 01:44:58
|
Update of /cvsroot/opengtoolkit/serial/package_support In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9982/package_support Modified Files: serial.bmp Log Message: Changed to a valid image for the serial port VIs Index: serial.bmp =================================================================== RCS file: /cvsroot/opengtoolkit/serial/package_support/serial.bmp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsP6Ru5p and /tmp/cvs6JtgMP differ |
From: Martin H. <mh...@us...> - 2005-03-21 01:44:08
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8967/lv_source Modified Files: VI Tree - serial.vi comm control.vi comm options.vi comm receive bytes.vi comm termination2.vi comm timeout2.vi comm write and receive echo.vi comm write mode.vi Log Message: cosmetic changes. Index: VI Tree - serial.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/VI Tree - serial.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsmotstY and /tmp/cvswOqniJ differ Index: comm control.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm control.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsaAhrc4 and /tmp/cvsSwLP2O differ Index: comm options.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm options.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvskf6ga6 and /tmp/cvsuRuW1Q differ Index: comm write mode.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm write mode.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsy8Vd17 and /tmp/cvswQj9TS differ Index: comm write and receive echo.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm write and receive echo.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsYh4LD7 and /tmp/cvsg5UVxS differ Index: comm timeout2.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm timeout2.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs2f6Zx9 and /tmp/cvswgYstU differ Index: comm receive bytes.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm receive bytes.vi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsDOxdyb and /tmp/cvsTTP8uW differ Index: comm termination2.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm termination2.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsBxuqWd and /tmp/cvsRpmGUY differ |
From: Martin H. <mh...@us...> - 2005-03-21 01:42:47
|
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8077/lv_source Modified Files: lvserial.dll Log Message: Version 0.0.4.1 Index: lvserial.dll =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/lvserial.dll,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvstPCAi6 and /tmp/cvs9fZXhS differ |
From: Martin H. <mh...@us...> - 2005-03-21 01:41:41
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7453/c_source Modified Files: lvserial.rc Log Message: Version 0.0.4.1 Index: lvserial.rc =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.rc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lvserial.rc 18 Mar 2005 23:23:06 -0000 1.1 --- lvserial.rc 21 Mar 2005 01:41:25 -0000 1.2 *************** *** 54,59 **** VS_VERSION_INFO VERSIONINFO ! FILEVERSION 0,0,4,0 ! PRODUCTVERSION 0,0,4,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG --- 54,59 ---- VS_VERSION_INFO VERSIONINFO ! FILEVERSION 0,0,4,1 ! PRODUCTVERSION 0,0,4,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG *************** *** 72,81 **** VALUE "CompanyName", "MH-Systemtechnik, www.mhst.de" VALUE "FileDescription", "Serial Port API" ! VALUE "FileVersion", "0, 0, 4, 0" VALUE "InternalName", "lvserial" VALUE "LegalCopyright", "Martin Henz Systemtechnik, 2004" VALUE "OriginalFilename", "lvserial.dll" VALUE "ProductName", "Serial Port API" ! VALUE "ProductVersion", "0, 0, 4, 0" END END --- 72,81 ---- VALUE "CompanyName", "MH-Systemtechnik, www.mhst.de" VALUE "FileDescription", "Serial Port API" ! VALUE "FileVersion", "0, 0, 4, 1" VALUE "InternalName", "lvserial" VALUE "LegalCopyright", "Martin Henz Systemtechnik, 2004" VALUE "OriginalFilename", "lvserial.dll" VALUE "ProductName", "Serial Port API" ! VALUE "ProductVersion", "0, 0, 4, 1" END END |
From: Martin H. <mh...@us...> - 2005-03-21 01:41:07
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7132/c_source Modified Files: lvserial.h Log Message: Added and changed some comments Index: lvserial.h =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** lvserial.h 18 Mar 2005 23:13:49 -0000 1.2 --- lvserial.h 21 Mar 2005 01:40:55 -0000 1.3 *************** *** 34,60 **** typedef struct { ! HANDLE hC; ! char *pszPort; ! long lTeminationMode; ! char *pcTermination; ! long lNumberOfTermChar; ! pcre *RegEx; ! pcre_extra *RegExExtra; ! long lWriteMode; ! char *pcStartOfTransmission; ! long lNumberOfStartChars; ! char *pcEndOfTransmission; ! long lNumberOfEndChars; ! unsigned long ulReadIntervalTimeout; ! unsigned long ulReadTotalTimeoutMultiplier; ! unsigned long ulReadTotalTimeoutConstant; ! unsigned long ulWriteTotalTimeoutMultiplier; ! unsigned long ulWriteTotalTimeoutConstant; ! unsigned long ulNOpened; ! HANDLE hLock; ! HANDLE hInternalLock; ! unsigned long ulUserData; ! HANDLE hEvRead; ! HANDLE hEvWrite; } COMM, *PCOMM; --- 34,60 ---- typedef struct { ! HANDLE hC; //the OS handle of the opened serial port ! char *pszPort; //serial port name ! long lTeminationMode; //read termination mode ! char *pcTermination; //read termination characters ! long lNumberOfTermChar; //number of characters in pcTermination ! pcre *RegEx; //compiled regex (for termination mode COMM_TERM_REGEX) ! pcre_extra *RegExExtra; //regex extra data (for termination mode COMM_TERM_REGEX) ! long lWriteMode; //write mode ! char *pcStartOfTransmission; //start of transmission characters ! long lNumberOfStartChars; //number of characters in pcStartOfTransmission ! char *pcEndOfTransmission; //end of transmission characters ! long lNumberOfEndChars; //number of characters in pcEndOfTransmission ! unsigned long ulReadIntervalTimeout; //read interval timeout ! unsigned long ulReadTotalTimeoutMultiplier; //read total timeout multiplier ! unsigned long ulReadTotalTimeoutConstant; //read total timeout constant ! unsigned long ulWriteTotalTimeoutMultiplier;//write total timeout multiplier ! unsigned long ulWriteTotalTimeoutConstant; //write total timeout constant ! unsigned long ulNOpened; //number of CommOpenPort calls for this port ! HANDLE hLock; //lock handle for external use ! HANDLE hInternalLock; //lock handle for internal use ! unsigned long ulUserData; //user specified data ! HANDLE hEvRead; //read event handle ! HANDLE hEvWrite; //write event handle } COMM, *PCOMM; *************** *** 74,77 **** --- 74,78 ---- #endif //LVSERIAL_CONST_ONLY + //serial port parity configuration #define COMM_PARITY_NONE 0 #define COMM_PARITY_ODD 1 *************** *** 80,87 **** --- 81,90 ---- #define COMM_PARITY_SPACE 4 + //serial port stop bit configuration #define COMM_ONESTOPBIT 0 #define COMM_ONE5STOPBITS 1 #define COMM_TWOSTOPBITS 2 + //option flags for the CommFlush function #define COMM_FLUSH_TXABORT 0x0001 // Kill the pending/current writes to the comm port. #define COMM_FLUSH_RXABORT 0x0002 // Kill the pending/current reads to the comm port. *************** *** 89,92 **** --- 92,96 ---- #define COMM_FLUSH_RXCLEAR 0x0008 // Kill the typeahead buffer if there. + //serial port error flags #define COMM_ERRF_RXOVER 0x0001 // Receive Queue overflow #define COMM_ERRF_OVERRUN 0x0002 // Receive Overrun Error *************** *** 101,104 **** --- 105,109 ---- #define COMM_ERRF_MODE 0x8000 // Requested mode unsupported + //serial port status flags #define COMM_STAT_CTS 0x0001 #define COMM_STAT_DSR 0x0002 *************** *** 109,112 **** --- 114,118 ---- #define COMM_STAT_TXIM 0x0040 + //serial port modem status flags #define COMM_MSTAT_CTS_ON ((DWORD)0x0010) #define COMM_MSTAT_DSR_ON ((DWORD)0x0020) *************** *** 114,117 **** --- 120,124 ---- #define COMM_MSTAT_RLSD_ON ((DWORD)0x0080) + //serial port flow control configuration #define COMM_FLOW_NONE 0 #define COMM_FLOW_XONXOFF 1 *************** *** 119,122 **** --- 126,130 ---- #define COMM_FLOW_DTRDSR 3 + //serial port advanced control flags (used for CommControl) #define COMM_CTRL_OUTXCTSFLOW 0x00000001 #define COMM_CTRL_OUTXDSRFLOW 0x00000002 *************** *** 134,137 **** --- 142,146 ---- #define COMM_CTRL_ABORTONERROR 0x00002000 + //serial port read termination modes #define COMM_TERM_NONE 0 #define COMM_TERM_CHAR 1 *************** *** 139,142 **** --- 148,152 ---- #define COMM_TERM_REGEX 3 + //serial port write mode #define COMM_WRITE_NORMAL 0 #define COMM_WRITE_STX 1 *************** *** 144,147 **** --- 154,158 ---- #define COMM_WRITE_STXETX (COMM_WRITE_STX | COMM_WRITE_ETX) + //serial port error codes #define COMM_MIN_ERROR -65100 #define COMM_MAX_ERROR -65060 *************** *** 179,182 **** --- 190,195 ---- #endif + //function prototypes + long CommOpenPort(PHANDLE phComm, char * pszPort, int fDuplicate); long CommClosePort(HANDLE hComm); |
From: Martin H. <mh...@us...> - 2005-03-21 01:40:38
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6571/c_source Modified Files: lvserial.cpp Log Message: The lvCommGetUserData function allways returned zero. Some functions did not set the requested data to a default value in case of an error. Added and changed some comments Index: lvserial.cpp =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** lvserial.cpp 18 Mar 2005 23:13:48 -0000 1.2 --- lvserial.cpp 21 Mar 2005 01:40:13 -0000 1.3 *************** *** 41,45 **** //function prototypes ! //helper function for the serial port read and write operations inline long __CommRead( PCOMM pComm, --- 41,47 ---- //function prototypes ! //helper function for the serial port read and write operations. Before these ! //functions can be used the parameters should be validated, the serial port [...3151 lines suppressed...] //clean up the incoming array *************** *** 4675,4681 **** (**halsPorts)->elt[0] = NULL; ! bo = ListPorts(lvListPortsCB, halsPorts); ! if (bo == FALSE) lv_WinErrBld(GetLastError(), __FUNCTION__, pError); } --- 5050,5058 ---- (**halsPorts)->elt[0] = NULL; ! //get the serial port names ! boResult = ListPorts(lvListPortsCB, halsPorts); ! //update the error cluster if the ListPorts function has failed. ! if (boResult == FALSE) lv_WinErrBld(GetLastError(), __FUNCTION__, pError); } |
From: Jim K. <jk...@us...> - 2005-03-19 18:37:19
|
Update of /cvsroot/opengtoolkit/serial/build_support In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29477/build_support Modified Files: serial.rev Log Message: removed the lvzip info Index: serial.rev =================================================================== RCS file: /cvsroot/opengtoolkit/serial/build_support/serial.rev,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** serial.rev 20 Jan 2005 16:56:39 -0000 1.3 --- serial.rev 19 Mar 2005 18:37:09 -0000 1.4 *************** *** 1,10 **** - [lvzip.deab] - Version=0.1 - Build_Number=1 - Build_Date="" - Status=OK - Warnings=1 - Log_File="" - [serial.ogbld] Version=0.0.0 --- 1,2 ---- |
From: Martin H. <mh...@us...> - 2005-03-18 23:30:35
|
Update of /cvsroot/opengtoolkit/serial/developer_docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31403/developer_docs Added Files: LGPL PCRE_LICENCE Log Message: --- NEW FILE: LGPL --- GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: * a) The modified work must itself be a software library. * b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. * c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. * d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: * a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) * b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. * c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. * d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. * e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: * a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. * b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS --- NEW FILE: PCRE_LICENCE --- PCRE LICENCE ------------ PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. Release 5 of PCRE is distributed under the terms of the "BSD" licence, as specified below. The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself. Written by: Philip Hazel <ph...@ca...> University of Cambridge Computing Service, Cambridge, England. Phone: +44 1223 334714. Copyright (c) 1997-2004 University of Cambridge All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. End |
Update of /cvsroot/opengtoolkit/serial/lv_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28334/lv_source Modified Files: VI Tree - serial.vi comm break.vi comm buffer.vi comm bytes at port.vi comm clear break.vi comm close.vi comm clr dtr.vi comm clr rts.vi comm config.vi comm configure.vi comm flow control.vi comm flush.vi comm get cts.vi comm get dsr.vi comm get ring.vi comm get rlsd.vi comm get user data.vi comm lock.vi comm modem status.vi comm open.vi comm read.vi comm receive bytes.vi comm set break.vi comm set dtr.vi comm set rts.vi comm set user data.vi comm set xoff.vi comm set xon.vi comm status.vi comm termination.vi comm timeout.vi comm unlock.vi comm wait for [string pattern].vi comm wait for bytecount.vi comm wait for character.vi comm wait for string pattern.vi comm write.vi dir.mnu lvserial.dll Added Files: comm control flags.vi comm control.vi comm error flags.vi comm flush flags.vi comm modem status flags.vi comm options.vi comm serial port list.vi comm status flags.vi comm termination2.vi comm timeout2.vi comm write and receive echo.vi comm write mode.vi config.mnu linestatus.mnu utility.mnu Log Message: --- NEW FILE: comm modem status flags.vi --- (This appears to be a binary file; contents omitted.) Index: comm clr rts.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm clr rts.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvspxLq1L and /tmp/cvswTEWOp differ --- NEW FILE: config.mnu --- (This appears to be a binary file; contents omitted.) --- NEW FILE: comm control flags.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: comm flush flags.vi --- (This appears to be a binary file; contents omitted.) Index: lvserial.dll =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/lvserial.dll,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsVWNu3R and /tmp/cvsjvn3Xv differ Index: comm receive bytes.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm receive bytes.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsUrfREd and /tmp/cvsTuLcRR differ Index: comm unlock.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm unlock.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsAEdMxi and /tmp/cvsaEWYMW differ Index: comm read.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm read.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsHqAZ1m and /tmp/cvszmhXj1 differ Index: comm status.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm status.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvscskyQy and /tmp/cvseyobgd differ Index: VI Tree - serial.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/VI Tree - serial.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsON3gaG and /tmp/cvsFjT6Fk differ Index: comm set dtr.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set dtr.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs6r2C4M and /tmp/cvsN5PADr differ Index: comm config.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm config.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsQ4IORQ and /tmp/cvsUaaIuv differ Index: comm set xon.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set xon.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsAcS1uT and /tmp/cvsLXXJ9x differ Index: comm modem status.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm modem status.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsWjXv3P and /tmp/cvsX0dBKu differ Index: comm break.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm break.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsR72gkR and /tmp/cvswcpI3v differ Index: comm flow control.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm flow control.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsDNxlcU and /tmp/cvs0bwJXy differ --- NEW FILE: comm control.vi --- (This appears to be a binary file; contents omitted.) Index: comm clear break.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm clear break.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsEQNoUW and /tmp/cvstFFpHB differ --- NEW FILE: comm write mode.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: utility.mnu --- (This appears to be a binary file; contents omitted.) Index: comm get user data.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm get user data.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsLAWy5Y and /tmp/cvsJi73TD differ Index: comm set break.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set break.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsKyYAh1 and /tmp/cvsf90s7F differ --- NEW FILE: comm status flags.vi --- (This appears to be a binary file; contents omitted.) Index: comm lock.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm lock.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsmnOCp3 and /tmp/cvsZLF1gI differ Index: comm get rlsd.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm get rlsd.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsMGXk0b and /tmp/cvs0eBHVQ differ Index: comm wait for character.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for character.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsz91U7d and /tmp/cvsmNH14S differ Index: comm wait for bytecount.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for bytecount.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsfjSCVg and /tmp/cvs7cvsUV differ --- NEW FILE: comm timeout2.vi --- (This appears to be a binary file; contents omitted.) Index: comm close.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm close.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsIRi9xj and /tmp/cvsOyDqyY differ Index: comm set xoff.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set xoff.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsj9HuGl and /tmp/cvs06P9H0 differ Index: comm set user data.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set user data.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsezBwAn and /tmp/cvsRt5tD2 differ --- NEW FILE: comm error flags.vi --- (This appears to be a binary file; contents omitted.) Index: comm flush.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm flush.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsajNnMp and /tmp/cvsRwuJQ4 differ Index: comm termination.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm termination.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs4TvOyx and /tmp/cvs7vokIc differ Index: comm get cts.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm get cts.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsLidnhy and /tmp/cvsPU6Tsd differ Index: comm bytes at port.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm bytes at port.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsVTDOSA and /tmp/cvs25jX5f differ --- NEW FILE: comm options.vi --- (This appears to be a binary file; contents omitted.) Index: comm set rts.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm set rts.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsrPDrhD and /tmp/cvsMnt9vi differ Index: comm write.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm write.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs8kBUeF and /tmp/cvsImW3uk differ --- NEW FILE: comm termination2.vi --- (This appears to be a binary file; contents omitted.) Index: comm buffer.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm buffer.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvslSL13H and /tmp/cvsD0RRln differ Index: comm wait for [string pattern].vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for [string pattern].vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsYpPCpN and /tmp/cvsYtD3Js differ Index: comm configure.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm configure.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvssQlatO and /tmp/cvsYHXtPt differ Index: comm wait for string pattern.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm wait for string pattern.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsW9MQvR and /tmp/cvsDucqUw differ Index: dir.mnu =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/dir.mnu,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsSyiMzX and /tmp/cvsZwj8ZC differ --- NEW FILE: comm write and receive echo.vi --- (This appears to be a binary file; contents omitted.) Index: comm open.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm open.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs7DD4IZ and /tmp/cvs2IpUaF differ --- NEW FILE: linestatus.mnu --- (This appears to be a binary file; contents omitted.) --- NEW FILE: comm serial port list.vi --- (This appears to be a binary file; contents omitted.) Index: comm clr dtr.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm clr dtr.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsIxLDmQ and /tmp/cvsLIW6Pv differ Index: comm timeout.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm timeout.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsDKGLLV and /tmp/cvsDYChhB differ Index: comm get dsr.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm get dsr.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsQXgH3X and /tmp/cvslgFSAD differ Index: comm get ring.vi =================================================================== RCS file: /cvsroot/opengtoolkit/serial/lv_source/comm get ring.vi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsYqCA20 and /tmp/cvsNRhCBG differ |
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26500/c_source Modified Files: plist.h Added Files: chartables.c config.h dftables.c dftables.exe dftables.vcproj get.c internal.h listports.c listports.h lvserial.ico lvserial.ncb lvserial.rc lvserial.sln lvserial.suo lvserial.vcproj maketables.c pcre.c pcre.h pcreposix.c pcreposix.h resource.h study.c ucp.c ucp.h ucpinternal.h ucptable.c ucptypetable.c Log Message: --- NEW FILE: ucp.c --- /************************************************* * libucp - Unicode Property Table handler * *************************************************/ /* This function provides a fast way of obtaining the basic Unicode properties of a character, using a compact binary tree that occupies less than 100K bytes. Copyright (c) 2004 University of Cambridge ------------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------- */ #include "ucp.h" /* Exported interface */ #include "ucpinternal.h" /* Internal table details */ #include "ucptable.c" /* The table itself */ /************************************************* * Search table and return data * *************************************************/ /* Two values are returned: the category is ucp_C, ucp_L, etc. The detailed character type is ucp_Lu, ucp_Nd, etc. Arguments: c the character value type_ptr the detailed character type is returned here case_ptr for letters, the opposite case is returned here, if there is one, else zero Returns: the character type category or -1 if not found */ static int ucp_findchar(const int c, int *type_ptr, int *case_ptr) { cnode *node = ucp_table; register int cc = c; int case_offset; for (;;) { register int d = node->f1 | ((node->f0 & f0_chhmask) << 16); if (cc == d) break; if (cc < d) { if ((node->f0 & f0_leftexists) == 0) return -1; node ++; } else { register int roffset = (node->f2 & f2_rightmask) >> f2_rightshift; if (roffset == 0) return -1; node += 1 << (roffset - 1); } } switch ((*type_ptr = ((node->f0 & f0_typemask) >> f0_typeshift))) { case ucp_Cc: case ucp_Cf: case ucp_Cn: case ucp_Co: case ucp_Cs: return ucp_C; break; case ucp_Ll: case ucp_Lu: case_offset = node->f2 & f2_casemask; if ((case_offset & 0x0100) != 0) case_offset |= 0xfffff000; *case_ptr = (case_offset == 0)? 0 : cc + case_offset; return ucp_L; case ucp_Lm: case ucp_Lo: case ucp_Lt: *case_ptr = 0; return ucp_L; break; case ucp_Mc: case ucp_Me: case ucp_Mn: return ucp_M; break; case ucp_Nd: case ucp_Nl: case ucp_No: return ucp_N; break; case ucp_Pc: case ucp_Pd: case ucp_Pe: case ucp_Pf: case ucp_Pi: case ucp_Ps: case ucp_Po: return ucp_P; break; case ucp_Sc: case ucp_Sk: case ucp_Sm: case ucp_So: return ucp_S; break; case ucp_Zl: case ucp_Zp: case ucp_Zs: return ucp_Z; break; default: /* "Should never happen" */ return -1; break; } } /* End of ucp.c */ --- NEW FILE: lvserial.sln --- Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lvserial", "lvserial.vcproj", "{1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dftables", "dftables.vcproj", "{0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}" EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = Debug ConfigName.1 = Release EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}.Debug.ActiveCfg = Debug|Win32 {1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}.Debug.Build.0 = Debug|Win32 {1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}.Release.ActiveCfg = Release|Win32 {1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}.Release.Build.0 = Release|Win32 {0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}.Debug.ActiveCfg = Debug|Win32 {0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}.Debug.Build.0 = Debug|Win32 {0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}.Release.ActiveCfg = Release|Win32 {0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal --- NEW FILE: listports.c --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ucp.h --- /************************************************* * libucp - Unicode Property Table handler * *************************************************/ /* These are the character categories that are returned by ucp_findchar */ enum { ucp_C, /* Other */ ucp_L, /* Letter */ ucp_M, /* Mark */ ucp_N, /* Number */ ucp_P, /* Punctuation */ ucp_S, /* Symbol */ ucp_Z /* Separator */ }; /* These are the detailed character types that are returned by ucp_findchar */ enum { ucp_Cc, /* Control */ ucp_Cf, /* Format */ ucp_Cn, /* Unassigned */ ucp_Co, /* Private use */ ucp_Cs, /* Surrogate */ ucp_Ll, /* Lower case letter */ ucp_Lm, /* Modifier letter */ ucp_Lo, /* Other letter */ ucp_Lt, /* Title case letter */ ucp_Lu, /* Upper case letter */ ucp_Mc, /* Spacing mark */ ucp_Me, /* Enclosing mark */ ucp_Mn, /* Non-spacing mark */ ucp_Nd, /* Decimal number */ ucp_Nl, /* Letter number */ ucp_No, /* Other number */ ucp_Pc, /* Connector punctuation */ ucp_Pd, /* Dash punctuation */ ucp_Pe, /* Close punctuation */ ucp_Pf, /* Final punctuation */ ucp_Pi, /* Initial punctuation */ ucp_Po, /* Other punctuation */ ucp_Ps, /* Open punctuation */ ucp_Sc, /* Currency symbol */ ucp_Sk, /* Modifier symbol */ ucp_Sm, /* Mathematical symbol */ ucp_So, /* Other symbol */ ucp_Zl, /* Line separator */ ucp_Zp, /* Paragraph separator */ ucp_Zs /* Space separator */ }; /* For use in PCRE we make this function static so that there is no conflict if PCRE is linked with an application that makes use of an external version - assuming an external version is ever released... */ static int ucp_findchar(const int, int *, int *); /* End of ucp.h */ --- NEW FILE: ucpinternal.h --- /************************************************* * libucp - Unicode Property Table handler * *************************************************/ /* Internal header file defining the layout of compact nodes in the tree. */ typedef struct cnode { unsigned short int f0; unsigned short int f1; unsigned short int f2; } cnode; /* Things for the f0 field */ #define f0_leftexists 0x8000 /* Left child exists */ #define f0_typemask 0x3f00 /* Type bits */ #define f0_typeshift 8 /* Type shift */ #define f0_chhmask 0x00ff /* Character high bits */ /* Things for the f2 field */ #define f2_rightmask 0xf000 /* Mask for right offset bits */ #define f2_rightshift 12 /* Shift for right offset */ #define f2_casemask 0x0fff /* Mask for case offset */ /* The tree consists of a vector of structures of type cnode, with the root node as the first element. The three short ints (16-bits) are used as follows: (f0) (1) The 0x8000 bit of f0 is set if a left child exists. The child's node is the next node in the vector. (2) The 0x4000 bits of f0 is spare. (3) The 0x3f00 bits of f0 contain the character type; this is a number defined by the enumeration in ucp.h (e.g. ucp_Lu). (4) The bottom 8 bits of f0 contain the most significant byte of the character's 24-bit codepoint. (f1) (1) The f1 field contains the two least significant bytes of the codepoint. (f2) (1) The 0xf000 bits of f2 contain zero if there is no right child of this node. Otherwise, they contain one plus the exponent of the power of two of the offset to the right node (e.g. a value of 3 means 8). The units of the offset are node items. (2) The 0x0fff bits of f2 contain the signed offset from this character to its alternate cased value. They are zero if there is no such character. ----------------------------------------------------------------------------- ||.|.| type (6) | ms char (8) || ls char (16) ||....| case offset (12) || ----------------------------------------------------------------------------- | | | | |-> spare | | exponent of right |-> left child exists child offset The upper/lower casing information is set only for characters that come in pairs. There are (at present) four non-one-to-one mappings in the Unicode data. These are ignored. They are: 1FBE Greek Prosgegrammeni (lower, with upper -> capital iota) 2126 Ohm 212A Kelvin 212B Angstrom Certainly for the last three, having an alternate case would seem to be a mistake. I don't know any Greek, so cannot comment on the first one. When searching the tree, proceed as follows: (1) Start at the first node. (2) Extract the character value from f1 and the bottom 8 bits of f0; (3) Compare with the character being sought. If equal, we are done. (4) If the test character is smaller, inspect the f0_leftexists flag. If it is not set, the character is not in the tree. If it is set, move to the next node, and go to (2). (5) If the test character is bigger, extract the f2_rightmask bits from f2, and shift them right by f2_rightshift. If the result is zero, the character is not in the tree. Otherwise, calculate the number of nodes to skip by shifting the value 1 left by this number minus one. Go to (2). */ /* End of internal.h */ --- NEW FILE: listports.h --- /* A small library that lists serial ports available on the system, both on * 9x/ME and NT4.0/2000 platforms. * Infrared serial ports are listed as well. * * LEGAL: * * (C) 2001 Joaquín Mª López Muñoz (jo...@ti...). All rights reserved. * * Permission is granted to use, distribute and modify this code provided that: * · this copyright notice remain unchanged, * · you submit all changes to the copyright holder and properly mark the * changes so they can be told from the original code, * · credits are given to the copyright holder in the documentation of any * software using this code with the following line: * "Portions copyright 2001 Joaquín Mª López Muñoz (jo...@ti...)" * * The author welcomes any suggestions on the code or reportings of actual * use of the code. Please send your comments to jo...@ti.... * * The author makes NO WARRANTY or representation, either express or implied, * with respect to this code, its quality, accuracy, merchantability, or * fitness for a particular purpose. This software is provided "AS IS", and * you, its user, assume the entire risk as to its quality and accuracy. * * Last modified: July 16th, 2001 */ #ifndef LISTPORTS_H #define LISTPORTS_H #define VERSION_LISTPORTS 0x00010000 #if defined(__cplusplus) || defined(__cplusplus__) extern "C" { #endif #include <windows.h> typedef struct { LPCTSTR lpPortName; /* "COM1", etc. */ LPCTSTR lpFriendlyName; /* Suitable to describe the port, as for */ /* instance "Infrared serial port (COM4)" */ }LISTPORTS_PORTINFO; typedef BOOL (CALLBACK* LISTPORTS_CALLBACK)(LPVOID lpCallbackValue, LISTPORTS_PORTINFO* lpPortInfo); /* User provided callback funtion that receives the information on each * serial port available. * The strings provided on the LISTPORTS_INFO are not to be referenced after * the callback returns; instead make copies of them for later use. * If the callback returns FALSE, port enumeration is aborted. */ BOOL ListPorts(LISTPORTS_CALLBACK lpCallback,LPVOID lpCallbackValue); /* Lists serial ports available on the system, passing the information on * each port on succesive calls to lpCallback. * lpCallbackValue, treated opaquely by ListPorts(), is intended to carry * information internal to the callback routine. * Returns TRUE if succesful, otherwise error code can be retrieved via * GetLastError(). */ #if defined(__cplusplus) || defined(__cplusplus__) } #endif #elif VERSION_LISTPORTS!=0x00010000 #error You have included two LISTPORTS.H with different version numbers #endif --- NEW FILE: chartables.c --- /************************************************* * Perl-Compatible Regular Expressions * *************************************************/ /* This file is automatically written by the dftables auxiliary program. If you edit it by hand, you might like to edit the Makefile to prevent its ever being regenerated. This file is #included in the compilation of pcre.c to build the default character tables which are used when no tables are passed to the compile function. */ static unsigned char pcre_default_tables[] = { /* This table is a lower casing table. */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99,100,101,102,103, 104,105,106,107,108,109,110,111, 112,113,114,115,116,117,118,119, 120,121,122, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103, 104,105,106,107,108,109,110,111, 112,113,114,115,116,117,118,119, 120,121,122,123,124,125,126,127, 128,129,130,131,132,133,134,135, 136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151, 152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167, 168,169,170,171,172,173,174,175, 176,177,178,179,180,181,182,183, 184,185,186,187,188,189,190,191, 192,193,194,195,196,197,198,199, 200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215, 216,217,218,219,220,221,222,223, 224,225,226,227,228,229,230,231, 232,233,234,235,236,237,238,239, 240,241,242,243,244,245,246,247, 248,249,250,251,252,253,254,255, /* This table is a case flipping table. */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99,100,101,102,103, 104,105,106,107,108,109,110,111, 112,113,114,115,116,117,118,119, 120,121,122, 91, 92, 93, 94, 95, 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127, 128,129,130,131,132,133,134,135, 136,137,138,139,140,141,142,143, 144,145,146,147,148,149,150,151, 152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167, 168,169,170,171,172,173,174,175, 176,177,178,179,180,181,182,183, 184,185,186,187,188,189,190,191, 192,193,194,195,196,197,198,199, 200,201,202,203,204,205,206,207, 208,209,210,211,212,213,214,215, 216,217,218,219,220,221,222,223, 224,225,226,227,228,229,230,231, 232,233,234,235,236,237,238,239, 240,241,242,243,244,245,246,247, 248,249,250,251,252,253,254,255, /* This table contains bit maps for various character classes. Each map is 32 bytes long and the bits run from the least significant end of each byte. The classes that have their own maps are: space, xdigit, digit, upper, lower, word, graph print, punct, and cntrl. Other classes are built from combinations. */ 0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, 0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, 0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc, 0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* This table identifies various classes of character by individual bits: 0x01 white space character 0x02 letter 0x04 decimal digit 0x08 hexadecimal digit 0x10 alphanumeric or '_' 0x80 regular expression metacharacter or binary zero */ 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */ 0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00, /* 8- 15 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ 0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /* - ' */ 0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x00, /* ( - / */ 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /* 0 - 7 */ 0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x80, /* 8 - ? */ 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* @ - G */ 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* H - O */ 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* P - W */ 0x12,0x12,0x12,0x80,0x00,0x00,0x80,0x10, /* X - _ */ 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* ` - g */ 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* h - o */ 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* p - w */ 0x12,0x12,0x12,0x80,0x80,0x00,0x00,0x00, /* x -127 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */ /* End of chartables.c */ --- NEW FILE: lvserial.vcproj --- <?xml version="1.0" encoding = "Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.00" Name="lvserial" ProjectGUID="{1CD853E4-2CCB-499E-B9BF-9E653D6D3B54}" Keyword="Win32Proj"> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory="Debug" IntermediateDirectory="Debug" ConfigurationType="2" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LVSERIAL_EXPORTS" MinimalRebuild="TRUE" BasicRuntimeChecks="3" RuntimeLibrary="1" BufferSecurityCheck="FALSE" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="TRUE" DebugInformationFormat="4"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/NODEFAULTLIB:msvcrt.lib" OutputFile="$(OutDir)/lvserial.dll" LinkIncremental="2" ModuleDefinitionFile="lvserial.def" GenerateDebugInformation="TRUE" ProgramDatabaseFile="$(OutDir)/lvserial.pdb" SubSystem="2" ImportLibrary="$(OutDir)/lvserial.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool"/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory="Release" IntermediateDirectory="Release" ConfigurationType="2" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" OmitFramePointers="TRUE" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LVSERIAL_EXPORTS" StringPooling="TRUE" RuntimeLibrary="0" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="TRUE" DebugInformationFormat="3"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/NODEFAULTLIB:libcmt.lib" OutputFile="$(OutDir)/lvserial.dll" LinkIncremental="1" ModuleDefinitionFile="lvserial.def" GenerateDebugInformation="TRUE" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" ImportLibrary="$(OutDir)/lvserial.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool"/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> </Configuration> </Configurations> <Files> <Filter Name="Quelldateien" Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> <File RelativePath="dftables.exe"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCustomBuildTool" CommandLine="dftables chartables.c" Outputs="chartables.c"/> </FileConfiguration> </File> <File RelativePath="get.c"> </File> <File RelativePath="listports.c"> </File> <File RelativePath="lv_error.cpp"> </File> <File RelativePath="lvserial.cpp"> </File> <File RelativePath="lvserial.def"> </File> <File RelativePath="maketables.c"> </File> <File RelativePath="pcre.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Detect64BitPortabilityProblems="FALSE"/> </FileConfiguration> </File> <File RelativePath="pcreposix.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Detect64BitPortabilityProblems="FALSE"/> </FileConfiguration> </File> <File RelativePath="plist.cpp"> </File> <File RelativePath="study.c"> </File> </Filter> <Filter Name="Headerdateien" Filter="h;hpp;hxx;hm;inl;inc"> <File RelativePath="config.h"> </File> <File RelativePath="internal.h"> </File> <File RelativePath="listports.h"> </File> <File RelativePath="lv_error.h"> </File> <File RelativePath="lvserial.h"> </File> <File RelativePath="lvserialrc.h"> </File> <File RelativePath="pcre.h"> </File> <File RelativePath="pcreposix.h"> </File> <File RelativePath="plist.h"> </File> <File RelativePath="resource.h"> </File> <File RelativePath="ucp.c"> <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="TRUE"> <Tool Name="VCCLCompilerTool"/> </FileConfiguration> </File> <File RelativePath="ucp.h"> </File> <File RelativePath="ucpinternal.h"> </File> <File RelativePath="ucptable.c"> <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="TRUE"> <Tool Name="VCCLCompilerTool"/> </FileConfiguration> </File> <File RelativePath="ucptypetable.c"> <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="TRUE"> <Tool Name="VCCLCompilerTool"/> </FileConfiguration> </File> </Filter> <Filter Name="Ressourcendateien" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> <File RelativePath="lvserial.ico"> </File> <File RelativePath="lvserial.rc"> </File> </Filter> <Filter Name="Libraries" Filter=""> <File RelativePath="C:\Programme\National Instruments\LabVIEW 6.1\cintools\labview.lib"> </File> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> --- NEW FILE: study.c --- /************************************************* * Perl-Compatible Regular Expressions * *************************************************/ /* This is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. See the file Tech.Notes for some information on the internals. Written by: Philip Hazel <ph...@ca...> Copyright (c) 1997-2004 University of Cambridge ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ /* Include the internals header, which itself includes Standard C headers plus the external pcre header. */ #include "internal.h" /************************************************* * Set a bit and maybe its alternate case * *************************************************/ /* Given a character, set its bit in the table, and also the bit for the other version of a letter if we are caseless. Arguments: start_bits points to the bit map c is the character caseless the caseless flag cd the block with char table pointers Returns: nothing */ static void set_bit(uschar *start_bits, unsigned int c, BOOL caseless, compile_data *cd) { start_bits[c/8] |= (1 << (c&7)); if (caseless && (cd->ctypes[c] & ctype_letter) != 0) start_bits[cd->fcc[c]/8] |= (1 << (cd->fcc[c]&7)); } /************************************************* * Create bitmap of starting chars * *************************************************/ /* This function scans a compiled unanchored expression and attempts to build a bitmap of the set of initial characters. If it can't, it returns FALSE. As time goes by, we may be able to get more clever at doing this. Arguments: code points to an expression start_bits points to a 32-byte table, initialized to 0 caseless the current state of the caseless flag utf8 TRUE if in UTF-8 mode cd the block with char table pointers Returns: TRUE if table built, FALSE otherwise */ static BOOL set_start_bits(const uschar *code, uschar *start_bits, BOOL caseless, BOOL utf8, compile_data *cd) { register int c; /* This next statement and the later reference to dummy are here in order to trick the optimizer of the IBM C compiler for OS/2 into generating correct code. Apparently IBM isn't going to fix the problem, and we would rather not disable optimization (in this module it actually makes a big difference, and the pcre module can use all the optimization it can get). */ volatile int dummy; do { const uschar *tcode = code + 1 + LINK_SIZE; BOOL try_next = TRUE; while (try_next) { /* If a branch starts with a bracket or a positive lookahead assertion, recurse to set bits from within them. That's all for this branch. */ if ((int)*tcode >= OP_BRA || *tcode == OP_ASSERT) { if (!set_start_bits(tcode, start_bits, caseless, utf8, cd)) return FALSE; try_next = FALSE; } else switch(*tcode) { default: return FALSE; /* Skip over callout */ case OP_CALLOUT: tcode += 2 + 2*LINK_SIZE; break; /* Skip over extended extraction bracket number */ case OP_BRANUMBER: tcode += 3; break; /* Skip over lookbehind and negative lookahead assertions */ case OP_ASSERT_NOT: case OP_ASSERTBACK: case OP_ASSERTBACK_NOT: do tcode += GET(tcode, 1); while (*tcode == OP_ALT); tcode += 1+LINK_SIZE; break; /* Skip over an option setting, changing the caseless flag */ case OP_OPT: caseless = (tcode[1] & PCRE_CASELESS) != 0; tcode += 2; break; /* BRAZERO does the bracket, but carries on. */ case OP_BRAZERO: case OP_BRAMINZERO: if (!set_start_bits(++tcode, start_bits, caseless, utf8, cd)) return FALSE; dummy = 1; do tcode += GET(tcode,1); while (*tcode == OP_ALT); tcode += 1+LINK_SIZE; break; /* Single-char * or ? sets the bit and tries the next item */ case OP_STAR: case OP_MINSTAR: case OP_QUERY: case OP_MINQUERY: set_bit(start_bits, tcode[1], caseless, cd); tcode += 2; #ifdef SUPPORT_UTF8 if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++; #endif break; /* Single-char upto sets the bit and tries the next */ case OP_UPTO: case OP_MINUPTO: set_bit(start_bits, tcode[3], caseless, cd); tcode += 4; #ifdef SUPPORT_UTF8 if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++; #endif break; /* At least one single char sets the bit and stops */ case OP_EXACT: /* Fall through */ tcode += 2; case OP_CHAR: case OP_CHARNC: case OP_PLUS: case OP_MINPLUS: set_bit(start_bits, tcode[1], caseless, cd); try_next = FALSE; break; /* Single character type sets the bits and stops */ case OP_NOT_DIGIT: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_digit]; try_next = FALSE; break; case OP_DIGIT: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_digit]; try_next = FALSE; break; case OP_NOT_WHITESPACE: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_space]; try_next = FALSE; break; case OP_WHITESPACE: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_space]; try_next = FALSE; break; case OP_NOT_WORDCHAR: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_word]; try_next = FALSE; break; case OP_WORDCHAR: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_word]; try_next = FALSE; break; /* One or more character type fudges the pointer and restarts, knowing it will hit a single character type and stop there. */ case OP_TYPEPLUS: case OP_TYPEMINPLUS: tcode++; break; case OP_TYPEEXACT: tcode += 3; break; /* Zero or more repeats of character types set the bits and then try again. */ case OP_TYPEUPTO: case OP_TYPEMINUPTO: tcode += 2; /* Fall through */ case OP_TYPESTAR: case OP_TYPEMINSTAR: case OP_TYPEQUERY: case OP_TYPEMINQUERY: switch(tcode[1]) { case OP_ANY: return FALSE; case OP_NOT_DIGIT: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_digit]; break; case OP_DIGIT: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_digit]; break; case OP_NOT_WHITESPACE: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_space]; break; case OP_WHITESPACE: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_space]; break; case OP_NOT_WORDCHAR: for (c = 0; c < 32; c++) start_bits[c] |= ~cd->cbits[c+cbit_word]; break; case OP_WORDCHAR: for (c = 0; c < 32; c++) start_bits[c] |= cd->cbits[c+cbit_word]; break; } tcode += 2; break; /* Character class where all the information is in a bit map: set the bits and either carry on or not, according to the repeat count. If it was a negative class, and we are operating with UTF-8 characters, any byte with a value >= 0xc4 is a potentially valid starter because it starts a character with a value > 255. */ case OP_NCLASS: if (utf8) { start_bits[24] |= 0xf0; /* Bits for 0xc4 - 0xc8 */ memset(start_bits+25, 0xff, 7); /* Bits for 0xc9 - 0xff */ } /* Fall through */ case OP_CLASS: { tcode++; /* In UTF-8 mode, the bits in a bit map correspond to character values, not to byte values. However, the bit map we are constructing is for byte values. So we have to do a conversion for characters whose value is > 127. In fact, there are only two possible starting bytes for characters in the range 128 - 255. */ if (utf8) { for (c = 0; c < 16; c++) start_bits[c] |= tcode[c]; for (c = 128; c < 256; c++) { if ((tcode[c/8] && (1 << (c&7))) != 0) { int d = (c >> 6) | 0xc0; /* Set bit for this starter */ start_bits[d/8] |= (1 << (d&7)); /* and then skip on to the */ c = (c & 0xc0) + 0x40 - 1; /* next relevant character. */ } } } /* In non-UTF-8 mode, the two bit maps are completely compatible. */ else { for (c = 0; c < 32; c++) start_bits[c] |= tcode[c]; } /* Advance past the bit map, and act on what follows */ tcode += 32; switch (*tcode) { case OP_CRSTAR: case OP_CRMINSTAR: case OP_CRQUERY: case OP_CRMINQUERY: tcode++; break; case OP_CRRANGE: case OP_CRMINRANGE: if (((tcode[1] << 8) + tcode[2]) == 0) tcode += 5; else try_next = FALSE; break; default: try_next = FALSE; break; } } break; /* End of bitmap class handling */ } /* End of switch */ } /* End of try_next loop */ code += GET(code, 1); /* Advance to next branch */ } while (*code == OP_ALT); return TRUE; } /************************************************* * Study a compiled expression * *************************************************/ /* This function is handed a compiled expression that it must study to produce information that will speed up the matching. It returns a pcre_extra block which then gets handed back to pcre_exec(). Arguments: re points to the compiled expression options contains option bits errorptr points to where to place error messages; set NULL unless error Returns: pointer to a pcre_extra block, with study_data filled in and the appropriate flag set; NULL on error or if no optimization possible */ EXPORT pcre_extra * pcre_study(const pcre *external_re, int options, const char **errorptr) { uschar start_bits[32]; pcre_extra *extra; pcre_study_data *study; const uschar *tables; const real_pcre *re = (const real_pcre *)external_re; uschar *code = (uschar *)re + re->name_table_offset + (re->name_count * re->name_entry_size); compile_data compile_block; *errorptr = NULL; if (re == NULL || re->magic_number != MAGIC_NUMBER) { *errorptr = "argument is not a compiled regular expression"; return NULL; } if ((options & ~PUBLIC_STUDY_OPTIONS) != 0) { *errorptr = "unknown or incorrect option bit(s) set"; return NULL; } /* For an anchored pattern, or an unanchored pattern that has a first char, or a multiline pattern that matches only at "line starts", no further processing at present. */ if ((re->options & (PCRE_ANCHORED|PCRE_FIRSTSET|PCRE_STARTLINE)) != 0) return NULL; /* Set the character tables in the block that is passed around */ tables = re->tables; if (tables == NULL) (void)pcre_fullinfo(external_re, NULL, PCRE_INFO_DEFAULT_TABLES, &tables); compile_block.lcc = tables + lcc_offset; compile_block.fcc = tables + fcc_offset; compile_block.cbits = tables + cbits_offset; compile_block.ctypes = tables + ctypes_offset; /* See if we can find a fixed set of initial characters for the pattern. */ memset(start_bits, 0, 32 * sizeof(uschar)); if (!set_start_bits(code, start_bits, (re->options & PCRE_CASELESS) != 0, (re->options & PCRE_UTF8) != 0, &compile_block)) return NULL; /* Get a pcre_extra block and a pcre_study_data block. The study data is put in the latter, which is pointed to by the former, which may also get additional data set later by the calling program. At the moment, the size of pcre_study_data is fixed. We nevertheless save it in a field for returning via the pcre_fullinfo() function so that if it becomes variable in the future, we don't have to change that code. */ extra = (pcre_extra *)(pcre_malloc) (sizeof(pcre_extra) + sizeof(pcre_study_data)); if (extra == NULL) { *errorptr = "failed to get memory"; return NULL; } study = (pcre_study_data *)((char *)extra + sizeof(pcre_extra)); extra->flags = PCRE_EXTRA_STUDY_DATA; extra->study_data = study; study->size = sizeof(pcre_study_data); study->options = PCRE_STUDY_MAPPED; memcpy(study->start_bits, start_bits, sizeof(start_bits)); return extra; } /* End of study.c */ --- NEW FILE: ucptable.c --- /* This source module is automatically generated from the Unicode property table. See internal.h for a description of the layout. */ static cnode ucp_table[] = { { 0x9a00, 0x2f1f, 0xe000 }, { 0x8700, 0x1558, 0xd000 }, { 0x8700, 0x0a99, 0xc000 }, { 0x8500, 0x0435, 0xbfe0 }, { 0x8500, 0x01ff, 0xafff }, { 0x8500, 0x00ff, 0x9079 }, { 0x8000, 0x007f, 0x8000 }, { 0x9500, 0x003f, 0x7000 }, { 0x8000, 0x001f, 0x6000 }, { 0x8000, 0x000f, 0x5000 }, { 0x8000, 0x0007, 0x4000 }, { 0x8000, 0x0003, 0x3000 }, { 0x8000, 0x0001, 0x2000 }, { 0x0000, 0x0000, 0x0000 }, { 0x0000, 0x0002, 0x0000 }, [...15066 lines suppressed...] { 0x8c0e, 0x01e3, 0x3000 }, { 0x8c0e, 0x01e1, 0x2000 }, { 0x0c0e, 0x01e0, 0x0000 }, { 0x0c0e, 0x01e2, 0x0000 }, { 0x8c0e, 0x01e5, 0x2000 }, { 0x0c0e, 0x01e4, 0x0000 }, { 0x0c0e, 0x01e6, 0x0000 }, { 0x8c0e, 0x01ef, 0x4000 }, { 0x8c0e, 0x01eb, 0x3000 }, { 0x8c0e, 0x01e9, 0x2000 }, { 0x0c0e, 0x01e8, 0x0000 }, { 0x0c0e, 0x01ea, 0x0000 }, { 0x8c0e, 0x01ed, 0x2000 }, { 0x0c0e, 0x01ec, 0x0000 }, { 0x0c0e, 0x01ee, 0x0000 }, { 0x830f, 0xfffd, 0x2000 }, { 0x030f, 0x0000, 0x0000 }, { 0x0310, 0x0000, 0x1000 }, { 0x0310, 0xfffd, 0x0000 }, }; --- NEW FILE: lvserial.ico --- (This appears to be a binary file; contents omitted.) --- NEW FILE: maketables.c --- /************************************************* * Perl-Compatible Regular Expressions * *************************************************/ /* PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. Written by: Philip Hazel <ph...@ca...> Copyright (c) 1997-2003 University of Cambridge ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ /* This file is compiled on its own as part of the PCRE library. However, it is also included in the compilation of dftables.c, in which case the macro DFTABLES is defined. */ #ifndef DFTABLES #include "internal.h" #endif /************************************************* * Create PCRE character tables * *************************************************/ /* This function builds a set of character tables for use by PCRE and returns a pointer to them. They are build using the ctype functions, and consequently their contents will depend upon the current locale setting. When compiled as part of the library, the store is obtained via pcre_malloc(), but when compiled inside dftables, use malloc(). Arguments: none Returns: pointer to the contiguous block of data */ const unsigned char * pcre_maketables(void) { unsigned char *yield, *p; int i; #ifndef DFTABLES yield = (unsigned char*)(pcre_malloc)(tables_length); #else yield = (unsigned char*)malloc(tables_length); #endif if (yield == NULL) return NULL; p = yield; /* First comes the lower casing table */ for (i = 0; i < 256; i++) *p++ = tolower(i); /* Next the case-flipping table */ for (i = 0; i < 256; i++) *p++ = islower(i)? toupper(i) : tolower(i); /* Then the character class tables. Don't try to be clever and save effort on exclusive ones - in some locales things may be different. Note that the table for "space" includes everything "isspace" gives, including VT in the default locale. This makes it work for the POSIX class [:space:]. */ memset(p, 0, cbit_length); for (i = 0; i < 256; i++) { if (isdigit(i)) { p[cbit_digit + i/8] |= 1 << (i&7); p[cbit_word + i/8] |= 1 << (i&7); } if (isupper(i)) { p[cbit_upper + i/8] |= 1 << (i&7); p[cbit_word + i/8] |= 1 << (i&7); } if (islower(i)) { p[cbit_lower + i/8] |= 1 << (i&7); p[cbit_word + i/8] |= 1 << (i&7); } if (i == '_') p[cbit_word + i/8] |= 1 << (i&7); if (isspace(i)) p[cbit_space + i/8] |= 1 << (i&7); if (isxdigit(i))p[cbit_xdigit + i/8] |= 1 << (i&7); if (isgraph(i)) p[cbit_graph + i/8] |= 1 << (i&7); if (isprint(i)) p[cbit_print + i/8] |= 1 << (i&7); if (ispunct(i)) p[cbit_punct + i/8] |= 1 << (i&7); if (iscntrl(i)) p[cbit_cntrl + i/8] |= 1 << (i&7); } p += cbit_length; /* Finally, the character type table. In this, we exclude VT from the white space chars, because Perl doesn't recognize it as such for \s and for comments within regexes. */ for (i = 0; i < 256; i++) { int x = 0; if (i != 0x0b && isspace(i)) x += ctype_space; if (isalpha(i)) x += ctype_letter; if (isdigit(i)) x += ctype_digit; if (isxdigit(i)) x += ctype_xdigit; if (isalnum(i) || i == '_') x += ctype_word; /* Note: strchr includes the terminating zero in the characters it considers. In this instance, that is ok because we want binary zero to be flagged as a meta-character, which in this sense is any character that terminates a run of data characters. */ if (strchr("*+?{^.$|()[", i) != 0) x += ctype_meta; *p++ = x; } return yield; } /* End of maketables.c */ --- NEW FILE: resource.h --- //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // Used by lvserial.rc // #define VER_DEBUG 0 #define VER_PATCHED 0 #define VER_PRIVATEBUILD 0 #define VER_PRERELEASE 0 #define FINAL 1 #define IDI_ICON1 102 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 103 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif Index: plist.h =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/plist.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** plist.h 20 Jan 2005 16:49:45 -0000 1.1 --- plist.h 18 Mar 2005 23:23:06 -0000 1.2 *************** *** 33,37 **** } LIST; ! typedef _LIST *PLIST; #pragma pack() --- 33,37 ---- } LIST; ! typedef struct _LIST *PLIST; #pragma pack() --- NEW FILE: dftables.vcproj --- <?xml version="1.0" encoding = "Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.00" Name="dftables" ProjectGUID="{0E49C1D0-1D2F-46C3-932F-6C8D08DA2FA0}" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory="." IntermediateDirectory=".\Debug" ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" PreprocessorDefinitions="_WIN32,_DEBUG,_CONSOLE" RuntimeLibrary="3" PrecompiledHeaderFile=".\Debug/dftables.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName="Debug\dftables" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" OutputFile="./dftables.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" GenerateDebugInformation="TRUE" ProgramDatabaseFile="Debug\dftables.pdb" SubSystem="1"/> <Tool Name="VCMIDLTool" TypeLibraryName="./dftables.tlb"/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="2057"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory="." IntermediateDirectory=".\Release" ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" InlineFunctionExpansion="1" PreprocessorDefinitions="_WIN32,NDEBUG,_CONSOLE" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" PrecompiledHeaderFile=".\Release/dftables.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName="Release\dftables" WarningLevel="3" SuppressStartupBanner="TRUE"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/MACHINE:I386" OutputFile="./dftables.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" ProgramDatabaseFile="Release\dftables.pdb" SubSystem="1" OptimizeReferences="2"/> <Tool Name="VCMIDLTool" TypeLibraryName="./dftables.tlb"/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="2057"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> </Configuration> </Configurations> <Files> <Filter Name="Source Files" Filter=""> <File RelativePath=".\dftables.c"> </File> </Filter> <Filter Name="Header Files" Filter="h;hw"> <File RelativePath="config.h"> </File> <File RelativePath=".\internal.h"> </File> <File RelativePath=".\maketables.c"> <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="TRUE"> <Tool Name="VCCLCompilerTool"/> </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="TRUE"> <Tool Name="VCCLCompilerTool"/> </FileConfiguration> </File> <File RelativePath="pcre.h"> </File> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> --- NEW FILE: ucptypetable.c --- /************************************************* * Perl-Compatible Regular Expressions * *************************************************/ /* This is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language. See the file Tech.Notes for some information on the internals. Written by: Philip Hazel <ph...@ca...> Copyright (c) 1997-2004 University of Cambridge ----------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ /* This module contains a table for translating Unicode property names into code values for the ucp_findchar function. It is in a separate module so that it can be included both in the main pcre library, and into pcretest (for printing out internals). */ typedef struct { const char *name; int value; } ucp_type_table; static ucp_type_table utt[] = { { "C", 128 + ucp_C }, { "Cc", ucp_Cc }, { "Cf", ucp_Cf }, { "Cn", ucp_Cn }, { "Co", ucp_Co }, { "Cs", ucp_Cs }, { "L", 128 + ucp_L }, { "Ll", ucp_Ll }, { "Lm", ucp_Lm }, { "Lo", ucp_Lo }, { "Lt", ucp_Lt }, { "Lu", ucp_Lu }, { "M", 128 + ucp_M }, { "Mc", ucp_Mc }, { "Me", ucp_Me }, { "Mn", ucp_Mn }, { "N", 128 + ucp_N }, { "Nd", ucp_Nd }, { "Nl", ucp_Nl }, { "No", ucp_No }, { "P", 128 + ucp_P }, { "Pc", ucp_Pc }, { "Pd", ucp_Pd }, { "Pe", ucp_Pe }, { "Pf", ucp_Pf }, { "Pi", ucp_Pi }, { "Po", ucp_Po }, { "Ps", ucp_Ps }, { "S", 128 + ucp_S }, { "Sc", ucp_Sc }, { "Sk", ucp_Sk }, { "Sm", ucp_Sm }, { "So", ucp_So }, { "Z", 128 + ucp_Z }, { "Zl", ucp_Zl }, { "Zp", ucp_Zp }, { "Zs", ucp_Zs } }; /* End of ucptypetable.c */ --- NEW FILE: config.h --- /* config.h. Generated by configure. */ /* On Unix systems config.in is converted by configure into config.h. PCRE is written in Standard C, but there are a few non-standard things it can cope with, allowing it to run on SunOS4 and other "close to standard" systems. On a non-Unix system you should just copy this file into config.h, and set up the macros the way you need them. You should normally change the definitions of HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf works, these cannot be made the defaults. If your system has bcopy() and not memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your system has neither bcopy() nor memmove(), leave them both as 0; an emulation function will be used. */ /* If you are compiling for a system that uses EBCDIC instead of ASCII character codes, define this macro as 1. On systems that can use "configure", this can be done via --enable-ebcdic. */ #ifndef EBCDIC #define EBCDIC 0 #endif /* If you are compiling for a system that needs some magic to be inserted before the definition of an exported function, define this macro to contain the relevant magic. It apears at the start of every exported function. */ #define EXPORT /* Define to empty if the "const" keyword does not work. */ /* #undef const */ /* Define to "unsigned" if <stddef.h> doesn't define size_t. */ /* #undef size_t */ /* The following two definitions are mainly for the benefit of SunOS4, which doesn't have the strerror() or memmove() functions that should be present in all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should normally be defined with the value 1 for other systems, but unfortunately we can't make this the default because "configure" files generated by autoconf will only change 0 to 1; they won't change 1 to 0 if the functions are not found. */ #define HAVE_STRERROR 1 #define HAVE_MEMMOVE 1 /* There are some non-Unix systems that don't even have bcopy(). If this macro is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of HAVE_BCOPY is not relevant. */ #define HAVE_BCOPY 0 /* The value of NEWLINE determines the newline character. The default is to leave it up to the compiler, but some sites want to force a particular value. On Unix systems, "configure" can be used to override this default. */ #ifndef NEWLINE #define NEWLINE '\n' #endif /* The value of LINK_SIZE determines the number of bytes used to store links as offsets within the compiled regex. The default is 2, which allows for compiled patterns up to 64K long. This covers the vast majority of cases. However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for longer patterns in extreme cases. On Unix systems, "configure" can be used to override this default. */ #ifndef LINK_SIZE #define LINK_SIZE 2 #endif /* The value of MATCH_LIMIT determines the default number of times the match() function can be called during a single execution of pcre_exec(). (There is a runtime method of setting a different limit.) The limit exists in order to catch runaway regular expressions that take for ever to determine that they do not match. The default is set very large so that it does not accidentally catch legitimate cases. On Unix systems, "configure" can be used to override this default default. */ #ifndef MATCH_LIMIT #define MATCH_LIMIT 10000000 #endif /* When calling PCRE via the POSIX interface, additional working storage is required for holding the pointers to capturing substrings because PCRE requires three integers per substring, whereas the POSIX interface provides only two. If the number of expected substrings is small, the wrapper function uses space on the stack, because this is faster than using malloc() for each call. The threshold above which the stack is no longer use is defined by POSIX_MALLOC_ THRESHOLD. On Unix systems, "configure" can be used to override this default. */ #ifndef POSIX_MALLOC_THRESHOLD #define POSIX_MALLOC_THRESHOLD 10 #endif /* PCRE uses recursive function calls to handle backtracking while matching. This can sometimes be a problem on systems that have stacks of limited size. Define NO_RECURSE to get a version that doesn't use recursion in the match() function; instead it creates its own stack by steam using pcre_recurse_malloc to get memory. For more detail, see comments and other stuff just above the match() function. On Unix systems, "configure" can ... [truncated message content] |
From: Martin H. <mh...@us...> - 2005-03-18 23:14:00
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22520/c_source Modified Files: lv_error.cpp lvserial.cpp lvserial.def lvserial.h Log Message: Redesign Index: lv_error.cpp =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lv_error.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lv_error.cpp 20 Jan 2005 16:49:45 -0000 1.1 --- lv_error.cpp 18 Mar 2005 23:13:48 -0000 1.2 *************** *** 182,186 **** { if (pszReason != NULL) ! LStrPrintf(pError->shSource,(CStr)"%s<err>", pszSource, pszReason); else LStrPrintf(pError->shSource,(CStr)"%s", pszSource); --- 182,186 ---- { if (pszReason != NULL) ! LStrPrintf(pError->shSource,(CStr)"%s<err>%s", pszSource, pszReason); else LStrPrintf(pError->shSource,(CStr)"%s", pszSource); *************** *** 263,269 **** NULL); ! LStrPrintf(pError->shSource, (CStr)"%s<err>%s", pszSource, pszWinErrMsg); ! ! LocalFree(pszWinErrMsg); } } --- 263,273 ---- NULL); ! if (pszWinErrMsg != NULL) ! { ! LStrPrintf(pError->shSource, (CStr)"%s<err>%s", pszSource, pszWinErrMsg); ! LocalFree(pszWinErrMsg); ! } ! else ! LStrPrintf(pError->shSource, (CStr)"%s", pszSource); } } Index: lvserial.cpp =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lvserial.cpp 20 Jan 2005 16:49:45 -0000 1.1 --- lvserial.cpp 18 Mar 2005 23:13:48 -0000 1.2 *************** *** 3,9 **** * Serial Port API * ! * Martin Henz Systemtechnik, Stuttgart * ! * */ #define _WIN32_WINNT 0x0500 --- 3,24 ---- * Serial Port API * [...5569 lines suppressed...] ! { ! DSDisposeHandle((**halsPorts)->elt[i]); ! } ! } ! ! //adjust array size or allocate new array ! if ((err = NumericArrayResize( uL, 1L, (UHandle *)halsPorts, 1)) != noErr) ! { ! lv_EasyErrBld(err, __FUNCTION__, pError); ! return; ! } ! (**halsPorts)->dimSize = 0; ! (**halsPorts)->elt[0] = NULL; ! ! bo = ListPorts(lvListPortsCB, halsPorts); ! ! if (bo == FALSE) ! lv_WinErrBld(GetLastError(), __FUNCTION__, pError); } Index: lvserial.def =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lvserial.def 20 Jan 2005 16:49:45 -0000 1.1 --- lvserial.def 18 Mar 2005 23:13:49 -0000 1.2 *************** *** 3,6 **** --- 3,7 ---- EXPORTS CommClosePort EXPORTS CommWrite + EXPORTS CommWriteAndReceiveEcho EXPORTS CommRead EXPORTS CommBreak *************** *** 24,36 **** --- 25,46 ---- EXPORTS CommConfig EXPORTS CommFlowControl + EXPORTS CommConfig EXPORTS CommTermination + EXPORTS CommTermination2 + EXPORTS CommWriteMode EXPORTS CommTimeout + EXPORTS CommTimeout2 + EXPORTS CommOptions EXPORTS CommLock EXPORTS CommUnLock EXPORTS CommSetUserData EXPORTS CommGetUserData + EXPORTS CommListPorts + EXPORTS CommFree + EXPORTS CommFreePortList EXPORTS lvCommOpenPort EXPORTS lvCommClosePort EXPORTS lvCommWrite + EXPORTS lvCommWriteAndReceiveEcho EXPORTS lvCommRead EXPORTS lvCommBreak *************** *** 54,61 **** --- 64,77 ---- EXPORTS lvCommConfig EXPORTS lvCommFlowControl + EXPORTS lvCommControl EXPORTS lvCommTermination + EXPORTS lvCommTermination2 + EXPORTS lvCommWriteMode EXPORTS lvCommTimeout + EXPORTS lvCommTimeout2 + EXPORTS lvCommOptions EXPORTS lvCommLock EXPORTS lvCommUnLock EXPORTS lvCommSetUserData EXPORTS lvCommGetUserData + EXPORTS lvCommListPorts Index: lvserial.h =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lvserial.h 20 Jan 2005 16:49:45 -0000 1.1 --- lvserial.h 18 Mar 2005 23:13:49 -0000 1.2 *************** *** 3,24 **** * Serial Port API * ! * Martin Henz Systemtechnik, Stuttgart * ! * */ #include <windows.h> #include "lv_error.h" #include "plist.h" ! #include <extcode.h> typedef struct { HANDLE hC; char *pszPort; ! int fTermCharEnable; ! char *pcTermChar; long lNumberOfTermChar; ! unsigned long ulTimeout; unsigned long ulNOpened; ! HANDLE hSempaphore; unsigned long ulUserData; HANDLE hEvRead; --- 3,57 ---- * Serial Port API * ! * Martin Henz Systemtechnik, Germany, Stuttgart ! * E-Mail: mar...@mh... ! * Web: http://www.mhst.de * ! * This library is free software; you can redistribute it and/or ! * modify it under the terms of the GNU Lesser General Public ! * License as published by the Free Software Foundation; either ! * version 2.1 of the License, or (at your option) any later version. ! * ! * This library is distributed in the hope that it will be useful, ! * but WITHOUT ANY WARRANTY; without even the implied warranty of ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! * Lesser General Public License for more details. ! * ! * You should have received a copy of the GNU Lesser General Public ! * License along with this library; if not, write to the Free Software ! * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US ! */ ! ! #ifndef LVSERIAL_CONST_ONLY #include <windows.h> + #include <extcode.h> + #include "lv_error.h" + + #ifdef LVSERIAL_COMPILE_LIBRARY #include "plist.h" ! #include "pcre.h" typedef struct { HANDLE hC; char *pszPort; ! long lTeminationMode; ! char *pcTermination; long lNumberOfTermChar; ! pcre *RegEx; ! pcre_extra *RegExExtra; ! long lWriteMode; ! char *pcStartOfTransmission; ! long lNumberOfStartChars; ! char *pcEndOfTransmission; ! long lNumberOfEndChars; ! unsigned long ulReadIntervalTimeout; ! unsigned long ulReadTotalTimeoutMultiplier; ! unsigned long ulReadTotalTimeoutConstant; ! unsigned long ulWriteTotalTimeoutMultiplier; ! unsigned long ulWriteTotalTimeoutConstant; unsigned long ulNOpened; ! HANDLE hLock; ! HANDLE hInternalLock; unsigned long ulUserData; HANDLE hEvRead; *************** *** 26,29 **** --- 59,77 ---- } COMM, *PCOMM; + #endif //LVSERIAL_COMPILE_LIBRARY + + #ifndef LV_LSTRARRAY + #define LV_LSTRARRAY + #pragma pack (1) + typedef struct { + int32 dimSize; + LStrHandle elt[1]; + } LStrArray; + #pragma pack() + typedef LStrArray **LStrArrayHandle; + #endif + + #endif //LVSERIAL_CONST_ONLY + #define COMM_PARITY_NONE 0 #define COMM_PARITY_ODD 1 *************** *** 55,63 **** #define COMM_STAT_CTS 0x0001 #define COMM_STAT_DSR 0x0002 ! #define COMM_STAT_RLSD 0x0003 ! #define COMM_STAT_XOFFHOLD 0x0004 ! #define COMM_STAT_XOFFSENT 0x0005 ! #define COMM_STAT_EOF 0x0006 ! #define COMM_STAT_TXIM 0x0007 #define COMM_MSTAT_CTS_ON ((DWORD)0x0010) --- 103,111 ---- #define COMM_STAT_CTS 0x0001 #define COMM_STAT_DSR 0x0002 ! #define COMM_STAT_RLSD 0x0004 ! #define COMM_STAT_XOFFHOLD 0x0008 ! #define COMM_STAT_XOFFSENT 0x0010 ! #define COMM_STAT_EOF 0x0020 ! #define COMM_STAT_TXIM 0x0040 #define COMM_MSTAT_CTS_ON ((DWORD)0x0010) *************** *** 71,77 **** --- 119,154 ---- #define COMM_FLOW_DTRDSR 3 + #define COMM_CTRL_OUTXCTSFLOW 0x00000001 + #define COMM_CTRL_OUTXDSRFLOW 0x00000002 + #define COMM_CTRL_DTRENABLE 0x00000004 + #define COMM_CTRL_DTRHANDSHAKE 0x00000008 + #define COMM_CTRL_DSRSENSITIVITY 0x00000010 + #define COMM_CTRL_TXCONTINUEONXOFF 0x00000020 + #define COMM_CTRL_OUTX 0x00000040 + #define COMM_CTRL_INX 0x00000080 + #define COMM_CTRL_ERRORCHAR 0x00000100 + #define COMM_CTRL_NULL 0x00000200 + #define COMM_CTRL_RTSENABLE 0x00000400 + #define COMM_CTRL_RTSHANDSHAKE 0x00000800 + #define COMM_CTRL_RTSTOGGLE 0x00001000 + #define COMM_CTRL_ABORTONERROR 0x00002000 + + #define COMM_TERM_NONE 0 + #define COMM_TERM_CHAR 1 + #define COMM_TERM_STRING 2 + #define COMM_TERM_REGEX 3 + + #define COMM_WRITE_NORMAL 0 + #define COMM_WRITE_STX 1 + #define COMM_WRITE_ETX 2 + #define COMM_WRITE_STXETX (COMM_WRITE_STX | COMM_WRITE_ETX) + + #define COMM_MIN_ERROR -65100 + #define COMM_MAX_ERROR -65060 + #define COMM_WARN_NYBTES 65060 #define COMM_WARN_TERMCHAR 65061 #define COMM_SUCCESS 0 + #define COMM_ERR_NYBTES -65060 #define COMM_ERR_TERMCHAR -65061 #define COMM_ERR_INVALIDLENGTH -65062 *************** *** 88,94 **** #define COMM_ERR_OUTOFMEMORY -65073 #define COMM_ERR_ABORTED -65074 ! #define COMM_ERR_SEMAPHORE -65075 #define COMM_ERR_LOCKTIMEOUT -65076 #define COMM_ERR_NOTLOCKED -65077 #if defined(__cplusplus) || defined(__cplusplus__) --- 165,177 ---- #define COMM_ERR_OUTOFMEMORY -65073 #define COMM_ERR_ABORTED -65074 ! #define COMM_ERR_RESERVED1 -65075 #define COMM_ERR_LOCKTIMEOUT -65076 #define COMM_ERR_NOTLOCKED -65077 + #define COMM_ERR_WRITE -65078 + #define COMM_ERR_OVERRUN -65079 + #define COMM_ERR_TXBUFFERFULL -65080 + #define COMM_ERR_WRONGECHO -65081 + + #ifndef LVSERIAL_CONST_ONLY #if defined(__cplusplus) || defined(__cplusplus__) *************** *** 103,106 **** --- 186,197 ---- unsigned long ulBytesToWrite, unsigned long * pulBytesWritten); + long CommWriteAndReceiveEcho( + HANDLE hComm, + char * pcWriteBuffer, + unsigned long ulBytesToWrite, + unsigned long * pulBytesWritten, + char * pcReadBuffer, + unsigned long * pulBytesRead, + long fStopIfNotEqual); long CommRead( HANDLE hComm, *************** *** 142,145 **** --- 233,244 ---- unsigned char cXOFFCharacter, unsigned char cXONCharacter); + long CommControl( + HANDLE hComm, + unsigned long lFlags, + unsigned short usXonLim, + unsigned short usXoffLim, + char cXonChar, + char cXoffChar, + char cErrorChar); long CommTermination( HANDLE hComm, *************** *** 147,155 **** --- 246,277 ---- char *pcTermCharacter, long lNumberOfTermChar); + long CommTermination2( + HANDLE hComm, + long lTerminationMode, + char *pcTermination, + long lNumberOfTermChar); + long CommWriteMode( + HANDLE hComm, + long lWriteMode, + char *pcStartOfTransmission, + long lNumberofStartChars, + char *pcEndOfTransmission, + long lNumberOfEndChars); long CommTimeout(HANDLE hComm, unsigned long ulTimeout); + long CommTimeout2( + HANDLE hComm, + unsigned long ulReadIntervalTimeout, + unsigned long ulReadTotalTimeoutMultiplier, + unsigned long ulReadTotalTimeoutConstant, + unsigned long ulWriteTotalTimeoutMultiplier, + unsigned long ulWriteTotalTimeoutConstant); + long CommOptions(HANDLE hComm, char *pszOptions); long CommLock(HANDLE hComm, unsigned long ulTimeout); long CommUnLock(HANDLE hComm); long CommSetUserData(HANDLE hComm, unsigned long ulUserData); long CommGetUserData(HANDLE hComm, unsigned long *pulUserData); + long CommListPorts(char ***ports); + void CommFree(LPVOID ptr); + void CommFreePortList(char **ports); /* -----------------------------------------------------------------------------------*/ *************** *** 159,165 **** void lvCommWrite( HANDLE hComm, ! LStrHandle Buffer, unsigned long * pulBytesWritten, pErrC pError); void lvCommRead( HANDLE hComm, --- 281,295 ---- void lvCommWrite( HANDLE hComm, ! LStrHandle shBuffer, unsigned long * pulBytesWritten, pErrC pError); + void lvCommWriteAndReceiveEcho( + HANDLE hComm, + LStrHandle shWriteBuffer, + unsigned long * pulBytesWritten, + LStrHandle shReadBuffer, + unsigned long * pulBytesRead, + LVBoolean *plfStopIfNotEqual, + pErrC pError); void lvCommRead( HANDLE hComm, *************** *** 205,208 **** --- 335,347 ---- unsigned char ucXONCharacter, pErrC pError); + void lvCommControl( + HANDLE hComm, + unsigned long lFlags, + unsigned short usXonLim, + unsigned short usXoffLim, + char cXonChar, + char cXoffChar, + char cErrorChar, + pErrC pError); void lvCommTermination( HANDLE hComm, *************** *** 210,223 **** --- 349,385 ---- LStrHandle shTermCharacter, pErrC pError); + void lvCommTermination2( + HANDLE hComm, + long *lTerminationMode, + LStrHandle shTermination, + pErrC pError); + void lvCommWriteMode( + HANDLE hComm, + long lWriteMode, + LStrHandle shStartOfTransmission, + LStrHandle shEndOfTransmission, + pErrC pError); void lvCommTimeout( HANDLE hComm, unsigned long ulTimeout, pErrC pError); + void lvCommTimeout2( + HANDLE hComm, + unsigned long ulReadIntervalTimeout, + unsigned long ulReadTotalTimeoutMultiplier, + unsigned long ulReadTotalTimeoutConstant, + unsigned long ulWriteTotalTimeoutMultiplier, + unsigned long ulWriteTotalTimeoutConstant, + pErrC pError); + void lvCommOptions(HANDLE hComm, LStrHandle shOptions, pErrC pError); void lvCommLock(HANDLE hComm, unsigned long ulTimeout, pErrC pError); void lvCommUnLock(HANDLE hComm, pErrC pError); void lvCommSetUserData(HANDLE hComm, unsigned long ulUserData, pErrC pError); void lvCommGetUserData(HANDLE hComm, unsigned long *pulUserData, pErrC pError); + void lvCommListPorts(LStrArrayHandle halsPorts, pErrC pError); #if defined(__cplusplus) || defined(__cplusplus__) } #endif + + #endif //LVSERIAL_CONST_ONLY |
From: Konstantin S. <ks...@us...> - 2005-03-14 11:51:22
|
Update of /cvsroot/opengtoolkit/deab/developer docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21815/developer docs Modified Files: news.txt Log Message: Index: news.txt =================================================================== RCS file: /cvsroot/opengtoolkit/deab/developer docs/news.txt,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** news.txt 5 Mar 2005 09:26:02 -0000 1.46 --- news.txt 14 Mar 2005 11:51:13 -0000 1.47 *************** *** 4,7 **** --- 4,12 ---- + *** 18:49 14.03.2005 (KS) + + - "Save Level": OGB more precisely determines if a VI's FP can be removed + + *** 16:25 05.03.2005 (KS) |