FreeRDP
comm_ioctl.h File Reference
#include <termios.h>
#include <winpr/io.h>
#include <winpr/tchar.h>
#include <winpr/wtypes.h>
#include "comm.h"
This graph shows which files directly or indirectly include this file:

Data Structures

struct  SERIAL_BAUD_RATE
 
struct  SERIAL_CHARS
 
struct  SERIAL_LINE_CONTROL
 
struct  SERIAL_HANDFLOW
 
struct  SERIAL_TIMEOUTS
 
struct  SERIAL_QUEUE_SIZE
 
struct  SERIAL_STATUS
 
struct  SERIAL_DRIVER
 

Macros

#define STOP_BIT_1   0
 
#define STOP_BITS_1_5   1
 
#define STOP_BITS_2   2
 
#define NO_PARITY   0
 
#define ODD_PARITY   1
 
#define EVEN_PARITY   2
 
#define MARK_PARITY   3
 
#define SPACE_PARITY   4
 
#define SERIAL_DTR_MASK   ((ULONG)0x03)
 
#define SERIAL_DTR_CONTROL   ((ULONG)0x01)
 
#define SERIAL_DTR_HANDSHAKE   ((ULONG)0x02)
 
#define SERIAL_CTS_HANDSHAKE   ((ULONG)0x08)
 
#define SERIAL_DSR_HANDSHAKE   ((ULONG)0x10)
 
#define SERIAL_DCD_HANDSHAKE   ((ULONG)0x20)
 
#define SERIAL_OUT_HANDSHAKEMASK   ((ULONG)0x38)
 
#define SERIAL_DSR_SENSITIVITY   ((ULONG)0x40)
 
#define SERIAL_ERROR_ABORT   ((ULONG)0x80000000)
 
#define SERIAL_CONTROL_INVALID   ((ULONG)0x7fffff84)
 
#define SERIAL_AUTO_TRANSMIT   ((ULONG)0x01)
 
#define SERIAL_AUTO_RECEIVE   ((ULONG)0x02)
 
#define SERIAL_ERROR_CHAR   ((ULONG)0x04)
 
#define SERIAL_NULL_STRIPPING   ((ULONG)0x08)
 
#define SERIAL_BREAK_CHAR   ((ULONG)0x10)
 
#define SERIAL_RTS_MASK   ((ULONG)0xc0)
 
#define SERIAL_RTS_CONTROL   ((ULONG)0x40)
 
#define SERIAL_RTS_HANDSHAKE   ((ULONG)0x80)
 
#define SERIAL_TRANSMIT_TOGGLE   ((ULONG)0xc0)
 
#define SERIAL_XOFF_CONTINUE   ((ULONG)0x80000000)
 
#define SERIAL_FLOW_INVALID   ((ULONG)0x7fffff20)
 
#define SERIAL_SP_SERIALCOMM   ((ULONG)0x00000001)
 
#define SERIAL_SP_UNSPECIFIED   ((ULONG)0x00000000)
 
#define SERIAL_SP_RS232   ((ULONG)0x00000001)
 
#define SERIAL_SP_PARALLEL   ((ULONG)0x00000002)
 
#define SERIAL_SP_RS422   ((ULONG)0x00000003)
 
#define SERIAL_SP_RS423   ((ULONG)0x00000004)
 
#define SERIAL_SP_RS449   ((ULONG)0x00000005)
 
#define SERIAL_SP_MODEM   ((ULONG)0x00000006)
 
#define SERIAL_SP_FAX   ((ULONG)0x00000021)
 
#define SERIAL_SP_SCANNER   ((ULONG)0x00000022)
 
#define SERIAL_SP_BRIDGE   ((ULONG)0x00000100)
 
#define SERIAL_SP_LAT   ((ULONG)0x00000101)
 
#define SERIAL_SP_TELNET   ((ULONG)0x00000102)
 
#define SERIAL_SP_X25   ((ULONG)0x00000103)
 
#define SERIAL_MSR_DCTS   0x01
 
#define SERIAL_MSR_DDSR   0x02
 
#define SERIAL_MSR_TERI   0x04
 
#define SERIAL_MSR_DDCD   0x08
 
#define SERIAL_MSR_CTS   0x10
 
