Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions serial/open_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,19 @@ type tcflag_t uint64

// sys/termios.h
const (
kCS5 = 0x00000000
kCS6 = 0x00000100
kCS7 = 0x00000200
kCS8 = 0x00000300
kCLOCAL = 0x00008000
kCREAD = 0x00000800
kCSTOPB = 0x00000400
kIGNPAR = 0x00000004
kPARENB = 0x00001000
kPARODD = 0x00002000
kCS5 = 0x00000000
kCS6 = 0x00000100
kCS7 = 0x00000200
kCS8 = 0x00000300
kCLOCAL = 0x00008000
kCREAD = 0x00000800
kCSTOPB = 0x00000400
kIGNPAR = 0x00000004
kPARENB = 0x00001000
kPARODD = 0x00002000
kCCTS_OFLOW = 0x00010000
kCRTS_IFLOW = 0x00020000
kCRTSCTS = kCCTS_OFLOW | kCRTS_IFLOW

kNCCS = 20

Expand Down Expand Up @@ -188,6 +191,10 @@ func convertOptions(options OpenOptions) (*termios, error) {
return nil, errors.New("Invalid setting for ParityMode.")
}

if options.HardwareFlowControl {
result.c_cflag |= kCRTSCTS
}

return &result, nil
}

Expand Down