rs_232 2.3.2.pre → 3.0.0.pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.txt +2 -2
- data/Rakefile +29 -7
- data/ext/rs_232/Constants.c +50 -0
- data/ext/rs_232/Constants.h +97 -0
- data/ext/rs_232/{initializer.c → Rs232.cpp} +111 -144
- data/ext/rs_232/{initializer.h → Rs232.h} +45 -36
- data/ext/rs_232/Structs.h +63 -0
- data/ext/rs_232/extconf.rb +10 -6
- data/ext/rs_232/posix/{port.c → Port.c} +94 -150
- data/ext/rs_232/posix/{port.h → Port.h} +39 -30
- data/ext/rs_232/windows/{port.c → Port.c} +99 -102
- data/ext/rs_232/windows/{port.h → Port.h} +39 -30
- data/lib/rs_232/version.rb +1 -1
- data/lib/rs_232.rb +94 -2
- data/rs_232.gemspec +12 -3
- metadata +52 -38
- data/ext/rs_232/constants.c +0 -49
- data/ext/rs_232/constants.h +0 -95
- data/ext/rs_232/structs.h +0 -62
data/rs_232.gemspec
CHANGED
@@ -8,25 +8,32 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Rs232::VERSION
|
9
9
|
spec.authors = ['Roman Lishtaba']
|
10
10
|
spec.email = ['roman@lishtaba.com']
|
11
|
+
|
11
12
|
spec.description = 'RS-232 cross-platform implementation as Ruby C native extension.'
|
12
13
|
spec.summary = <<-SUMMARY
|
13
14
|
RS-232 cross-platform implementation as Ruby C native extension.
|
14
15
|
Rubygem offering simple API in order to start using Serial Port communication in your project running on Linux, Mac OS X and Windows.
|
15
16
|
SUMMARY
|
17
|
+
|
16
18
|
spec.homepage = 'http://www.lishtaba.com'
|
17
19
|
spec.license = 'MIT'
|
20
|
+
|
18
21
|
spec.files = [
|
19
22
|
Dir.glob('ext/**/*'),
|
20
23
|
Dir.glob('lib/**/*.rb'),
|
21
|
-
'Rakefile',
|
24
|
+
'Rakefile',
|
25
|
+
'rs_232.gemspec',
|
22
26
|
'Gemfile',
|
23
27
|
'LICENSE.txt'
|
24
28
|
].flatten
|
29
|
+
|
25
30
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
26
31
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
27
32
|
spec.require_paths = ['lib']
|
28
|
-
|
29
|
-
spec.
|
33
|
+
|
34
|
+
spec.extensions = 'ext/rs_232/extconf.rb'
|
35
|
+
|
36
|
+
spec.add_development_dependency 'bundler'
|
30
37
|
spec.add_development_dependency 'rake', '~> 10.0'
|
31
38
|
spec.add_development_dependency 'rubocop', '~> 0'
|
32
39
|
spec.add_development_dependency 'simplecov', '~> 0.9'
|
@@ -35,6 +42,8 @@ Rubygem offering simple API in order to start using Serial Port communication in
|
|
35
42
|
spec.add_development_dependency 'rspec_junit_formatter', '~> 0'
|
36
43
|
spec.add_development_dependency 'yard', '~> 0.8'
|
37
44
|
spec.add_development_dependency 'rake-compiler', '~> 0'
|
45
|
+
spec.add_development_dependency 'pry'
|
46
|
+
|
38
47
|
spec.post_install_message = <<-MSG
|
39
48
|
(::) You've installed binary version of the Rs-232 gem! (::)
|
40
49
|
MSG
|
metadata
CHANGED
@@ -1,139 +1,153 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rs_232
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Lishtaba
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubocop
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: simplecov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.9'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.9'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '3.1'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '3.1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: cucumber
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '1.3'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec_junit_formatter
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: yard
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0.8'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0.8'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rake-compiler
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - ~>
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - ~>
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pry
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
description: RS-232 cross-platform implementation as Ruby C native extension.
|
@@ -144,22 +158,22 @@ extensions:
|
|
144
158
|
- ext/rs_232/extconf.rb
|
145
159
|
extra_rdoc_files: []
|
146
160
|
files:
|
147
|
-
-
|
148
|
-
-
|
161
|
+
- Gemfile
|
162
|
+
- LICENSE.txt
|
163
|
+
- Rakefile
|
164
|
+
- ext/rs_232/Constants.c
|
165
|
+
- ext/rs_232/Constants.h
|
166
|
+
- ext/rs_232/Rs232.cpp
|
167
|
+
- ext/rs_232/Rs232.h
|
168
|
+
- ext/rs_232/Structs.h
|
149
169
|
- ext/rs_232/extconf.rb
|
150
|
-
- ext/rs_232/
|
151
|
-
- ext/rs_232/
|
152
|
-
- ext/rs_232/
|
153
|
-
- ext/rs_232/
|
154
|
-
- ext/rs_232/structs.h
|
155
|
-
- ext/rs_232/windows/port.c
|
156
|
-
- ext/rs_232/windows/port.h
|
157
|
-
- lib/rs_232/version.rb
|
170
|
+
- ext/rs_232/posix/Port.c
|
171
|
+
- ext/rs_232/posix/Port.h
|
172
|
+
- ext/rs_232/windows/Port.c
|
173
|
+
- ext/rs_232/windows/Port.h
|
158
174
|
- lib/rs_232.rb
|
159
|
-
-
|
175
|
+
- lib/rs_232/version.rb
|
160
176
|
- rs_232.gemspec
|
161
|
-
- Gemfile
|
162
|
-
- LICENSE.txt
|
163
177
|
homepage: http://www.lishtaba.com
|
164
178
|
licenses:
|
165
179
|
- MIT
|
@@ -171,17 +185,17 @@ require_paths:
|
|
171
185
|
- lib
|
172
186
|
required_ruby_version: !ruby/object:Gem::Requirement
|
173
187
|
requirements:
|
174
|
-
- -
|
188
|
+
- - ">="
|
175
189
|
- !ruby/object:Gem::Version
|
176
190
|
version: '0'
|
177
191
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
192
|
requirements:
|
179
|
-
- -
|
193
|
+
- - ">"
|
180
194
|
- !ruby/object:Gem::Version
|
181
195
|
version: 1.3.1
|
182
196
|
requirements: []
|
183
197
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.
|
198
|
+
rubygems_version: 2.2.2
|
185
199
|
signing_key:
|
186
200
|
specification_version: 4
|
187
201
|
summary: RS-232 cross-platform implementation as Ruby C native extension. Rubygem
|
data/ext/rs_232/constants.c
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (c) 2013, Ingenico Inc.
|
3
|
-
*
|
4
|
-
* Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
|
5
|
-
* provided that the above copyright notice and this permission notice appear in all copies.
|
6
|
-
*
|
7
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
8
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
9
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
|
10
|
-
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
11
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
12
|
-
*
|
13
|
-
**/
|
14
|
-
|
15
|
-
|
16
|
-
#include "constants.h"
|
17
|
-
|
18
|
-
void Constants_Init(VALUE root)
|
19
|
-
{
|
20
|
-
rb_define_const(root, "BAUD_110", INT2FIX(BAUD110));
|
21
|
-
rb_define_const(root, "BAUD_300", INT2FIX(BAUD300));
|
22
|
-
rb_define_const(root, "BAUD_600", INT2FIX(BAUD600));
|
23
|
-
rb_define_const(root, "BAUD_1200", INT2FIX(BAUD1200));
|
24
|
-
rb_define_const(root, "BAUD_2400", INT2FIX(BAUD2400));
|
25
|
-
rb_define_const(root, "BAUD_4800", INT2FIX(BAUD4800));
|
26
|
-
rb_define_const(root, "BAUD_9600", INT2FIX(BAUD9600));
|
27
|
-
rb_define_const(root, "BAUD_19200", INT2FIX(BAUD19200));
|
28
|
-
rb_define_const(root, "BAUD_38400", INT2FIX(BAUD38400));
|
29
|
-
rb_define_const(root, "BAUD_57600", INT2FIX(BAUD57600));
|
30
|
-
rb_define_const(root, "BAUD_115200", INT2FIX(BAUD115200));
|
31
|
-
|
32
|
-
rb_define_const(root, "DATA_BITS_5", INT2FIX(DATA_5));
|
33
|
-
rb_define_const(root, "DATA_BITS_6", INT2FIX(DATA_6));
|
34
|
-
rb_define_const(root, "DATA_BITS_7", INT2FIX(DATA_7));
|
35
|
-
rb_define_const(root, "DATA_BITS_8", INT2FIX(DATA_8));
|
36
|
-
|
37
|
-
rb_define_const(root, "PAR_NONE", INT2FIX(PAR_NONE));
|
38
|
-
rb_define_const(root, "PAR_ODD", INT2FIX(PAR_ODD));
|
39
|
-
rb_define_const(root, "PAR_EVEN", INT2FIX(PAR_EVEN));
|
40
|
-
|
41
|
-
rb_define_const(root, "STOP_BITS_1", INT2FIX(STOP_1));
|
42
|
-
rb_define_const(root, "STOP_BITS_3", INT2FIX(STOP_2));
|
43
|
-
|
44
|
-
|
45
|
-
rb_define_const(root, "FLOW_OFF", INT2FIX(FLOW_OFF));
|
46
|
-
rb_define_const(root, "FLOW_HARDWARE", INT2FIX(FLOW_HARDWARE));
|
47
|
-
rb_define_const(root, "FLOW_XONXOFF", INT2FIX(FLOW_XONXOFF));
|
48
|
-
|
49
|
-
}
|
data/ext/rs_232/constants.h
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (c) 2013, Ingenico Inc.
|
3
|
-
*
|
4
|
-
* Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
|
5
|
-
* provided that the above copyright notice and this permission notice appear in all copies.
|
6
|
-
*
|
7
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
8
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
9
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
|
10
|
-
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
11
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
12
|
-
*
|
13
|
-
**/
|
14
|
-
|
15
|
-
#ifndef constants____FILEEXTENSION___
|
16
|
-
#define constants____FILEEXTENSION___
|
17
|
-
|
18
|
-
#include <ruby.h>
|
19
|
-
|
20
|
-
|
21
|
-
#define LS_CTS 0x01
|
22
|
-
#define LS_DSR 0x02
|
23
|
-
#define LS_DCD 0x04
|
24
|
-
#define LS_RI 0x08
|
25
|
-
#define LS_RTS 0x10
|
26
|
-
#define LS_DTR 0x20
|
27
|
-
#define LS_ST 0x40
|
28
|
-
#define LS_SR 0x80
|
29
|
-
|
30
|
-
|
31
|
-
enum BaudRateType
|
32
|
-
{
|
33
|
-
BAUD110 = 110,
|
34
|
-
BAUD300 = 300,
|
35
|
-
BAUD600 = 600,
|
36
|
-
BAUD1200 = 1200,
|
37
|
-
BAUD2400 = 2400,
|
38
|
-
BAUD4800 = 4800,
|
39
|
-
BAUD9600 = 9600,
|
40
|
-
BAUD19200 = 19200,
|
41
|
-
BAUD38400 = 38400,
|
42
|
-
BAUD57600 = 57600,
|
43
|
-
BAUD115200 = 115200
|
44
|
-
|
45
|
-
};
|
46
|
-
|
47
|
-
|
48
|
-
enum DataBitsType
|
49
|
-
{
|
50
|
-
DATA_5 = 5,
|
51
|
-
DATA_6,
|
52
|
-
DATA_7,
|
53
|
-
DATA_8
|
54
|
-
};
|
55
|
-
|
56
|
-
|
57
|
-
enum ParityType
|
58
|
-
{
|
59
|
-
PAR_NONE,
|
60
|
-
PAR_ODD,
|
61
|
-
PAR_EVEN,
|
62
|
-
};
|
63
|
-
|
64
|
-
|
65
|
-
enum StopBitsType
|
66
|
-
{
|
67
|
-
STOP_1 = 1,
|
68
|
-
STOP_2
|
69
|
-
};
|
70
|
-
|
71
|
-
|
72
|
-
enum FlowType
|
73
|
-
{
|
74
|
-
FLOW_OFF,
|
75
|
-
FLOW_HARDWARE,
|
76
|
-
FLOW_XONXOFF
|
77
|
-
};
|
78
|
-
|
79
|
-
|
80
|
-
enum SettingsFlags
|
81
|
-
{
|
82
|
-
T_BaudRate = 0x0001,
|
83
|
-
T_Parity = 0x0002,
|
84
|
-
T_StopBits = 0x0004,
|
85
|
-
T_DataBits = 0x0008,
|
86
|
-
T_Flow = 0x0010,
|
87
|
-
T_TimeOut = 0x0100,
|
88
|
-
T_ALL = 0x0fff,
|
89
|
-
T_SettingsDone = 0x00ff,
|
90
|
-
};
|
91
|
-
|
92
|
-
|
93
|
-
void Constants_Init(VALUE);
|
94
|
-
|
95
|
-
#endif
|
data/ext/rs_232/structs.h
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (c) 2013, Ingenico Inc.
|
3
|
-
*
|
4
|
-
* Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
|
5
|
-
* provided that the above copyright notice and this permission notice appear in all copies.
|
6
|
-
*
|
7
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
8
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
9
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
|
10
|
-
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
11
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
12
|
-
*
|
13
|
-
**/
|
14
|
-
|
15
|
-
#ifndef rs_232_structs_h
|
16
|
-
#define rs_232_structs_h
|
17
|
-
|
18
|
-
#include "constants.h"
|
19
|
-
|
20
|
-
/*
|
21
|
-
* structure to contain port settings
|
22
|
-
*/
|
23
|
-
|
24
|
-
typedef struct PortSettings_T
|
25
|
-
{
|
26
|
-
char ComPort[40];
|
27
|
-
enum BaudRateType BaudRate;
|
28
|
-
enum DataBitsType DataBits;
|
29
|
-
enum ParityType Parity;
|
30
|
-
enum StopBitsType StopBits;
|
31
|
-
enum FlowType FlowControl;
|
32
|
-
long Timeout_Millisec;
|
33
|
-
} PortSettings;
|
34
|
-
|
35
|
-
|
36
|
-
/*
|
37
|
-
* port descriptor structure
|
38
|
-
*/
|
39
|
-
|
40
|
-
typedef struct portDescriptor_T
|
41
|
-
{
|
42
|
-
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
|
43
|
-
|
44
|
-
HANDLE fd;
|
45
|
-
COMMCONFIG commConfig;
|
46
|
-
COMMTIMEOUTS commTimeouts;
|
47
|
-
|
48
|
-
#else
|
49
|
-
|
50
|
-
int fd;
|
51
|
-
struct termios posixConfig;
|
52
|
-
struct termios previousPosixConfig;
|
53
|
-
|
54
|
-
#endif
|
55
|
-
|
56
|
-
int status;
|
57
|
-
PortSettings settings;
|
58
|
-
int toBeUpdated;
|
59
|
-
|
60
|
-
} PortDescriptor;
|
61
|
-
|
62
|
-
#endif
|