#define SERIAL_MSR_DSR   0x20
 
#define SERIAL_MSR_RI   0x40
 
#define SERIAL_MSR_DCD   0x80
 
#define SERIAL_PURGE_TXABORT   0x00000001
 
#define SERIAL_PURGE_RXABORT   0x00000002
 
#define SERIAL_PURGE_TXCLEAR   0x00000004
 
#define SERIAL_PURGE_RXCLEAR   0x00000008
 
#define SERIAL_TX_WAITING_FOR_CTS   ((ULONG)0x00000001)
 
#define SERIAL_TX_WAITING_FOR_DSR   ((ULONG)0x00000002)
 
#define SERIAL_TX_WAITING_FOR_DCD   ((ULONG)0x00000004)
 
#define SERIAL_TX_WAITING_FOR_XON   ((ULONG)0x00000008)
 
#define SERIAL_TX_WAITING_XOFF_SENT   ((ULONG)0x00000010)
 
#define SERIAL_TX_WAITING_ON_BREAK   ((ULONG)0x00000020)
 
#define SERIAL_RX_WAITING_FOR_DSR   ((ULONG)0x00000040)
 
#define SERIAL_ERROR_BREAK   ((ULONG)0x00000001)
 
#define SERIAL_ERROR_FRAMING   ((ULONG)0x00000002)
 
#define SERIAL_ERROR_OVERRUN   ((ULONG)0x00000004)
 
#define SERIAL_ERROR_QUEUEOVERRUN   ((ULONG)0x00000008)
 
#define SERIAL_ERROR_PARITY   ((ULONG)0x00000010)
 
#define SERIAL_DTR_STATE   ((ULONG)0x00000001)
 
#define SERIAL_RTS_STATE   ((ULONG)0x00000002)
 
#define SERIAL_CTS_STATE   ((ULONG)0x00000010)
 
#define SERIAL_DSR_STATE   ((ULONG)0x00000020)
 
#define SERIAL_RI_STATE   ((ULONG)0x00000040)
 
#define SERIAL_DCD_STATE   ((ULONG)0x00000080)
 

Typedefs

typedef struct SERIAL_BAUD_RATEPSERIAL_BAUD_RATE
 
typedef struct SERIAL_CHARSPSERIAL_CHARS
 
typedef struct SERIAL_LINE_CONTROLPSERIAL_LINE_CONTROL
 
typedef struct SERIAL_HANDFLOWPSERIAL_HANDFLOW
 
typedef struct SERIAL_TIMEOUTSPSERIAL_TIMEOUTS
 
typedef struct SERIAL_QUEUE_SIZEPSERIAL_QUEUE_SIZE
 
typedef struct SERIAL_STATUSPSERIAL_STATUS
 

Functions

int _comm_ioctl_tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
 

Macro Definition Documentation

◆ EVEN_PARITY

#define EVEN_PARITY   2

◆ MARK_PARITY

#define MARK_PARITY   3

◆ NO_PARITY

#define NO_PARITY   0

◆ ODD_PARITY

#define ODD_PARITY   1

◆ SERIAL_AUTO_RECEIVE

#define SERIAL_AUTO_RECEIVE   ((ULONG)0x02)

◆ SERIAL_AUTO_TRANSMIT

#define SERIAL_AUTO_TRANSMIT   ((ULONG)0x01)

◆ SERIAL_BREAK_CHAR

#define SERIAL_BREAK_CHAR   ((ULONG)0x10)

◆ SERIAL_CONTROL_INVALID

#define SERIAL_CONTROL_INVALID   ((ULONG)0x7fffff84)

◆ SERIAL_CTS_HANDSHAKE

#define SERIAL_CTS_HANDSHAKE   ((ULONG)0x08)

◆ SERIAL_CTS_STATE

#define SERIAL_CTS_STATE   ((ULONG)0x00000010)

◆ SERIAL_DCD_HANDSHAKE

#define SERIAL_DCD_HANDSHAKE   ((ULONG)0x20)

◆ SERIAL_DCD_STATE

#define SERIAL_DCD_STATE   ((ULONG)0x00000080)

◆ SERIAL_DSR_HANDSHAKE

#define SERIAL_DSR_HANDSHAKE   ((ULONG)0x10)

