Commit Graph

141 Commits

Author SHA1 Message Date
Tetralux
37a2356485 [sys/windows] Add DCB structure, SetCommState, GetCommState
These are the procedures for configuring a serial port.

You simply open the port with CreateFile (os.open), followed by a call to GetCommState,
setting the DCB as desired, followed by a SetCommState call.

The DCB structure uses C bitfields, so a configuration struct is provided along with a helper procedure to make it easier
to initialize in Odin code.
This makes it possible to initialize a DCB structure with one call to the helper:
```
dcb: DCB
windows.init_dcb_with_config(&dcb, {
	BaudRate = 115200,
	ByteSize = 8,
	Parity = .None,
	StopBits = .One,
})
```
(The parity and the stopbits are actually optional in this example, as their zero-values are None and One, respectively.)
2022-09-22 15:14:14 +00:00
hikari
164ba944ac sys/windows: add definitions 2022-09-14 11:42:19 +03:00
Ryan Chan
183a02c584 Add windows.timeGetTime()
Here is the windows documentation for it: https://docs.microsoft.com/en-us/windows/win32/api/timeapi/nf-timeapi-timegettime
2022-09-10 16:54:34 +04:00
Jeroen van Rijn
6222e7be78 Merge branch 'master' into sysinfo 2022-09-05 18:28:18 +02:00
gingerBill
12687a63f4 Merge pull request #1951 from IanLilleyT/wstring_allocation
smaller allocation for non-null-terminated wstring
2022-09-05 15:48:43 +01:00
Jeroen van Rijn
01e8668357 Merge branch 'master' into sysinfo 2022-09-01 18:30:26 +02:00
gingerBill
4858e16a11 Merge pull request #1976 from matias-eduardo/patch-2
Add Extended Window Styles (WS_EX)
2022-09-01 16:26:51 +01:00
Lucas Perlind
f3f51bd643 Kernel32: Add more window bindings and improve consistency 2022-09-01 22:57:27 +10:00
Jeroen van Rijn
d5f94d73ad [sys/info] Initial version. 2022-09-01 00:43:47 +02:00
Lucas Perlind
d9adb0fd6b Add much of Win32's Raw Input API 2022-08-28 16:30:55 +10:00
matias
96e033b22c Add Extended Window Styles (WS_EX)
Featuring frequently used styles such as: `WS_EX_APPWINDOW`, `WS_EX_NOREDIRECTIONBITMAP`, `WS_EX_ACCEPTFILES`, `WS_EX_TOOLWINDOW`, `WS_EX_TOPMOST`, `WS_EX_NOACTIVATE`, `WS_EX_LAYERED`, and more.
2022-08-25 21:12:45 -04:00
gingerBill
7fe36de069 Correct Try SRWLock related procedures to return BOOLEAN rather than BOOL 2022-08-22 22:24:51 +01:00
Ian Lilley
87094ef96c smaller allocation for no
n-null-terminated wstring
2022-08-15 09:17:10 -04:00
matias
3dc62a67e0 Typo: "Get" -> "Set" 2022-08-14 07:16:54 -04:00
Fabian Sperber
e50648279d Add some wgl extensions
- fix upper case for wglSwapIntervalEXT to be the same as the exported name
2022-08-12 21:56:55 +02:00
Fabian Sperber
929af320da Add more windows bindings 2022-08-12 21:56:54 +02:00
Hyp-X
e6236e5c3e Update user32.odin
Added UnregisterClassW procedure to windows\user32.odin
2022-08-01 15:59:00 +02:00
gingerBill
e1748a5dd1 Add MAKE_WORD 2022-07-21 17:08:11 +01:00
gingerBill
22a0c3fce1 Disallow proc() do stmt and only allow proc() { stmt } 2022-07-18 15:09:04 +01:00
gingerBill
c0d2359a91 Merge pull request #1826 from englerj/windows-bindings
Added additional Windows bindings.
2022-06-28 13:14:35 +01:00
Jimmy "Keeba" Lefevre
9e288b7ce8 Change LPCSTR to LPCWSTR in windows _W procedures 2022-06-27 21:48:02 +02:00
hikari
c6903fbcd5 sys/windows: add constants and macro 2022-06-17 15:14:21 +03:00
hikari
665db0f778 sys/windows: add RegSetKeyValueW 2022-06-16 22:54:59 +03:00
Josh Engler
50cbb8a1fc Fix tab spacing. 2022-06-12 15:55:38 -04:00
Josh Engler
6f80174f84 Merge branch 'master' into windows-bindings 2022-06-11 09:48:28 -04:00
hikari
0ebe81fce2 sys/windows: add GetTextExtentPoint32W 2022-06-11 12:27:18 +03:00
hikari
3c6cc575c6 sys/windows: add a couple of constants 2022-06-10 21:17:27 +03:00
hikari
88e9eb7d0c sys/windows: add functions and constants 2022-06-09 17:44:51 +03:00
hikari
d19fc54c3d sys/windows: add macro 2022-06-08 21:18:11 +03:00
ftphikari
5d4291d9fa Merge branch 'odin-lang:master' into master 2022-06-08 19:55:42 +03:00
hikari
b70cd03e9e sys/windows: add interfaces from shobjidl_core.h 2022-06-08 19:38:12 +03:00
hikari
e91e5e1fe9 sys/windows: fix formatting 2022-06-07 20:16:32 +03:00
hikari
ae57a49915 sys/windows: fix file picker dialog 2022-06-07 17:59:15 +03:00
hikari
176954a6d8 sys/windows: add several functions and constants 2022-06-03 22:12:43 +03:00
Josh Engler
762895bc45 - Added EnumDisplaySettingsW and friends.
- Added additional file access/security/sharing attributes
2022-06-03 07:40:45 -04:00
hikari
592e9afa5f sys/windows: add RegSetValueExW 2022-06-03 07:57:21 +03:00
hikari
a2e0373934 sys/windows: add registry functions and create winerror.odin 2022-06-03 06:44:42 +03:00
gingerBill
fb49841b1d Remove strings dependency from core:sys/windows 2022-06-02 13:02:16 +01:00
Cedric Hutchings
f25a3f2a7d Add enums for getting Scancodes from WM_KEYDOWN
https://docs.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input
2022-05-22 15:34:49 -04:00
jason
43432f92ec fix git dummy move 2022-05-16 15:21:36 -04:00
jason
fff23e2bbb merge from upstream and convert to ^File types 2022-05-16 13:49:57 -04:00
gingerBill
33895b6d92 Convert all uses of *_from_slice to *_from_bytes where appropriate 2022-05-16 01:43:43 +01:00
Aaron Glazer
536e0a8c29 Adding flag values for FormatMessageW and LocalAlloc/etc. 2022-05-12 08:22:51 -07:00
gingerBill
6c14586fff Add GetAddrInfoExW 2022-05-12 14:27:46 +01:00
gingerBill
0c45a46aab Remove A calls in favour of W calls 2022-05-12 14:21:25 +01:00
gingerBill
d1fc9d3073 Add more libraries 2022-05-12 13:54:40 +01:00
gingerBill
2fb351bf04 Update sys/windows to be closer to the soon to be deleted sys/win32 2022-05-12 13:45:17 +01:00
gingerBill
eef44b11f3 Make the utf16 conversion procedures in core:sys/windows safer by checking for memory leaks 2022-05-12 13:17:58 +01:00
gingerBill
bb4f108487 Update error handling for os2 on windows 2022-05-12 12:54:27 +01:00
gingerBill
8b4b81fdeb Fill in most of os2/file_windows.odin 2022-05-12 11:33:01 +01:00