1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
|
* ClearCommError blocks under Windows NT/2000 until serial output is
* finished
*/
if (CloseHandle(handle) == FALSE) {
return INVALID_HANDLE_VALUE;
}
handle = (*tclWinProcs->createFileProc)(name, access, 0, 0,
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
return handle;
}
/*
*----------------------------------------------------------------------
*
* TclWinOpenSerialChannel --
|
|
|
|
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
|
* ClearCommError blocks under Windows NT/2000 until serial output is
* finished
*/
if (CloseHandle(handle) == FALSE) {
return INVALID_HANDLE_VALUE;
}
handle = tclWinProcs->createFileProc(name, access, 0, 0, OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, 0);
return handle;
}
/*
*----------------------------------------------------------------------
*
* TclWinOpenSerialChannel --
|
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
|
if (!GetCommState(infoPtr->handle, &dcb)) {
if (interp != NULL) {
Tcl_AppendResult(interp, "can't get comm state", NULL);
}
return TCL_ERROR;
}
native = Tcl_WinUtfToTChar(value, -1, &ds);
result = (*tclWinProcs->buildCommDCBProc)(native, &dcb);
Tcl_DStringFree(&ds);
if (result == FALSE) {
if (interp != NULL) {
Tcl_AppendResult(interp, "bad value \"", value,
"\" for -mode: should be baud,parity,data,stop", NULL);
}
|
|
|
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
|
if (!GetCommState(infoPtr->handle, &dcb)) {
if (interp != NULL) {
Tcl_AppendResult(interp, "can't get comm state", NULL);
}
return TCL_ERROR;
}
native = Tcl_WinUtfToTChar(value, -1, &ds);
result = tclWinProcs->buildCommDCBProc(native, &dcb);
Tcl_DStringFree(&ds);
if (result == FALSE) {
if (interp != NULL) {
Tcl_AppendResult(interp, "bad value \"", value,
"\" for -mode: should be baud,parity,data,stop", NULL);
}
|
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
|
*/
if (len == 0) {
Tcl_DStringAppendElement(dsPtr, "-mode");
}
if (len==0 || (len>2 && (strncmp(optionName, "-mode", len) == 0))) {
char parity;
char *stop;
char buf[2 * TCL_INTEGER_SPACE + 16];
if (!GetCommState(infoPtr->handle, &dcb)) {
if (interp != NULL) {
Tcl_AppendResult(interp, "can't get comm state", NULL);
}
return TCL_ERROR;
|
|
|
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
|
*/
if (len == 0) {
Tcl_DStringAppendElement(dsPtr, "-mode");
}
if (len==0 || (len>2 && (strncmp(optionName, "-mode", len) == 0))) {
char parity;
const char *stop;
char buf[2 * TCL_INTEGER_SPACE + 16];
if (!GetCommState(infoPtr->handle, &dcb)) {
if (interp != NULL) {
Tcl_AppendResult(interp, "can't get comm state", NULL);
}
return TCL_ERROR;
|