windows-pr 0.6.5 → 0.6.6

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.
data/CHANGES CHANGED
@@ -1,3 +1,9 @@
1
+ = 0.6.6 - 3-May-2007
2
+ * Added the Windows::MSVCRT::IO module.
3
+ * Removed the SetConsoleCommandHistoryMode method from the Windows::Console
4
+ module. This was a preliminary function for Vista only, and it has since
5
+ been removed. Thanks go to Drew Colthorp for the spot.
6
+
1
7
  = 0.6.5 - 28-Feb-2007
2
8
  * Important bug fixes for the Windows::Directory, Windows::Memory,
3
9
  Windows::Synchronize and Windows::Volume modules. These were either fixes
data/README CHANGED
@@ -39,7 +39,11 @@
39
39
 
40
40
  Boolean methods automatically perform a check for success or failure. So,
41
41
  instead of having to do something like 'if PathIsRoot(path) > 0' you can
42
- just do 'if PathIsRoot(path)'.
42
+ just do 'if PathIsRoot(path)'. However, I do not add this nicety for the
43
+ MSVCRT functions that return int's because some functions have multiple
44
+ return values which you may want to inspect. So, rather than making you
45
+ guess, I have simply declared that you must inspect return values manually
46
+ for any MSVCRT module.
43
47
 
44
48
  Source files contain related functions, by topic. For example, the
45
49
  clipboard.rb file contains clipboard related functions, such as
@@ -73,7 +73,6 @@ module Windows
73
73
  ReadConsoleOutputCharacter = Win32API.new('kernel32', 'ReadConsoleOutputCharacter', 'LPLLP', 'I')
74
74
  ScrollConsoleScreenBuffer = Win32API.new('kernel32', 'ScrollConsoleScreenBuffer', 'LPPLP', 'I')
75
75
  SetConsoleActiveScreenBuffer = Win32API.new('kernel32', 'SetConsoleActiveScreenBuffer', 'L', 'I')
76
- SetConsoleCommandHistoryMode = Win32API.new('kernel32', 'SetConsoleCommandHistoryMode', 'L', 'I')
77
76
  SetConsoleCP = Win32API.new('kernel32', 'SetConsoleCP', 'L', 'I')
78
77
  SetConsoleCtrlHandler = Win32API.new('kernel32', 'SetConsoleCtrlHandler', 'PI', 'I')
79
78
  SetConsoleCursorInfo = Win32API.new('kernel32', 'SetConsoleCursorInfo', 'LP', 'I')
@@ -229,10 +228,6 @@ module Windows
229
228
  SetConsoleActiveScreenBuffer.call(handle) != 0
230
229
  end
231
230
 
232
- def SetConsoleCommandHistoryMode(flags)
233
- SetConsoleCommandHistoryMode.call(flags) != 0
234
- end
235
-
236
231
  def SetConsoleCP(code_page_id)
237
232
  SetConsoleCP.call(code_page_id) != 0
238
233
  end
@@ -0,0 +1,80 @@
1
+ require 'Win32API'
2
+
3
+ module Windows
4
+ class IO
5
+ S_IFMT = 0170000 # file type mask
6
+ S_IFDIR = 0040000 # directory
7
+ S_IFCHR = 0020000 # character special
8
+ S_IFIFO = 0010000 # pipe
9
+ S_IFREG = 0100000 # regular
10
+ S_IREAD = 0000400 # read permission, owner
11
+ S_IWRITE = 0000200 # write permission, owner
12
+ S_IEXEC = 0000100 # execute/search permission, owner
13
+
14
+ Clearerr = Win32API.new('msvcrt', 'clearerr', 'I', 'V')
15
+ Close = Win32API.new('msvcrt', '_close', 'I', 'V')
16
+ Fclose = Win32API.new('msvcrt', 'fclose', 'I', 'I')
17
+ Fcloseall = Win32API.new('msvcrt', '_fcloseall', 'V', 'I')
18
+ Fdopen = Win32API.new('msvcrt', '_fdopen', 'IP', 'I')
19
+ Feof = Win32API.new('msvcrt', 'feof', 'I', 'I')
20
+ Fflush = Win32API.new('msvcrt', 'fflush', 'I', 'I')
21
+ Fileno = Win32API.new('msvcrt', '_fileno', 'I', 'I')
22
+ Fopen = Win32API.new('msvcrt', 'fopen', 'PP', 'I')
23
+ Open = Win32API.new('msvcrt', '_open', 'PPI', 'I')
24
+ Wopen = Win32API.new('msvcrt', '_wopen', 'PPI', 'I')
25
+ Wfdopen = Win32API.new('msvcrt', '_wfdopen', 'IP', 'I')
26
+ Wfopen = Win32API.new('msvcrt', '_wfopen', 'PPI', 'I')
27
+
28
+ def clearerr(stream)
29
+ Clearerr.call(stream)
30
+ end
31
+
32
+ def close
33
+ Close.call(fd)
34
+ end
35
+
36
+ def fclose(stream)
37
+ Fclose.call(stream)
38
+ end
39
+
40
+ def fcloseall
41
+ Fcloseall.call
42
+ end
43
+
44
+ def fdopen(fd, mode)
45
+ Fdopen.call(fd, mode)
46
+ end
47
+
48
+ def feof(stream)
49
+ Feof.call(stream)
50
+ end
51
+
52
+ def fflush(stream)
53
+ Fflush.call(stream)
54
+ end
55
+
56
+ def fileno(stream)
57
+ Fileno.call(stream)
58
+ end
59
+
60
+ def fopen(file, mode)
61
+ Fopen.call(file, mode)
62
+ end
63
+
64
+ def open(file, flag, mode)
65
+ Open.call(file, flag, mode)
66
+ end
67
+
68
+ def wopen(file, flag, mode)
69
+ Wopen.call(file, flag, mode)
70
+ end
71
+
72
+ def wfdopen(fd, mode)
73
+ Wfdopen.call(fd, mode)
74
+ end
75
+
76
+ def wfopen(file, mode)
77
+ Wfopen.call(file, mode)
78
+ end
79
+ end
80
+ end
data/windows-pr.gemspec CHANGED
@@ -2,7 +2,7 @@ require "rubygems"
2
2
 
3
3
  spec = Gem::Specification.new do |gem|
4
4
  gem.name = "windows-pr"
5
- gem.version = "0.6.5"
5
+ gem.version = "0.6.6"
6
6
  gem.author = "Daniel J. Berger"
7
7
  gem.email = "djberg96@gmail.com"
8
8
  gem.homepage = "http://www.rubyforge.org/projects/win32utils"
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.2
2
+ rubygems_version: 0.9.0.8
3
3
  specification_version: 1
4
4
  name: windows-pr
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.6.5
7
- date: 2007-02-28 00:00:00 -07:00
6
+ version: 0.6.6
7
+ date: 2007-05-03 00:00:00 -06:00
8
8
  summary: Windows functions and constants predefined via Win32API
9
9
  require_paths:
10
10
  - lib
@@ -61,6 +61,7 @@ files:
61
61
  - test/ts_all.rb
62
62
  - lib/windows/msvcrt/buffer.rb
63
63
  - lib/windows/msvcrt/file.rb
64
+ - lib/windows/msvcrt/io.rb
64
65
  - lib/windows/msvcrt/string.rb
65
66
  - test/CVS
66
67
  - test/tc_clipboard.rb