mirror of https://github.com/FreeRDP/FreeRDP
winpr-comm: renamed REMOTE_SERIAL_DRIVER by SERIAL_DRIVER or ServerSerialDriver according the context
This commit is contained in:
parent
62d893b2bd
commit
62298fcd95
|
@ -999,7 +999,7 @@ BOOL IsCommDevice(LPCTSTR lpDeviceName)
|
|||
/**
|
||||
* Sets
|
||||
*/
|
||||
void _comm_setRemoteSerialDriver(HANDLE hComm, REMOTE_SERIAL_DRIVER_ID driverId)
|
||||
void _comm_setServerSerialDriver(HANDLE hComm, SERIAL_DRIVER_ID driverId)
|
||||
{
|
||||
ULONG Type;
|
||||
PVOID Object;
|
||||
|
@ -1007,12 +1007,12 @@ void _comm_setRemoteSerialDriver(HANDLE hComm, REMOTE_SERIAL_DRIVER_ID driverId)
|
|||
|
||||
if (!winpr_Handle_GetInfo(hComm, &Type, &Object))
|
||||
{
|
||||
DEBUG_WARN("_comm_setRemoteSerialDriver failure");
|
||||
DEBUG_WARN("_comm_setServerSerialDriver failure");
|
||||
return;
|
||||
}
|
||||
|
||||
pComm = (WINPR_COMM*)Object;
|
||||
pComm->remoteSerialDriverId = driverId;
|
||||
pComm->serverSerialDriverId = driverId;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1165,7 +1165,7 @@ HANDLE CommCreateFileA(LPCSTR lpDeviceName, DWORD dwDesiredAccess, DWORD dwShare
|
|||
* get/set baud functions. Is it possible to pull this
|
||||
* information? Could be a command line argument.
|
||||
*/
|
||||
pComm->remoteSerialDriverId = RemoteSerialDriverUnknown;
|
||||
pComm->serverSerialDriverId = SerialDriverUnknown;
|
||||
|
||||
InitializeCriticalSection(&pComm->EventsLock);
|
||||
|
||||
|
|
|
@ -34,13 +34,13 @@
|
|||
* IOCTLs table according the remote serial driver:
|
||||
* http://msdn.microsoft.com/en-us/library/windows/hardware/dn265347%28v=vs.85%29.aspx
|
||||
*/
|
||||
typedef enum _REMOTE_SERIAL_DRIVER_ID
|
||||
typedef enum _SERIAL_DRIVER_ID
|
||||
{
|
||||
RemoteSerialDriverUnknown = 0,
|
||||
RemoteSerialDriverSerialSys,
|
||||
RemoteSerialDriverSerCxSys,
|
||||
RemoteSerialDriverSerCx2Sys /* default fallback, see also CommDeviceIoControl() */
|
||||
} REMOTE_SERIAL_DRIVER_ID;
|
||||
SerialDriverUnknown = 0,
|
||||
SerialDriverSerialSys,
|
||||
SerialDriverSerCxSys,
|
||||
SerialDriverSerCx2Sys /* default fallback, see also CommDeviceIoControl() */
|
||||
} SERIAL_DRIVER_ID;
|
||||
|
||||
struct winpr_comm
|
||||
{
|
||||
|
@ -65,8 +65,7 @@ struct winpr_comm
|
|||
*/
|
||||
BOOL permissive;
|
||||
|
||||
// TMP: to be renamed serverSerialDriverId
|
||||
REMOTE_SERIAL_DRIVER_ID remoteSerialDriverId;
|
||||
SERIAL_DRIVER_ID serverSerialDriverId;
|
||||
|
||||
COMMTIMEOUTS timeouts;
|
||||
|
||||
|
@ -80,7 +79,7 @@ struct winpr_comm
|
|||
|
||||
typedef struct winpr_comm WINPR_COMM;
|
||||
|
||||
void _comm_setRemoteSerialDriver(HANDLE hComm, REMOTE_SERIAL_DRIVER_ID);
|
||||
void _comm_setServerSerialDriver(HANDLE hComm, SERIAL_DRIVER_ID);
|
||||
|
||||
/* TMP: TODO: move all specific defines and types here? at least SERIAL_EV_* */
|
||||
#define SERIAL_EV_FREERDP_WAITING 0x4000 /* bit unused by SERIAL_EV_* */
|
||||
|
|
|
@ -76,7 +76,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
|
||||
{
|
||||
WINPR_COMM* pComm = (WINPR_COMM*) hDevice;
|
||||
REMOTE_SERIAL_DRIVER* pRemoteSerialDriver = NULL;
|
||||
SERIAL_DRIVER* pServerSerialDriver = NULL;
|
||||
|
||||
/* clear any previous last error */
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
|
@ -113,28 +113,28 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
*
|
||||
* FIXME: might prefer to use an automatic rather than static structure
|
||||
*/
|
||||
switch (pComm->remoteSerialDriverId)
|
||||
switch (pComm->serverSerialDriverId)
|
||||
{
|
||||
case RemoteSerialDriverSerialSys:
|
||||
pRemoteSerialDriver = SerialSys_s();
|
||||
case SerialDriverSerialSys:
|
||||
pServerSerialDriver = SerialSys_s();
|
||||
break;
|
||||
|
||||
case RemoteSerialDriverSerCxSys:
|
||||
pRemoteSerialDriver = SerCxSys_s();
|
||||
case SerialDriverSerCxSys:
|
||||
pServerSerialDriver = SerCxSys_s();
|
||||
break;
|
||||
|
||||
case RemoteSerialDriverSerCx2Sys:
|
||||
pRemoteSerialDriver = SerCx2Sys_s();
|
||||
case SerialDriverSerCx2Sys:
|
||||
pServerSerialDriver = SerCx2Sys_s();
|
||||
break;
|
||||
|
||||
case RemoteSerialDriverUnknown:
|
||||
case SerialDriverUnknown:
|
||||
default:
|
||||
DEBUG_MSG("Unknown remote serial driver (%d), using SerCx2.sys", pComm->remoteSerialDriverId);
|
||||
pRemoteSerialDriver = SerCx2Sys_s();
|
||||
DEBUG_MSG("Unknown remote serial driver (%d), using SerCx2.sys", pComm->serverSerialDriverId);
|
||||
pServerSerialDriver = SerCx2Sys_s();
|
||||
break;
|
||||
}
|
||||
|
||||
assert(pRemoteSerialDriver != NULL);
|
||||
assert(pServerSerialDriver != NULL);
|
||||
|
||||
switch (dwIoControlCode)
|
||||
{
|
||||
|
@ -147,7 +147,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_BAUD_RATE:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_baud_rate)
|
||||
if (pServerSerialDriver->set_baud_rate)
|
||||
{
|
||||
SERIAL_BAUD_RATE *pBaudRate = (SERIAL_BAUD_RATE*)lpInBuffer;
|
||||
|
||||
|
@ -158,13 +158,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_baud_rate(pComm, pBaudRate);
|
||||
return pServerSerialDriver->set_baud_rate(pComm, pBaudRate);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_BAUD_RATE:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_baud_rate)
|
||||
if (pServerSerialDriver->get_baud_rate)
|
||||
{
|
||||
SERIAL_BAUD_RATE *pBaudRate = (SERIAL_BAUD_RATE*)lpOutBuffer;
|
||||
|
||||
|
@ -175,7 +175,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_baud_rate(pComm, pBaudRate))
|
||||
if (!pServerSerialDriver->get_baud_rate(pComm, pBaudRate))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_BAUD_RATE);
|
||||
|
@ -185,7 +185,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_GET_PROPERTIES:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_properties)
|
||||
if (pServerSerialDriver->get_properties)
|
||||
{
|
||||
COMMPROP *pProperties = (COMMPROP*)lpOutBuffer;
|
||||
|
||||
|
@ -196,7 +196,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_properties(pComm, pProperties))
|
||||
if (!pServerSerialDriver->get_properties(pComm, pProperties))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(COMMPROP);
|
||||
|
@ -206,7 +206,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_CHARS:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_serial_chars)
|
||||
if (pServerSerialDriver->set_serial_chars)
|
||||
{
|
||||
SERIAL_CHARS *pSerialChars = (SERIAL_CHARS*)lpInBuffer;
|
||||
|
||||
|
@ -217,13 +217,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_serial_chars(pComm, pSerialChars);
|
||||
return pServerSerialDriver->set_serial_chars(pComm, pSerialChars);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_CHARS:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_serial_chars)
|
||||
if (pServerSerialDriver->get_serial_chars)
|
||||
{
|
||||
SERIAL_CHARS *pSerialChars = (SERIAL_CHARS*)lpOutBuffer;
|
||||
|
||||
|
@ -234,7 +234,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_serial_chars(pComm, pSerialChars))
|
||||
if (!pServerSerialDriver->get_serial_chars(pComm, pSerialChars))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_CHARS);
|
||||
|
@ -244,7 +244,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_LINE_CONTROL:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_line_control)
|
||||
if (pServerSerialDriver->set_line_control)
|
||||
{
|
||||
SERIAL_LINE_CONTROL *pLineControl = (SERIAL_LINE_CONTROL*)lpInBuffer;
|
||||
|
||||
|
@ -255,13 +255,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_line_control(pComm, pLineControl);
|
||||
return pServerSerialDriver->set_line_control(pComm, pLineControl);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_LINE_CONTROL:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_line_control)
|
||||
if (pServerSerialDriver->get_line_control)
|
||||
{
|
||||
SERIAL_LINE_CONTROL *pLineControl = (SERIAL_LINE_CONTROL*)lpOutBuffer;
|
||||
|
||||
|
@ -272,7 +272,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_line_control(pComm, pLineControl))
|
||||
if (!pServerSerialDriver->get_line_control(pComm, pLineControl))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_LINE_CONTROL);
|
||||
|
@ -282,7 +282,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_HANDFLOW:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_handflow)
|
||||
if (pServerSerialDriver->set_handflow)
|
||||
{
|
||||
SERIAL_HANDFLOW *pHandflow = (SERIAL_HANDFLOW*)lpInBuffer;
|
||||
|
||||
|
@ -293,13 +293,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_handflow(pComm, pHandflow);
|
||||
return pServerSerialDriver->set_handflow(pComm, pHandflow);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_HANDFLOW:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_handflow)
|
||||
if (pServerSerialDriver->get_handflow)
|
||||
{
|
||||
SERIAL_HANDFLOW *pHandflow = (SERIAL_HANDFLOW*)lpOutBuffer;
|
||||
|
||||
|
@ -310,7 +310,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_handflow(pComm, pHandflow))
|
||||
if (!pServerSerialDriver->get_handflow(pComm, pHandflow))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_HANDFLOW);
|
||||
|
@ -320,7 +320,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_TIMEOUTS:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_timeouts)
|
||||
if (pServerSerialDriver->set_timeouts)
|
||||
{
|
||||
SERIAL_TIMEOUTS *pHandflow = (SERIAL_TIMEOUTS*)lpInBuffer;
|
||||
|
||||
|
@ -331,13 +331,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_timeouts(pComm, pHandflow);
|
||||
return pServerSerialDriver->set_timeouts(pComm, pHandflow);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_TIMEOUTS:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_timeouts)
|
||||
if (pServerSerialDriver->get_timeouts)
|
||||
{
|
||||
SERIAL_TIMEOUTS *pHandflow = (SERIAL_TIMEOUTS*)lpOutBuffer;
|
||||
|
||||
|
@ -348,7 +348,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_timeouts(pComm, pHandflow))
|
||||
if (!pServerSerialDriver->get_timeouts(pComm, pHandflow))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_TIMEOUTS);
|
||||
|
@ -358,39 +358,39 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_DTR:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_dtr)
|
||||
if (pServerSerialDriver->set_dtr)
|
||||
{
|
||||
return pRemoteSerialDriver->set_dtr(pComm);
|
||||
return pServerSerialDriver->set_dtr(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_CLR_DTR:
|
||||
{
|
||||
if (pRemoteSerialDriver->clear_dtr)
|
||||
if (pServerSerialDriver->clear_dtr)
|
||||
{
|
||||
return pRemoteSerialDriver->clear_dtr(pComm);
|
||||
return pServerSerialDriver->clear_dtr(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_SET_RTS:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_rts)
|
||||
if (pServerSerialDriver->set_rts)
|
||||
{
|
||||
return pRemoteSerialDriver->set_rts(pComm);
|
||||
return pServerSerialDriver->set_rts(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_CLR_RTS:
|
||||
{
|
||||
if (pRemoteSerialDriver->clear_rts)
|
||||
if (pServerSerialDriver->clear_rts)
|
||||
{
|
||||
return pRemoteSerialDriver->clear_rts(pComm);
|
||||
return pServerSerialDriver->clear_rts(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_MODEMSTATUS:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_modemstatus)
|
||||
if (pServerSerialDriver->get_modemstatus)
|
||||
{
|
||||
ULONG *pRegister = (ULONG*)lpOutBuffer;
|
||||
|
||||
|
@ -401,7 +401,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_modemstatus(pComm, pRegister))
|
||||
if (!pServerSerialDriver->get_modemstatus(pComm, pRegister))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(ULONG);
|
||||
|
@ -411,7 +411,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_WAIT_MASK:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_wait_mask)
|
||||
if (pServerSerialDriver->set_wait_mask)
|
||||
{
|
||||
ULONG *pWaitMask = (ULONG*)lpInBuffer;
|
||||
|
||||
|
@ -422,13 +422,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_wait_mask(pComm, pWaitMask);
|
||||
return pServerSerialDriver->set_wait_mask(pComm, pWaitMask);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_WAIT_MASK:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_wait_mask)
|
||||
if (pServerSerialDriver->get_wait_mask)
|
||||
{
|
||||
ULONG *pWaitMask = (ULONG*)lpOutBuffer;
|
||||
|
||||
|
@ -439,7 +439,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_wait_mask(pComm, pWaitMask))
|
||||
if (!pServerSerialDriver->get_wait_mask(pComm, pWaitMask))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(ULONG);
|
||||
|
@ -449,7 +449,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_WAIT_ON_MASK:
|
||||
{
|
||||
if (pRemoteSerialDriver->wait_on_mask)
|
||||
if (pServerSerialDriver->wait_on_mask)
|
||||
{
|
||||
ULONG *pOutputMask = (ULONG*)lpOutBuffer;
|
||||
|
||||
|
@ -460,7 +460,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->wait_on_mask(pComm, pOutputMask))
|
||||
if (!pServerSerialDriver->wait_on_mask(pComm, pOutputMask))
|
||||
{
|
||||
*lpBytesReturned = sizeof(ULONG); /* TMP: TODO: all lpBytesReturned values to be reviewed on error */
|
||||
return FALSE;
|
||||
|
@ -473,7 +473,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_QUEUE_SIZE:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_queue_size)
|
||||
if (pServerSerialDriver->set_queue_size)
|
||||
{
|
||||
SERIAL_QUEUE_SIZE *pQueueSize = (SERIAL_QUEUE_SIZE*)lpInBuffer;
|
||||
|
||||
|
@ -484,13 +484,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->set_queue_size(pComm, pQueueSize);
|
||||
return pServerSerialDriver->set_queue_size(pComm, pQueueSize);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_PURGE:
|
||||
{
|
||||
if (pRemoteSerialDriver->purge)
|
||||
if (pServerSerialDriver->purge)
|
||||
{
|
||||
ULONG *pPurgeMask = (ULONG*)lpInBuffer;
|
||||
|
||||
|
@ -501,13 +501,13 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->purge(pComm, pPurgeMask);
|
||||
return pServerSerialDriver->purge(pComm, pPurgeMask);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_COMMSTATUS:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_commstatus)
|
||||
if (pServerSerialDriver->get_commstatus)
|
||||
{
|
||||
SERIAL_STATUS *pCommstatus = (SERIAL_STATUS*)lpOutBuffer;
|
||||
|
||||
|
@ -518,7 +518,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_commstatus(pComm, pCommstatus))
|
||||
if (!pServerSerialDriver->get_commstatus(pComm, pCommstatus))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(SERIAL_STATUS);
|
||||
|
@ -528,39 +528,39 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_SET_BREAK_ON:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_break_on)
|
||||
if (pServerSerialDriver->set_break_on)
|
||||
{
|
||||
return pRemoteSerialDriver->set_break_on(pComm);
|
||||
return pServerSerialDriver->set_break_on(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_SET_BREAK_OFF:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_break_off)
|
||||
if (pServerSerialDriver->set_break_off)
|
||||
{
|
||||
return pRemoteSerialDriver->set_break_off(pComm);
|
||||
return pServerSerialDriver->set_break_off(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_SET_XOFF:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_xoff)
|
||||
if (pServerSerialDriver->set_xoff)
|
||||
{
|
||||
return pRemoteSerialDriver->set_xoff(pComm);
|
||||
return pServerSerialDriver->set_xoff(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_SET_XON:
|
||||
{
|
||||
if (pRemoteSerialDriver->set_xon)
|
||||
if (pServerSerialDriver->set_xon)
|
||||
{
|
||||
return pRemoteSerialDriver->set_xon(pComm);
|
||||
return pServerSerialDriver->set_xon(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_GET_DTRRTS:
|
||||
{
|
||||
if (pRemoteSerialDriver->get_dtrrts)
|
||||
if (pServerSerialDriver->get_dtrrts)
|
||||
{
|
||||
ULONG *pMask = (ULONG*)lpOutBuffer;
|
||||
|
||||
|
@ -571,7 +571,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->get_dtrrts(pComm, pMask))
|
||||
if (!pServerSerialDriver->get_dtrrts(pComm, pMask))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(ULONG);
|
||||
|
@ -582,7 +582,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_CONFIG_SIZE:
|
||||
{
|
||||
if (pRemoteSerialDriver->config_size)
|
||||
if (pServerSerialDriver->config_size)
|
||||
{
|
||||
ULONG *pSize = (ULONG*)lpOutBuffer;
|
||||
|
||||
|
@ -593,7 +593,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!pRemoteSerialDriver->config_size(pComm, pSize))
|
||||
if (!pServerSerialDriver->config_size(pComm, pSize))
|
||||
return FALSE;
|
||||
|
||||
*lpBytesReturned = sizeof(ULONG);
|
||||
|
@ -604,7 +604,7 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
}
|
||||
case IOCTL_SERIAL_IMMEDIATE_CHAR:
|
||||
{
|
||||
if (pRemoteSerialDriver->immediate_char)
|
||||
if (pServerSerialDriver->immediate_char)
|
||||
{
|
||||
UCHAR *pChar = (UCHAR*)lpInBuffer;
|
||||
|
||||
|
@ -615,22 +615,22 @@ static BOOL _CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID l
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return pRemoteSerialDriver->immediate_char(pComm, pChar);
|
||||
return pServerSerialDriver->immediate_char(pComm, pChar);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case IOCTL_SERIAL_RESET_DEVICE:
|
||||
{
|
||||
if (pRemoteSerialDriver->reset_device)
|
||||
if (pServerSerialDriver->reset_device)
|
||||
{
|
||||
return pRemoteSerialDriver->reset_device(pComm);
|
||||
return pServerSerialDriver->reset_device(pComm);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG_WARN(_T("unsupported IoControlCode=[0x%lX] %s (remote serial driver: %s)"),
|
||||
dwIoControlCode, _comm_serial_ioctl_name(dwIoControlCode), pRemoteSerialDriver->name);
|
||||
dwIoControlCode, _comm_serial_ioctl_name(dwIoControlCode), pServerSerialDriver->name);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED); /* => STATUS_NOT_IMPLEMENTED */
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -206,13 +206,13 @@ typedef struct _SERIAL_STATUS
|
|||
#define SERIAL_DCD_STATE ((ULONG)0x00000080)
|
||||
|
||||
/**
|
||||
* A function might be NULL if not supported by the underlying remote driver.
|
||||
* A function might be NULL if not supported by the underlying driver.
|
||||
*
|
||||
* FIXME: better have to use input and output buffers for all functions?
|
||||
*/
|
||||
typedef struct _REMOTE_SERIAL_DRIVER
|
||||
typedef struct _SERIAL_DRIVER
|
||||
{
|
||||
REMOTE_SERIAL_DRIVER_ID id;
|
||||
SERIAL_DRIVER_ID id;
|
||||
TCHAR *name;
|
||||
BOOL (*set_baud_rate)(WINPR_COMM *pComm, const SERIAL_BAUD_RATE *pBaudRate);
|
||||
BOOL (*get_baud_rate)(WINPR_COMM *pComm, SERIAL_BAUD_RATE *pBaudRate);
|
||||
|
@ -245,7 +245,7 @@ typedef struct _REMOTE_SERIAL_DRIVER
|
|||
BOOL (*immediate_char)(WINPR_COMM *pComm, const UCHAR *pChar);
|
||||
BOOL (*reset_device)(WINPR_COMM *pComm);
|
||||
|
||||
} REMOTE_SERIAL_DRIVER;
|
||||
} SERIAL_DRIVER;
|
||||
|
||||
|
||||
int _comm_ioctl_tcsetattr(int fd, int optional_actions, const struct termios *termios_p);
|
||||
|
|
|
@ -75,7 +75,7 @@ static const ULONG _SERCX2_SYS_SUPPORTED_EV_MASK =
|
|||
static BOOL _set_wait_mask(WINPR_COMM *pComm, const ULONG *pWaitMask)
|
||||
{
|
||||
ULONG possibleMask;
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
possibleMask = *pWaitMask & _SERCX2_SYS_SUPPORTED_EV_MASK;
|
||||
|
||||
|
@ -95,7 +95,7 @@ static BOOL _set_wait_mask(WINPR_COMM *pComm, const ULONG *pWaitMask)
|
|||
|
||||
static BOOL _purge(WINPR_COMM *pComm, const ULONG *pPurgeMask)
|
||||
{
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
/* http://msdn.microsoft.com/en-us/library/windows/hardware/ff546655%28v=vs.85%29.aspx */
|
||||
|
||||
|
@ -120,9 +120,9 @@ static BOOL _purge(WINPR_COMM *pComm, const ULONG *pPurgeMask)
|
|||
|
||||
|
||||
/* specific functions only */
|
||||
static REMOTE_SERIAL_DRIVER _SerCx2Sys =
|
||||
static SERIAL_DRIVER _SerCx2Sys =
|
||||
{
|
||||
.id = RemoteSerialDriverSerCx2Sys,
|
||||
.id = SerialDriverSerCx2Sys,
|
||||
.name = _T("SerCx2.sys"),
|
||||
.set_baud_rate = NULL,
|
||||
.get_baud_rate = NULL,
|
||||
|
@ -157,11 +157,11 @@ static REMOTE_SERIAL_DRIVER _SerCx2Sys =
|
|||
};
|
||||
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerCx2Sys_s()
|
||||
SERIAL_DRIVER* SerCx2Sys_s()
|
||||
{
|
||||
/* _SerCx2Sys completed with inherited functions from SerialSys or SerCxSys */
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
REMOTE_SERIAL_DRIVER* pSerCxSys = SerCxSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerCxSys = SerCxSys_s();
|
||||
|
||||
_SerCx2Sys.set_baud_rate = pSerCxSys->set_baud_rate;
|
||||
_SerCx2Sys.get_baud_rate = pSerCxSys->get_baud_rate;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerCx2Sys_s();
|
||||
SERIAL_DRIVER* SerCx2Sys_s();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ static const speed_t _SERCX_SYS_BAUD_TABLE[][3] = {
|
|||
static BOOL _get_properties(WINPR_COMM *pComm, COMMPROP *pProperties)
|
||||
{
|
||||
int i;
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
if (!pSerialSys->get_properties(pComm, pProperties))
|
||||
{
|
||||
|
@ -235,7 +235,7 @@ static BOOL _set_handflow(WINPR_COMM *pComm, const SERIAL_HANDFLOW *pHandflow)
|
|||
{
|
||||
SERIAL_HANDFLOW SerCxHandflow;
|
||||
BOOL result = TRUE;
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
memcpy(&SerCxHandflow, pHandflow, sizeof(SERIAL_HANDFLOW));
|
||||
|
||||
|
@ -314,7 +314,7 @@ static BOOL _set_handflow(WINPR_COMM *pComm, const SERIAL_HANDFLOW *pHandflow)
|
|||
static BOOL _get_handflow(WINPR_COMM *pComm, SERIAL_HANDFLOW *pHandflow)
|
||||
{
|
||||
BOOL result;
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
result = pSerialSys->get_handflow(pComm, pHandflow);
|
||||
|
||||
|
@ -350,7 +350,7 @@ static const ULONG _SERCX_SYS_SUPPORTED_EV_MASK =
|
|||
static BOOL _set_wait_mask(WINPR_COMM *pComm, const ULONG *pWaitMask)
|
||||
{
|
||||
ULONG possibleMask;
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
possibleMask = *pWaitMask & _SERCX_SYS_SUPPORTED_EV_MASK;
|
||||
|
||||
|
@ -369,9 +369,9 @@ static BOOL _set_wait_mask(WINPR_COMM *pComm, const ULONG *pWaitMask)
|
|||
|
||||
|
||||
/* specific functions only */
|
||||
static REMOTE_SERIAL_DRIVER _SerCxSys =
|
||||
static SERIAL_DRIVER _SerCxSys =
|
||||
{
|
||||
.id = RemoteSerialDriverSerCxSys,
|
||||
.id = SerialDriverSerCxSys,
|
||||
.name = _T("SerCx.sys"),
|
||||
.set_baud_rate = _set_baud_rate,
|
||||
.get_baud_rate = _get_baud_rate,
|
||||
|
@ -407,10 +407,10 @@ static REMOTE_SERIAL_DRIVER _SerCxSys =
|
|||
|
||||
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerCxSys_s()
|
||||
SERIAL_DRIVER* SerCxSys_s()
|
||||
{
|
||||
/* _SerCxSys completed with inherited functions from SerialSys */
|
||||
REMOTE_SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
SERIAL_DRIVER* pSerialSys = SerialSys_s();
|
||||
|
||||
_SerCxSys.set_serial_chars = pSerialSys->set_serial_chars;
|
||||
_SerCxSys.get_serial_chars = pSerialSys->get_serial_chars;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerCxSys_s();
|
||||
SERIAL_DRIVER* SerCxSys_s();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -1512,9 +1512,9 @@ BOOL _reset_device(WINPR_COMM *pComm)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static REMOTE_SERIAL_DRIVER _SerialSys =
|
||||
static SERIAL_DRIVER _SerialSys =
|
||||
{
|
||||
.id = RemoteSerialDriverSerialSys,
|
||||
.id = SerialDriverSerialSys,
|
||||
.name = _T("Serial.sys"),
|
||||
.set_baud_rate = _set_baud_rate,
|
||||
.get_baud_rate = _get_baud_rate,
|
||||
|
@ -1549,7 +1549,7 @@ static REMOTE_SERIAL_DRIVER _SerialSys =
|
|||
};
|
||||
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerialSys_s()
|
||||
SERIAL_DRIVER* SerialSys_s()
|
||||
{
|
||||
return &_SerialSys;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
REMOTE_SERIAL_DRIVER* SerialSys_s();
|
||||
SERIAL_DRIVER* SerialSys_s();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -94,28 +94,28 @@ int TestGetCommState(int argc, char* argv[])
|
|||
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
printf("test_generic failure (RemoteSerialDriverUnknown)\n");
|
||||
printf("test_generic failure (SerialDriverUnknown)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerialSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerialSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
printf("test_generic failure (RemoteSerialDriverSerialSys)\n");
|
||||
printf("test_generic failure (SerialDriverSerialSys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCxSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCxSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
printf("test_generic failure (RemoteSerialDriverSerCxSys)\n");
|
||||
printf("test_generic failure (SerialDriverSerCxSys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCx2Sys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCx2Sys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
printf("test_generic failure (RemoteSerialDriverSerCx2Sys)\n");
|
||||
printf("test_generic failure (SerialDriverSerCx2Sys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,21 +54,21 @@ int TestHandflow(int argc, char* argv[])
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerialSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerialSys);
|
||||
if (!test_SerialSys(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerCxSys failure\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
/* _comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCxSys); */
|
||||
/* _comm_setServerSerialDriver(hComm, SerialDriverSerCxSys); */
|
||||
/* if (!test_SerCxSys(hComm)) */
|
||||
/* { */
|
||||
/* fprintf(stderr, "test_SerCxSys failure\n"); */
|
||||
/* return EXIT_FAILURE; */
|
||||
/* } */
|
||||
|
||||
/* _comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCx2Sys); */
|
||||
/* _comm_setServerSerialDriver(hComm, SerialDriverSerCx2Sys); */
|
||||
/* if (!test_SerCx2Sys(hComm)) */
|
||||
/* { */
|
||||
/* fprintf(stderr, "test_SerCxSys failure\n"); */
|
||||
|
|
|
@ -148,14 +148,14 @@ int TestSerialChars(int argc, char* argv[])
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCxSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCxSys);
|
||||
if (!test_SerCxSys(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerCxSys failure\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCx2Sys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCx2Sys);
|
||||
if (!test_SerCx2Sys(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerCxSys failure\n");
|
||||
|
|
|
@ -339,14 +339,14 @@ int TestSetCommState(int argc, char* argv[])
|
|||
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_generic failure (RemoteSerialDriverUnknown)\n");
|
||||
fprintf(stderr, "test_generic failure (SerialDriverUnknown)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerialSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerialSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_generic failure (RemoteSerialDriverSerialSys)\n");
|
||||
fprintf(stderr, "test_generic failure (SerialDriverSerialSys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!test_SerialSys(hComm))
|
||||
|
@ -356,10 +356,10 @@ int TestSetCommState(int argc, char* argv[])
|
|||
}
|
||||
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCxSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCxSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_generic failure (RemoteSerialDriverSerCxSys)\n");
|
||||
fprintf(stderr, "test_generic failure (SerialDriverSerCxSys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!test_SerCxSys(hComm))
|
||||
|
@ -368,10 +368,10 @@ int TestSetCommState(int argc, char* argv[])
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCx2Sys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCx2Sys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_generic failure (RemoteSerialDriverSerCx2Sys)\n");
|
||||
fprintf(stderr, "test_generic failure (SerialDriverSerCx2Sys)\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!test_SerCx2Sys(hComm))
|
||||
|
|
|
@ -95,21 +95,21 @@ int TestTimeouts(int argc, char* argv[])
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerialSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerialSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerialSys failure\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCxSys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCxSys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerCxSys failure\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
_comm_setRemoteSerialDriver(hComm, RemoteSerialDriverSerCx2Sys);
|
||||
_comm_setServerSerialDriver(hComm, SerialDriverSerCx2Sys);
|
||||
if (!test_generic(hComm))
|
||||
{
|
||||
fprintf(stderr, "test_SerCx2Sys failure\n");
|
||||
|
|
Loading…
Reference in New Issue