◆ SERIAL_DSR_SENSITIVITY

#define SERIAL_DSR_SENSITIVITY   ((ULONG)0x40)

◆ SERIAL_DSR_STATE

#define SERIAL_DSR_STATE   ((ULONG)0x00000020)

◆ SERIAL_DTR_CONTROL

#define SERIAL_DTR_CONTROL   ((ULONG)0x01)

◆ SERIAL_DTR_HANDSHAKE

#define SERIAL_DTR_HANDSHAKE   ((ULONG)0x02)

◆ SERIAL_DTR_MASK

#define SERIAL_DTR_MASK   ((ULONG)0x03)

◆ SERIAL_DTR_STATE

#define SERIAL_DTR_STATE   ((ULONG)0x00000001)

◆ SERIAL_ERROR_ABORT

#define SERIAL_ERROR_ABORT   ((ULONG)0x80000000)

◆ SERIAL_ERROR_BREAK

#define SERIAL_ERROR_BREAK   ((ULONG)0x00000001)

◆ SERIAL_ERROR_CHAR

#define SERIAL_ERROR_CHAR   ((ULONG)0x04)

◆ SERIAL_ERROR_FRAMING

#define SERIAL_ERROR_FRAMING   ((ULONG)0x00000002)

◆ SERIAL_ERROR_OVERRUN

#define SERIAL_ERROR_OVERRUN   ((ULONG)0x00000004)

◆ SERIAL_ERROR_PARITY

#define SERIAL_ERROR_PARITY   ((ULONG)0x00000010)

◆ SERIAL_ERROR_QUEUEOVERRUN

#define SERIAL_ERROR_QUEUEOVERRUN   ((ULONG)0x00000008)

◆ SERIAL_FLOW_INVALID

#define SERIAL_FLOW_INVALID   ((ULONG)0x7fffff20)

◆ SERIAL_MSR_CTS

#define SERIAL_MSR_CTS   0x10

◆ SERIAL_MSR_DCD

#define SERIAL_MSR_DCD   0x80

◆ SERIAL_MSR_DCTS

#define SERIAL_MSR_DCTS   0x01

◆ SERIAL_MSR_DDCD

#define SERIAL_MSR_DDCD   0x08

◆ SERIAL_MSR_DDSR

#define SERIAL_MSR_DDSR   0x02

◆ SERIAL_MSR_DSR

#define SERIAL_MSR_DSR   0x20

◆ SERIAL_MSR_RI

#define SERIAL_MSR_RI   0x40

◆ SERIAL_MSR_TERI

#define SERIAL_MSR_TERI   0x04

◆ SERIAL_NULL_STRIPPING

#define SERIAL_NULL_STRIPPING   ((ULONG)0x08)

◆ SERIAL_OUT_HANDSHAKEMASK

#define SERIAL_OUT_HANDSHAKEMASK   ((ULONG)0x38)

◆ SERIAL_PURGE_RXABORT

#define SERIAL_PURGE_RXABORT   0x00000002

◆ SERIAL_PURGE_RXCLEAR

#define SERIAL_PURGE_RXCLEAR   0x00000008

◆ SERIAL_PURGE_TXABORT

#define SERIAL_PURGE_TXABORT   0x00000001

◆ SERIAL_PURGE_TXCLEAR

#define SERIAL_PURGE_TXCLEAR   0x00000004

◆ SERIAL_RI_STATE

#define SERIAL_RI_STATE   ((ULONG)0x00000040)

◆ SERIAL_RTS_CONTROL

#define SERIAL_RTS_CONTROL   ((ULONG)0x40)

◆ SERIAL_RTS_HANDSHAKE

#define SERIAL_RTS_HANDSHAKE   ((ULONG)0x80)

◆ SERIAL_RTS_MASK

#define SERIAL_RTS_MASK   ((ULONG)0xc0)

◆ SERIAL_RTS_STATE

#define SERIAL_RTS_STATE   ((ULONG)0x00000002)

◆ SERIAL_RX_WAITING_FOR_DSR

#define SERIAL_RX_WAITING_FOR_DSR   ((ULONG)0x00000040)

◆ SERIAL_SP_BRIDGE

