ruby-termios 0.9.6 → 1.0.1
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 +7 -0
- data/.cvsignore +2 -0
- data/.gitignore +99 -0
- data/Gemfile +4 -0
- data/README.md +46 -0
- data/Rakefile +13 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/{extconf.rb → ext/extconf.rb} +4 -0
- data/{termios.c → ext/termios.c} +1 -1
- data/lib/termios/version.rb +3 -0
- data/ruby-termios.gemspec +30 -0
- data/termios.rd +158 -0
- metadata +92 -64
- data/ChangeLog +0 -146
- data/README +0 -80
- data/test/test0.rb +0 -29
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7989540ec17a8b084f9ce330170ca5af65bec771
|
4
|
+
data.tar.gz: e3d8d0e57f3c759fda3ca21fbaa902a7ae191466
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 179a3a17337203fa718f4655835670fff214645099441c7d54e1ec89e8cb521f2b5221e358abbcf1afc0ef0d4ad4bceb0659e1c0bab9149fac1119fd0f58a087
|
7
|
+
data.tar.gz: cee0c2554b0ecd40191ee3d117b2234a2da49956a4b449f81c9d2c824a20a7a1128787200ba0317c912f14324b84b963b2048f7c8dd8fe0fa9e82f0d09906ca9
|
data/.cvsignore
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
# Created by https://www.gitignore.io/api/ruby,osx,vim
|
2
|
+
|
3
|
+
### Ruby ###
|
4
|
+
*.gem
|
5
|
+
*.rbc
|
6
|
+
*.so
|
7
|
+
*.o
|
8
|
+
*.bundle
|
9
|
+
/.config
|
10
|
+
/coverage/
|
11
|
+
/InstalledFiles
|
12
|
+
/pkg/
|
13
|
+
/spec/reports/
|
14
|
+
/spec/examples.txt
|
15
|
+
/test/tmp/
|
16
|
+
/test/version_tmp/
|
17
|
+
/tmp/
|
18
|
+
/Makefile
|
19
|
+
/mkmf.log
|
20
|
+
|
21
|
+
# Used by dotenv library to load environment variables.
|
22
|
+
# .env
|
23
|
+
|
24
|
+
## Specific to RubyMotion:
|
25
|
+
.dat*
|
26
|
+
.repl_history
|
27
|
+
build/
|
28
|
+
*.bridgesupport
|
29
|
+
build-iPhoneOS/
|
30
|
+
build-iPhoneSimulator/
|
31
|
+
|
32
|
+
## Specific to RubyMotion (use of CocoaPods):
|
33
|
+
#
|
34
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
35
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
36
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
37
|
+
#
|
38
|
+
# vendor/Pods/
|
39
|
+
|
40
|
+
## Documentation cache and generated files:
|
41
|
+
/.yardoc/
|
42
|
+
/_yardoc/
|
43
|
+
/doc/
|
44
|
+
/rdoc/
|
45
|
+
|
46
|
+
## Environment normalization:
|
47
|
+
/.bundle/
|
48
|
+
/vendor/bundle
|
49
|
+
/lib/bundler/man/
|
50
|
+
|
51
|
+
# for a library or gem, you might want to ignore these files since the code is
|
52
|
+
# intended to run in multiple environments; otherwise, check them in:
|
53
|
+
Gemfile.lock
|
54
|
+
.ruby-version
|
55
|
+
.ruby-gemset
|
56
|
+
|
57
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
58
|
+
.rvmrc
|
59
|
+
|
60
|
+
|
61
|
+
### OSX ###
|
62
|
+
*.DS_Store
|
63
|
+
.AppleDouble
|
64
|
+
.LSOverride
|
65
|
+
|
66
|
+
# Icon must end with two \r
|
67
|
+
Icon
|
68
|
+
|
69
|
+
# Thumbnails
|
70
|
+
._*
|
71
|
+
|
72
|
+
# Files that might appear in the root of a volume
|
73
|
+
.DocumentRevisions-V100
|
74
|
+
.fseventsd
|
75
|
+
.Spotlight-V100
|
76
|
+
.TemporaryItems
|
77
|
+
.Trashes
|
78
|
+
.VolumeIcon.icns
|
79
|
+
.com.apple.timemachine.donotpresent
|
80
|
+
|
81
|
+
# Directories potentially created on remote AFP share
|
82
|
+
.AppleDB
|
83
|
+
.AppleDesktop
|
84
|
+
Network Trash Folder
|
85
|
+
Temporary Items
|
86
|
+
.apdisk
|
87
|
+
|
88
|
+
|
89
|
+
### Vim ###
|
90
|
+
# swap
|
91
|
+
[._]*.s[a-w][a-z]
|
92
|
+
[._]s[a-w][a-z]
|
93
|
+
# session
|
94
|
+
Session.vim
|
95
|
+
# temporary
|
96
|
+
.netrwhist
|
97
|
+
*~
|
98
|
+
# auto-generated tag files
|
99
|
+
tags
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Ruby-Termios
|
2
|
+
|
3
|
+
This extension library provides Termios module. It enables you to use
|
4
|
+
termios(3) interface.
|
5
|
+
|
6
|
+
Termios module is simple wrapper of termios(3). It can be included into
|
7
|
+
IO-family classes and can extend IO-family objects. In addition, the
|
8
|
+
methods can use as module function.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
### Gem
|
13
|
+
|
14
|
+
Add this line to your application's Gemfile:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem 'ruby-termios', require: 'termios'
|
18
|
+
```
|
19
|
+
|
20
|
+
And then execute:
|
21
|
+
|
22
|
+
$ bundle
|
23
|
+
|
24
|
+
Or install it yourself as:
|
25
|
+
|
26
|
+
$ gem install ruby-termios
|
27
|
+
|
28
|
+
### Make
|
29
|
+
|
30
|
+
$ ruby ext/extconf.rb
|
31
|
+
$ make install
|
32
|
+
|
33
|
+
## Development
|
34
|
+
|
35
|
+
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
36
|
+
|
37
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
38
|
+
|
39
|
+
## Contributing
|
40
|
+
|
41
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/arika/ruby-termios.
|
42
|
+
|
43
|
+
|
44
|
+
## License
|
45
|
+
|
46
|
+
The gem is available as open source under the terms of the [Ruby's Licens](https://www.ruby-lang.org/en/about/license.txt).
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
|
4
|
+
require 'rake/extensiontask'
|
5
|
+
|
6
|
+
task build: :compile
|
7
|
+
|
8
|
+
Rake::ExtensionTask.new('termios') do |ext|
|
9
|
+
ext.ext_dir = 'ext'
|
10
|
+
ext.lib_dir = 'lib'
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: [:clobber, :compile]
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'termios'
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require 'pry'
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require 'irb'
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
data/{termios.c → ext/termios.c}
RENAMED
@@ -834,7 +834,7 @@ Init_termios()
|
|
834
834
|
line_disciplines = rb_hash_new();
|
835
835
|
line_disciplines_names = rb_ary_new();
|
836
836
|
rb_define_const(mTermios, "LINE_DISCIPLINES", line_disciplines);
|
837
|
-
rb_define_const(mTermios, "LINE_DISCIPLINE_NAMES",
|
837
|
+
rb_define_const(mTermios, "LINE_DISCIPLINE_NAMES", line_disciplines_names);
|
838
838
|
|
839
839
|
#define define_flag(hash, flag) \
|
840
840
|
{ \
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'termios/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'ruby-termios'
|
8
|
+
spec.version = Termios::VERSION
|
9
|
+
spec.authors = ['akira yamada']
|
10
|
+
spec.email = ['akira@arika.org']
|
11
|
+
|
12
|
+
spec.summary = 'a simple wrapper of termios(3)'
|
13
|
+
spec.description = <<-E
|
14
|
+
Termios module is simple wrapper of termios(3).
|
15
|
+
It can be included into IO-family classes and can extend IO-family objects.
|
16
|
+
In addition, the methods can use as module function.
|
17
|
+
E
|
18
|
+
spec.homepage = 'https://github.com/arika/ruby-termios'
|
19
|
+
spec.license = "Ruby's"
|
20
|
+
|
21
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
|
+
spec.bindir = 'exe'
|
23
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
|
+
spec.require_paths = ['lib']
|
25
|
+
spec.extensions = ['ext/extconf.rb']
|
26
|
+
|
27
|
+
spec.add_development_dependency 'bundler', '~> 1.12'
|
28
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
29
|
+
spec.add_development_dependency 'rake-compiler'
|
30
|
+
end
|
data/termios.rd
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
= ruby-termios
|
4
|
+
|
5
|
+
Ruby-termios enables you to use termios(3) interface.
|
6
|
+
|
7
|
+
|
8
|
+
== Termios module
|
9
|
+
|
10
|
+
Termios module are simple wrapper for termios(3). It can be included
|
11
|
+
into IO-family classes and can extend IO-family objects. In addition,
|
12
|
+
the methods can use as module function.
|
13
|
+
|
14
|
+
=== Module Functions
|
15
|
+
|
16
|
+
--- Termios.tcdrain(io)
|
17
|
+
--- Termios.drain(io)
|
18
|
+
It calls tcdrain(3) for ((|io|)).
|
19
|
+
|
20
|
+
--- Termios.tcflow(io, action)
|
21
|
+
--- Termios.flow(io, action)
|
22
|
+
It calls tcflow(3) for ((|io|)).
|
23
|
+
|
24
|
+
--- Termios.tcflush(io, queue_selector)
|
25
|
+
--- Termios.flush(io, queue_selector)
|
26
|
+
It calls tcflush(3) for ((|io|)).
|
27
|
+
|
28
|
+
--- Termios.tcgetattr(io)
|
29
|
+
--- Termios.getattr(io)
|
30
|
+
It calls tcgetattr(3) for ((|io|)).
|
31
|
+
|
32
|
+
--- Termios.tcgetpgrp(io)
|
33
|
+
--- Termios.getpgrp(io)
|
34
|
+
It calls tcgetpgrp(3) for ((|io|)).
|
35
|
+
|
36
|
+
--- Termios.tcsendbreak(io, duration)
|
37
|
+
--- Termios.sendbreak(io, duration)
|
38
|
+
It calls tcsendbreak(3) for ((|io|)).
|
39
|
+
|
40
|
+
--- Termios.tcsetattr(io, flag, termios)
|
41
|
+
--- Termios.setattr(io, flag, termios)
|
42
|
+
It calls tcsetattr(3) for ((|io|)).
|
43
|
+
|
44
|
+
--- Termios.tcsetpgrp(io, pgrpid)
|
45
|
+
--- Termios.setpgrp(io, pgrpid)
|
46
|
+
It calls tcsetpgrp(3) for ((|io|)).
|
47
|
+
|
48
|
+
--- Termios.new_termios
|
49
|
+
It is alias of ((<Termios::Termios.new>)).
|
50
|
+
|
51
|
+
=== Methods
|
52
|
+
|
53
|
+
The methods can use for objects which include Termios module or are
|
54
|
+
extended by Termios module.
|
55
|
+
|
56
|
+
--- tcdrain
|
57
|
+
It calls tcdrain(3) for ((|self|)).
|
58
|
+
|
59
|
+
--- tcflow
|
60
|
+
It calls tcflow(3) for ((|self|)).
|
61
|
+
|
62
|
+
--- tcflush(queue_selector)
|
63
|
+
It calls tcflush(3) for ((|self|)).
|
64
|
+
|
65
|
+
--- tcgetattr
|
66
|
+
It calls tcgetattr(3) for ((|self|)).
|
67
|
+
|
68
|
+
--- tcgetpgrp
|
69
|
+
It calls tcgetpgrp(3) for ((|self|)).
|
70
|
+
|
71
|
+
--- tcsendbreak(duratiofn)
|
72
|
+
It calls tcsendbreak(3) for ((|self|)).
|
73
|
+
|
74
|
+
--- tcsetattr(flag, termios)
|
75
|
+
It calls tcsetattr(3) for ((|self|)).
|
76
|
+
|
77
|
+
--- tcsetpgrp(pgrpid)
|
78
|
+
It calls tcsetpgrp(3) for ((|self|)).
|
79
|
+
|
80
|
+
=== Constants
|
81
|
+
|
82
|
+
Many constants which are derived from "termios.h" are defined on Termios
|
83
|
+
module.
|
84
|
+
|
85
|
+
IFLAGS, OFLAGS, CFLAGS and LFLAGS are Hash object. They contains Symbols of
|
86
|
+
constants for c_iflag, c_oflag, c_cflag and c_lflag.
|
87
|
+
|
88
|
+
CCINDEX and BAUDS are Hash object too. They contains Symbols of constats for
|
89
|
+
c_cc or ispeed and ospeed.
|
90
|
+
|
91
|
+
== Termios::Termios class
|
92
|
+
|
93
|
+
A wrapper class for "struct termios" in C.
|
94
|
+
|
95
|
+
=== Class Methods
|
96
|
+
|
97
|
+
--- Termios::Termios.new
|
98
|
+
It creates a new Termios::Termios object.
|
99
|
+
|
100
|
+
=== Instance Methods
|
101
|
+
|
102
|
+
--- iflag
|
103
|
+
--- c_iflag
|
104
|
+
It returns value of c_iflag.
|
105
|
+
|
106
|
+
--- iflag=(flag)
|
107
|
+
--- c_iflag=(flag)
|
108
|
+
It sets flag to c_iflag.
|
109
|
+
|
110
|
+
--- oflag
|
111
|
+
--- c_oflag
|
112
|
+
It returns value of c_oflag.
|
113
|
+
|
114
|
+
--- oflag=(flag)
|
115
|
+
--- c_oflag=(flag)
|
116
|
+
It sets flag to c_oflag.
|
117
|
+
|
118
|
+
--- cflag
|
119
|
+
--- c_cflag
|
120
|
+
It returns value of c_cflag.
|
121
|
+
|
122
|
+
--- cflag=(flag)
|
123
|
+
--- c_cflag=(flag)
|
124
|
+
It sets flag to c_cflag.
|
125
|
+
|
126
|
+
--- lflag
|
127
|
+
--- c_lflag
|
128
|
+
It returns value of c_lflag.
|
129
|
+
|
130
|
+
--- lflag=(flag)
|
131
|
+
--- c_lflag=(flag)
|
132
|
+
It sets flag to c_lflag.
|
133
|
+
|
134
|
+
--- cc
|
135
|
+
--- c_cc
|
136
|
+
It returns values of c_cc.
|
137
|
+
|
138
|
+
--- cc=(cc_ary)
|
139
|
+
--- c_cc=(cc_ary)
|
140
|
+
It sets cc_ary to c_cc.
|
141
|
+
|
142
|
+
--- ispeed
|
143
|
+
--- c_ispeed
|
144
|
+
It returns c_ispeeed.
|
145
|
+
|
146
|
+
--- ispeed=(speed)
|
147
|
+
--- c_ispeed=(speed)
|
148
|
+
It sets speed to c_ispeed.
|
149
|
+
|
150
|
+
--- ospeed
|
151
|
+
--- c_ospeed
|
152
|
+
It returns c_ospeeed.
|
153
|
+
|
154
|
+
--- ospeed=(speed)
|
155
|
+
--- c_ospeed=(speed)
|
156
|
+
It sets speed to c_ospeed.
|
157
|
+
|
158
|
+
=end
|
metadata
CHANGED
@@ -1,81 +1,109 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-termios
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- akira yamada
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
date: 2016-06-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.12'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.12'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake-compiler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
16
55
|
description: |
|
17
|
-
Termios module is simple wrapper of termios(3).
|
18
|
-
IO-family classes and can extend IO-family objects.
|
19
|
-
can use as module function.
|
20
|
-
|
21
|
-
|
56
|
+
Termios module is simple wrapper of termios(3).
|
57
|
+
It can be included into IO-family classes and can extend IO-family objects.
|
58
|
+
In addition, the methods can use as module function.
|
59
|
+
email:
|
60
|
+
- akira@arika.org
|
22
61
|
executables: []
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
-
|
28
|
-
-
|
29
|
-
|
30
|
-
- README
|
31
|
-
-
|
32
|
-
-
|
33
|
-
-
|
34
|
-
- examples/secret_input1.rb
|
35
|
-
- examples/modem_check2.rb
|
62
|
+
extensions:
|
63
|
+
- ext/extconf.rb
|
64
|
+
extra_rdoc_files: []
|
65
|
+
files:
|
66
|
+
- ".cvsignore"
|
67
|
+
- ".gitignore"
|
68
|
+
- Gemfile
|
69
|
+
- README.md
|
70
|
+
- Rakefile
|
71
|
+
- bin/console
|
72
|
+
- bin/setup
|
36
73
|
- examples/modem_check0.rb
|
37
|
-
- examples/secret_input2.rb
|
38
74
|
- examples/modem_check1.rb
|
39
|
-
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
75
|
+
- examples/modem_check2.rb
|
76
|
+
- examples/secret_input1.rb
|
77
|
+
- examples/secret_input2.rb
|
78
|
+
- ext/extconf.rb
|
79
|
+
- ext/termios.c
|
80
|
+
- lib/termios.rb
|
81
|
+
- lib/termios/version.rb
|
82
|
+
- ruby-termios.gemspec
|
83
|
+
- termios.rd
|
84
|
+
homepage: https://github.com/arika/ruby-termios
|
85
|
+
licenses:
|
86
|
+
- Ruby's
|
87
|
+
metadata: {}
|
44
88
|
post_install_message:
|
45
|
-
rdoc_options:
|
46
|
-
|
47
|
-
- ruby-termios documentation
|
48
|
-
- --charset
|
49
|
-
- utf-8
|
50
|
-
- --opname
|
51
|
-
- index.html
|
52
|
-
- --line-numbers
|
53
|
-
- --main
|
54
|
-
- README
|
55
|
-
- --inline-source
|
56
|
-
- --exclude
|
57
|
-
- ^(examples|extras)/
|
58
|
-
require_paths:
|
89
|
+
rdoc_options: []
|
90
|
+
require_paths:
|
59
91
|
- lib
|
60
|
-
|
61
|
-
|
62
|
-
requirements:
|
92
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
63
94
|
- - ">="
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version:
|
66
|
-
|
67
|
-
|
68
|
-
requirements:
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
69
99
|
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version:
|
72
|
-
version:
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
73
102
|
requirements: []
|
74
|
-
|
75
|
-
|
76
|
-
rubygems_version: 1.3.5
|
103
|
+
rubyforge_project:
|
104
|
+
rubygems_version: 2.5.1
|
77
105
|
signing_key:
|
78
|
-
specification_version:
|
106
|
+
specification_version: 4
|
79
107
|
summary: a simple wrapper of termios(3)
|
80
108
|
test_files: []
|
81
|
-
|
109
|
+
has_rdoc:
|
data/ChangeLog
DELETED
@@ -1,146 +0,0 @@
|
|
1
|
-
2009-08-28 akira yamada <akira@arika.org>
|
2
|
-
|
3
|
-
* version 0.9.6.
|
4
|
-
|
5
|
-
2009-02-05 akira yamada <akira@arika.org>
|
6
|
-
|
7
|
-
* termios.c: added RDoc.
|
8
|
-
|
9
|
-
* README: converted to RDoc.
|
10
|
-
|
11
|
-
* ruby-termios.gemspec: added.
|
12
|
-
|
13
|
-
2008-10-23 akira yamada <akira@arika.org>
|
14
|
-
|
15
|
-
* termios.c: added IOCTL_COMMANDS, IOCTL_COMMAND_NAMES,
|
16
|
-
MODEM_SIGNALS, MODEM_SIGNAL_NAMES, PTY_PACKET_OPTIONS,
|
17
|
-
PTY_PACKET_OPTION_NAMES, LINE_DISCIPLINES and
|
18
|
-
LINE_DISCIPLINE_NAMES.
|
19
|
-
|
20
|
-
This change is contributed from Chris Hoffman
|
21
|
-
<chrishoffman_cardialife.com>.
|
22
|
-
|
23
|
-
* termios.c, extconf.rb: included <sys/ioctl.h>.
|
24
|
-
|
25
|
-
2008-06-03 akira yamada <akira@arika.org>
|
26
|
-
|
27
|
-
* extconf.rb, termios.c: adjusted rb_io_t/OpenFile checks for Ruby
|
28
|
-
1.8.7.
|
29
|
-
|
30
|
-
2007-05-30 akira yamada <akira@arika.org>
|
31
|
-
|
32
|
-
* extconf.rb: rb_io_t test isn't needed for Ruby 1.6.
|
33
|
-
|
34
|
-
* version 0.9.5.
|
35
|
-
|
36
|
-
2007-05-29 Tanaka Akira <akr@fsij.org>
|
37
|
-
|
38
|
-
* extconf.rb: check rb_io_t.
|
39
|
-
check fd member in OpenFile.
|
40
|
-
|
41
|
-
* termios.c: support Ruby 1.9.
|
42
|
-
use unsigned long for flags bigger than Fixnum such as CRTSCTS.
|
43
|
-
use rb_sys_fail instead of rb_raise(rb_eRuntimeError).
|
44
|
-
(Termios_to_termios): use rb_ary_entry to access cc_ary to avoid SEGV.
|
45
|
-
(termios_tcgetpgrp): use pid_t.
|
46
|
-
(termios_tcsetpgrp): ditto.
|
47
|
-
(Termios::Termios#dup): defined to duplicate cc.
|
48
|
-
(Termios::Termios#clone): ditto.
|
49
|
-
(Termios::POSIX_VDISABLE): defined.
|
50
|
-
(Termios::CCINDEX_NAMES): defined.
|
51
|
-
(Termios::IFLAG_NAMES): defined.
|
52
|
-
(Termios::OFLAG_NAMES): defined.
|
53
|
-
(Termios::OFLAG_CHOICES): defined.
|
54
|
-
(Termios::CFLAG_NAMES): defined.
|
55
|
-
(Termios::CFLAG_CHOICES): defined.
|
56
|
-
(Termios::LFLAG_NAMES): defined.
|
57
|
-
(Termios::BAUD_NAMES): defined.
|
58
|
-
(Termios::IUTF8): defined.
|
59
|
-
(Termios::VDSUSP): defined for 4.4BSD.
|
60
|
-
(Termios::VSTATUS): defined for 4.4BSD.
|
61
|
-
(Termios::MDMBUF): defined for 4.4BSD.
|
62
|
-
|
63
|
-
* lib/termios.rb: new file. inspect and pretty_print defined.
|
64
|
-
|
65
|
-
2005-05-30 akira yamada <akira@arika.org>
|
66
|
-
|
67
|
-
* termios.c: applied a patch which makes ruby-termios work under
|
68
|
-
both ruby1.8 and ruby1.9. [ruby-talk:143781]
|
69
|
-
Thanks to: Akr.
|
70
|
-
|
71
|
-
2002-10-13 akira yamada <akira@arika.org>
|
72
|
-
|
73
|
-
* termios.c
|
74
|
-
(termios_set_ispeed): fixed typo.
|
75
|
-
(termios_initialize): 0-cleared "@cc".
|
76
|
-
(Termios_to_termios): unknown cc-values are treated as 0.
|
77
|
-
|
78
|
-
* examples/modem_check.rb: renamed examples/modem_check1.rb.
|
79
|
-
|
80
|
-
* examples/modem_check0.rb, exampes/modem_check2.rb: new.
|
81
|
-
|
82
|
-
* version 0.9.4.
|
83
|
-
|
84
|
-
2002-10-12 akira yamada <akira@arika.org>
|
85
|
-
|
86
|
-
* termios.c: revoked Termios::Termios#set_cc and removed some methods
|
87
|
-
such as Termios::Termios#iflag etc. they became attr_reader.
|
88
|
-
|
89
|
-
* version 0.9.3.
|
90
|
-
|
91
|
-
2002-10-12 akira yamada <akira@arika.org>
|
92
|
-
|
93
|
-
* termios.c
|
94
|
-
(termios_cc): accepts index of c_cc.
|
95
|
-
(termios_set_a_cc): new function for Termios::Termios#set_cc.
|
96
|
-
(Init_termios): added new constants Termios::CCINDEX, Termios::IFLAGS,
|
97
|
-
Termios::OFLAGS, Termios::CFLAGS, Termios::LFLAGS and Termios::BAUD.
|
98
|
-
|
99
|
-
* examples/modem_check.rb: it did not work. rewrited.
|
100
|
-
|
101
|
-
* test/test0.rb: rewrited.
|
102
|
-
|
103
|
-
* version 0.9.2.
|
104
|
-
|
105
|
-
2002-10-10 akira yamada <akira@arika.org>
|
106
|
-
|
107
|
-
* termios.c
|
108
|
-
(Init_termios): revived Termios::Termios#c_foo/c_foo= for backward
|
109
|
-
compatibility.
|
110
|
-
|
111
|
-
2002-09-25 akira yamada <akira@arika.org>
|
112
|
-
|
113
|
-
* termios.c
|
114
|
-
(termios_clone): new method "clone" for Termios::Termios.
|
115
|
-
(Init_termios): revived Termios.new_termios for backward
|
116
|
-
compatibility.
|
117
|
-
|
118
|
-
* version 0.9.1.
|
119
|
-
|
120
|
-
2002-09-25 akira yamada <akira@arika.org>
|
121
|
-
|
122
|
-
* Termios module can be included to IO classes and can extend IO
|
123
|
-
objects.
|
124
|
-
|
125
|
-
* now Termios::Termios is rb_cObject class.
|
126
|
-
|
127
|
-
* version 0.9.0.
|
128
|
-
|
129
|
-
Wed Nov 15 19:03:06 2000 akira yamada <akira@arika.org>
|
130
|
-
|
131
|
-
* renamed to ruby-termios.
|
132
|
-
|
133
|
-
Wed Dec 1 21:27:23 1999 GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp>
|
134
|
-
|
135
|
-
* termios.c: removed c_line.
|
136
|
-
* test1.rb: removed c_line.
|
137
|
-
* test3.rb: stty -echo.
|
138
|
-
|
139
|
-
Fri Feb 19 00:05:20 1999 akira yamada <akira@linux.or.jp>
|
140
|
-
|
141
|
-
* termios.c (Init_termios): now sTermios is hidden.
|
142
|
-
* test2.rb: rewrited.
|
143
|
-
|
144
|
-
Fri Thu 18 02:24:21 1999 akira yamada <akira@linux.or.jp>
|
145
|
-
|
146
|
-
* development started.
|
data/README
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
= termios (ruby-termios) - a simple wrapper of termios(3)
|
2
|
-
|
3
|
-
== Description
|
4
|
-
|
5
|
-
This extension library provides Termios module. It enables you to use
|
6
|
-
termios(3) interface.
|
7
|
-
|
8
|
-
Termios module is simple wrapper of termios(3). It can be included into
|
9
|
-
IO-family classes and can extend IO-family objects. In addition, the
|
10
|
-
methods can use as module function.
|
11
|
-
|
12
|
-
== Requires
|
13
|
-
|
14
|
-
This extension library can use with Ruby 1.6, 1.8 or 1.9. (Ruby-termios can
|
15
|
-
build with Ruby 1.6 but it has not yet been tested enough.)
|
16
|
-
|
17
|
-
== Installation
|
18
|
-
|
19
|
-
ruby extconf.rb
|
20
|
-
make
|
21
|
-
make install
|
22
|
-
|
23
|
-
== Copyright
|
24
|
-
|
25
|
-
Ruby-termios for Ruby is copyrighted free software by akira yamada
|
26
|
-
<akira@arika.org>. You can redistribute it and/or modify it under either
|
27
|
-
the terms of the GPL, or the conditions below:
|
28
|
-
|
29
|
-
1. You may make and give away verbatim copies of the source form of the
|
30
|
-
software without restriction, provided that you duplicate all of the
|
31
|
-
original copyright notices and associated disclaimers.
|
32
|
-
|
33
|
-
2. You may modify your copy of the software in any way, provided that
|
34
|
-
you do at least ONE of the following:
|
35
|
-
|
36
|
-
a) place your modifications in the Public Domain or otherwise
|
37
|
-
make them Freely Available, such as by posting said
|
38
|
-
modifications to Usenet or an equivalent medium, or by allowing
|
39
|
-
the author to include your modifications in the software.
|
40
|
-
|
41
|
-
b) use the modified software only within your corporation or
|
42
|
-
organization.
|
43
|
-
|
44
|
-
c) rename any non-standard executables so the names do not conflict
|
45
|
-
with standard executables, which must also be provided.
|
46
|
-
|
47
|
-
d) make other distribution arrangements with the author.
|
48
|
-
|
49
|
-
3. You may distribute the software in object code or executable
|
50
|
-
form, provided that you do at least ONE of the following:
|
51
|
-
|
52
|
-
a) distribute the executables and library files of the software,
|
53
|
-
together with instructions (in the manual page or equivalent)
|
54
|
-
on where to get the original distribution.
|
55
|
-
|
56
|
-
b) accompany the distribution with the machine-readable source of
|
57
|
-
the software.
|
58
|
-
|
59
|
-
c) give non-standard executables non-standard names, with
|
60
|
-
instructions on where to get the original software distribution.
|
61
|
-
|
62
|
-
d) make other distribution arrangements with the author.
|
63
|
-
|
64
|
-
4. You may modify and include the part of the software into any other
|
65
|
-
software (possibly commercial). But some files in the distribution
|
66
|
-
are not written by the author, so that they are not under this terms.
|
67
|
-
They are gc.c(partly), utils.c(partly), regex.[ch], fnmatch.[ch],
|
68
|
-
glob.c, st.[ch] and some files under the ./missing directory. See
|
69
|
-
each file for the copying condition.
|
70
|
-
|
71
|
-
5. The scripts and library files supplied as input to or produced as
|
72
|
-
output from the software do not automatically fall under the
|
73
|
-
copyright of the software, but belong to whomever generated them,
|
74
|
-
and may be sold commercially, and may be aggregated with this
|
75
|
-
software.
|
76
|
-
|
77
|
-
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
78
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
79
|
-
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
|
80
|
-
PURPOSE.
|
data/test/test0.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'termios'
|
2
|
-
|
3
|
-
def dump_termios(tio, banner)
|
4
|
-
puts banner
|
5
|
-
puts " ispeed = #{Termios::BAUDS[tio.ispeed]}, ospeed = #{Termios::BAUDS[tio.ospeed]}"
|
6
|
-
["iflag", "oflag", "cflag", "lflag"].each do |x|
|
7
|
-
flag = tio.send(x)
|
8
|
-
flags = []
|
9
|
-
eval("Termios::#{x.upcase}S").each do |f, sym|
|
10
|
-
flags << sym.to_s if flag & f != 0
|
11
|
-
end
|
12
|
-
puts " #{x} = #{flags.sort.join(' | ')}"
|
13
|
-
end
|
14
|
-
print " cc ="
|
15
|
-
cc = tio.cc
|
16
|
-
cc.each_with_index do |x, idx|
|
17
|
-
print " #{Termios::CCINDEX[idx]}=#{x}" if Termios::CCINDEX.include?(idx)
|
18
|
-
end
|
19
|
-
puts
|
20
|
-
end
|
21
|
-
|
22
|
-
tio = Termios::getattr($stdin)
|
23
|
-
dump_termios(tio, "STDIN:")
|
24
|
-
Termios::setattr($stdin, Termios::TCSANOW, tio)
|
25
|
-
dump_termios(tio, "STDIN:")
|
26
|
-
|
27
|
-
puts
|
28
|
-
puts " pid = #{$$}"
|
29
|
-
puts "pgrp = #{Termios::getpgrp($stdin)}"
|