diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2022-08-04 17:58:50 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-08-05 13:02:11 +0300 |
commit | 007e23d6390af11582e55453269b7a51c723d2dd (patch) | |
tree | 8e8cff3ca23f5e56d9766a5ee6c6abb366611b07 /winsup/cygwin/local_includes/registry.h | |
parent | 1e428bee1c5ef7c76ba4e46e6693b913edc9bbf3 (diff) |
Cygwin: Reorganize cygwin source dir
Create subdirs and move files accordingly:
- DevDocs: doc files
- fhandler: fhandler sources, split fhandler.cc into base.cc and null.cc
- local_includes: local include files
- scripts: scripts called during build
- sec: security sources
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/local_includes/registry.h')
-rw-r--r-- | winsup/cygwin/local_includes/registry.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/registry.h b/winsup/cygwin/local_includes/registry.h new file mode 100644 index 000000000..eed640401 --- /dev/null +++ b/winsup/cygwin/local_includes/registry.h @@ -0,0 +1,36 @@ +/* registry.h: shared info for cygwin + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +class reg_key +{ +private: + + HANDLE key; + NTSTATUS key_is_invalid; + DWORD _disposition; + +public: + + reg_key (HKEY toplev, REGSAM access, ...); + reg_key (bool isHKLM, REGSAM access, ...); + + void *operator new (size_t, void *p) {return p;} + void build_reg (HKEY key, REGSAM access, va_list av); + + bool error () {return key == NULL;} + + DWORD get_dword (PCWSTR, DWORD); + NTSTATUS get_string (PCWSTR, PWCHAR, size_t, PCWSTR); + + NTSTATUS set_dword (PCWSTR, DWORD); + NTSTATUS set_string (PCWSTR, PCWSTR); + + bool created () const {return _disposition & REG_CREATED_NEW_KEY;} + + ~reg_key (); +}; |