#define SERIAL_SP_BRIDGE   ((ULONG)0x00000100)

◆ SERIAL_SP_FAX

#define SERIAL_SP_FAX   ((ULONG)0x00000021)

◆ SERIAL_SP_LAT

#define SERIAL_SP_LAT   ((ULONG)0x00000101)

◆ SERIAL_SP_MODEM

#define SERIAL_SP_MODEM   ((ULONG)0x00000006)

◆ SERIAL_SP_PARALLEL

#define SERIAL_SP_PARALLEL   ((ULONG)0x00000002)

◆ SERIAL_SP_RS232

#define SERIAL_SP_RS232   ((ULONG)0x00000001)

◆ SERIAL_SP_RS422

#define SERIAL_SP_RS422   ((ULONG)0x00000003)

◆ SERIAL_SP_RS423

#define SERIAL_SP_RS423   ((ULONG)0x00000004)

◆ SERIAL_SP_RS449

#define SERIAL_SP_RS449   ((ULONG)0x00000005)

◆ SERIAL_SP_SCANNER

#define SERIAL_SP_SCANNER   ((ULONG)0x00000022)

◆ SERIAL_SP_SERIALCOMM

#define SERIAL_SP_SERIALCOMM   ((ULONG)0x00000001)

◆ SERIAL_SP_TELNET

#define SERIAL_SP_TELNET   ((ULONG)0x00000102)

◆ SERIAL_SP_UNSPECIFIED

#define SERIAL_SP_UNSPECIFIED   ((ULONG)0x00000000)

◆ SERIAL_SP_X25

#define SERIAL_SP_X25   ((ULONG)0x00000103)

◆ SERIAL_TRANSMIT_TOGGLE

#define SERIAL_TRANSMIT_TOGGLE   ((ULONG)0xc0)

◆ SERIAL_TX_WAITING_FOR_CTS

#define SERIAL_TX_WAITING_FOR_CTS   ((ULONG)0x00000001)

◆ SERIAL_TX_WAITING_FOR_DCD

#define SERIAL_TX_WAITING_FOR_DCD   ((ULONG)0x00000004)

◆ SERIAL_TX_WAITING_FOR_DSR

#define SERIAL_TX_WAITING_FOR_DSR   ((ULONG)0x00000002)

◆ SERIAL_TX_WAITING_FOR_XON

#define SERIAL_TX_WAITING_FOR_XON   ((ULONG)0x00000008)

◆ SERIAL_TX_WAITING_ON_BREAK

#define SERIAL_TX_WAITING_ON_BREAK   ((ULONG)0x00000020)

◆ SERIAL_TX_WAITING_XOFF_SENT

#define SERIAL_TX_WAITING_XOFF_SENT   ((ULONG)0x00000010)

◆ SERIAL_XOFF_CONTINUE

#define SERIAL_XOFF_CONTINUE   ((ULONG)0x80000000)

◆ SPACE_PARITY

#define SPACE_PARITY   4

◆ STOP_BIT_1

#define STOP_BIT_1   0

WinPR: Windows Portable Runtime Serial Communication API

Copyright 2011 O.S. Systems Software Ltda. Copyright 2011 Eduardo Fiss Beloni belon.nosp@m.i@os.nosp@m.syste.nosp@m.ms.c.nosp@m.om.br Copyright 2014 Hewlett-Packard Development Company, L.P.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ STOP_BITS_1_5

#define STOP_BITS_1_5   1

◆ STOP_BITS_2

#define STOP_BITS_2   2

Typedef Documentation

◆ PSERIAL_BAUD_RATE

◆ PSERIAL_CHARS

typedef struct SERIAL_CHARS * PSERIAL_CHARS

◆ PSERIAL_HANDFLOW

◆ PSERIAL_LINE_CONTROL

◆ PSERIAL_QUEUE_SIZE

◆ PSERIAL_STATUS

typedef struct SERIAL_STATUS * PSERIAL_STATUS

◆ PSERIAL_TIMEOUTS

Function Documentation

◆ _comm_ioctl_tcsetattr()

int _comm_ioctl_tcsetattr ( int  fd,
int  optional_actions,
const struct termios *  termios_p 
)
Here is the call graph for this function:
Here is the caller graph for this function: