glib/glib
Chun-wei Fan bcbf80c355 gwin32: Add g_win32_check_windows_version() API
This adds a public API where one can use to see whether the running version
of Windows where the code is run is at least the specified version, service
pack level, and the type (non-server, server, any) of the running Windows
OS.

This API is done as:
-GetVersion()/GetVersionEx() changed in the way they work since Windows 8.1
 [1][2], so a newer mechanism to check the version of the running Windows
 operating system is needed.  MSDN also states that GetVersion() might be
 further changed or removed after Windows 8.1.  This provides a wrapper for
 VerfyVersionInfo() as well in GLib for most cases, which was recommended
 in place of g_win32_get_windows_version() for more detailed Windows
 version checking.
-Provides an OS-level functionality check, for those that we don't need to
 venture into GetProcAddress(), and also to determine system API behavior
 changes due to differences in OS versions.

Also added a note for the g_win32_get_windows_version() API that since the
behavior of GetVersion() which it uses, is changed since Windows 8.1, users
of the API should be aware.

[1]:
http://msdn.microsoft.com/zh-tw/library/windows/desktop/ms724451%28v=vs.85%29.aspx
[2]:
http://msdn.microsoft.com/zh-tw/library/windows/desktop/ms724451%28v=vs.85%29.aspx

https://bugzilla.gnome.org/show_bug.cgi?id=741895
2015-01-27 12:17:14 +08:00
..
deprecated Fix g_cond_timed_wait() timeout with !CLOCK_MONOTONIC 2014-10-10 06:41:55 -04:00
glib-mirroring-tab Use 'dumb quotes' rather than `really dumb quotes' 2013-05-21 11:23:22 -03:00
gnulib Updated FSF's address 2014-01-31 14:31:55 +01:00
libcharset Updated FSF's address 2014-01-31 14:31:55 +01:00
pcre all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
tests GVariant tests: test with larger strings 2014-11-29 14:22:03 -05:00
update-pcre Rework the build system for a new tests approach 2013-05-31 23:12:15 -04:00
.gitignore update .gitignores 2011-06-12 16:17:30 -04:00
docs.c Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
galloca.h docs: Fix formatting of g_alloca documentation. 2014-06-28 13:43:23 -04:00
garray.c garray: initialize allocated size in g_byte_array_new_take() 2014-10-08 20:51:47 +02:00
garray.h GArray: Documentation cleanups 2014-02-01 20:46:29 -05:00
gasyncqueue.c asyncqueue: fix timeout math on 32bit systems 2014-02-23 01:14:27 -05:00
gasyncqueue.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gasyncqueueprivate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gatomic.c docs: Remove some unneeded decorations 2014-02-14 21:39:11 -05:00
gatomic.h Revert "gatomic: statically assert that our assumptions hold" 2014-07-23 09:28:23 -04:00
gbacktrace.c Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
gbacktrace.h docs: Ditch more markup 2014-03-02 18:23:43 -05:00
gbase64.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gbase64.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gbitlock.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gbitlock.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gbookmarkfile.c gbookmarkfile: Cleaner error handling code to pacify static analysis 2014-06-12 13:25:06 -04:00
gbookmarkfile.h docs: Replace <structname> tags with back ticks 2014-05-31 19:22:15 +01:00
gbsearcharray.h Require C90 compliance 2013-11-20 09:16:16 -05:00
gbytes.c Fix typos in gbytes_hash and g_time_zone_find_interval docs 2014-07-14 08:39:34 -04:00
gbytes.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gcharset.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gcharset.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gcharsetprivate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gchecksum.c all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
gchecksum.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gconstructor.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gconvert.c gconvert: mention that the g_convert len should be in bytes 2014-05-30 13:51:16 +02:00
gconvert.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gdataset.c GDataSet: silently accept NULL/0 as keys 2014-10-02 14:40:16 -04:00
gdataset.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gdatasetprivate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gdate.c Eradicate links and xrefs 2014-02-08 12:26:56 -05:00
gdate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gdatetime.c Fix a typo 2014-12-23 19:49:41 -05:00
gdatetime.h docs: Replace <structname> tags with back ticks 2014-05-31 19:22:15 +01:00
gdir.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gdir.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gen-unicode-tables.pl unicode: Switch compose_second_single to gunichar 2014-06-28 12:49:07 -04:00
genviron.c Fix some typos in documentation 2014-05-05 18:30:56 +08:00
genviron.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gerror.c Clarify g_propagate_error docs 2014-10-10 14:17:56 -04:00
gerror.h docs: Replace <structname> tags with back ticks 2014-05-31 19:22:15 +01:00
gfileutils.c Save errno and pass it along to make sure gettext does not change it 2014-08-02 10:54:01 +00:00
gfileutils.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
ggettext.c ggettext: Include an example of setlocale() and friends in the i18n docs 2015-01-15 14:22:25 +00:00
ggettext.h Updated FSF's address 2014-01-31 14:31:55 +01:00
ghash.c Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
ghash.h Updated FSF's address 2014-01-31 14:31:55 +01:00
ghmac.c hmac: Add support for SHA-512 in GHmac 2014-04-16 16:20:46 +01:00
ghmac.h Updated FSF's address 2014-01-31 14:31:55 +01:00
ghook.c Docs: Drop entities, switch away from sgml mode 2014-02-09 02:07:26 -05:00
ghook.h Updated FSF's address 2014-01-31 14:31:55 +01:00
ghostutils.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
ghostutils.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gi18n-lib.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gi18n.h Updated FSF's address 2014-01-31 14:31:55 +01:00
giochannel.c doc: small improvement and fixes 2014-07-04 17:03:50 +02:00
giochannel.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
giounix.c Updated FSF's address 2014-01-31 14:31:55 +01:00
giowin32.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gkeyfile.c Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gkeyfile.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib_probes.d Add some mainloop instrumentation 2013-11-23 00:22:09 -05:00
glib_trace.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-init.c glib-init: statically assert that we have 8-bit bytes 2014-07-23 09:18:43 +01:00
glib-init.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-object.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-private.c Updated FSF's address 2014-01-31 14:31:55 +01:00
glib-private.h Trivial: fix a guard comment 2014-05-21 07:41:08 -04:00
glib-unix.c Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
glib-unix.h docs: Remove a few trailing <literal>s 2014-02-14 21:49:42 -05:00
glib.h Updated FSF's address 2014-01-31 14:31:55 +01:00
glib.py Make gdb pretty-printers compatible with Python3 2013-12-18 07:22:16 +11:00
glib.rc.in Update the year in the *.rc.in files 2011-06-07 08:55:31 +08:00
glib.stp.in Add some mainloop instrumentation 2013-11-23 00:22:09 -05:00
glibconfig.h.win32.in Win32: Update Pre-configured Config Headers 2015-01-07 09:59:47 +08:00
glibintl.h various: add GLIB_AVAILABLE_IN_ALL everywhere else 2013-01-13 13:11:57 -05:00
glist.c docs: let go of &ast; 2014-02-14 21:33:36 -05:00
glist.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gmacros.h Avoid warning when using G_STMT_END macro with MSVC 2015-01-14 16:21:00 +01:00
gmain-internal.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gmain.c gmain: fix poll record comparison 2014-11-28 23:54:02 -05:00
gmain.h docs: Replace <structname> tags with back ticks 2014-05-31 19:22:15 +01:00
gmappedfile.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gmappedfile.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gmarkup.c doc: various improvements 2014-05-09 18:47:42 +02:00
gmarkup.h doc: various improvements 2014-05-09 18:47:42 +02:00
gmem.c docs: Add missing opening parenthesis 2014-11-13 17:49:31 +00:00
gmem.h Remove atomics from g_clear_object/g_clear_pointer 2014-07-30 15:11:01 +02:00
gmessages.c Fix up failure-to-see-expected-message logging 2014-07-09 10:48:34 -04:00
gmessages.h Be more clear that g_return_if_fail is undefined behaviour 2014-02-11 15:01:58 +00:00
gmirroringtable.h Bug 491554 – Update to Unicode 5.1.0 2008-04-08 02:59:05 +00:00
gnode.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gnode.h Updated FSF's address 2014-01-31 14:31:55 +01:00
goption.c Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
goption.h GOption: add strict posix mode 2014-10-15 23:37:45 +02:00
gpattern.c all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
gpattern.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gpoll.c gmain: don't pass the same fd to g_poll() multiple times 2014-10-29 17:19:20 -04:00
gpoll.h Minor documentation additions and corrections 2014-05-31 10:54:02 -04:00
gprimes.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gprimes.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gprintf.c Eradicate links and xrefs 2014-02-08 12:26:56 -05:00
gprintf.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gprintfint.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gqsort.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gqsort.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gquark.c Eradicate links and xrefs 2014-02-08 12:26:56 -05:00
gquark.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gqueue.c Simplify code that uses g_queue_insert_before() and insert_after() 2014-11-09 20:42:50 +01:00
gqueue.h docs: Use markdown links in all .c and .h files 2014-04-15 22:19:07 +02:00
grand.c grand: Only use rand_s() when targetting Visual Studio >= 2005 2014-09-15 22:25:08 +03:00
grand.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gregex.c docs: let go of &ast; 2014-02-14 21:33:36 -05:00
gregex.h Minor documentation additions and corrections 2014-05-31 10:54:02 -04:00
gscanner.c Minor documentation additions and corrections 2014-05-31 10:54:02 -04:00
gscanner.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gscripttable.h unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
gsequence.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gsequence.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gshell.c doc: various improvements 2014-06-29 17:57:24 +02:00
gshell.h various: add GLIB_AVAILABLE_IN_ALL everywhere else 2013-01-13 13:11:57 -05:00
gslice.c Revert "Bug 724590 - GSlice slab_stack corruption" 2014-04-16 07:53:58 -04:00
gslice.h Use G_STMT_START/END in gslice.h 2015-01-14 16:21:00 +01:00
gslist.c gslist: indentation fix 2014-09-27 00:04:55 +02:00
gslist.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gspawn-win32-helper.c gspawn-win32: do not rely on __argc and __argv global vars. 2014-07-14 08:43:17 -04:00
gspawn-win32.c Change W32 console detection to look at the window, not stdout 2014-08-05 06:44:01 +00:00
gspawn.c docs: Fill in the gspawn long description 2014-05-31 10:54:02 -04:00
gspawn.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gstdio.c Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gstdio.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gstrfuncs.c gstrfuncs: Document that g_ascii_dtostr() writes a nul terminator 2015-01-25 16:22:43 +00:00
gstrfuncs.h gstrfuncs: Add g_strv_contains() 2014-11-25 12:51:36 +00:00
gstring.c doc: various improvements 2014-05-09 18:47:42 +02:00
gstring.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gstringchunk.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gstringchunk.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtester-report Restore executability for other files 2014-01-31 09:36:52 -05:00
gtester.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gtestutils.c gtestutils: Add an example of using test fixtures 2015-01-18 23:04:05 +00:00
gtestutils.h Use G_STMT_START/END in gtestutils 2015-01-14 16:21:00 +01:00
gthread-posix.c gthread: add thread name support on Mac OS 2015-01-26 09:06:13 +00:00
gthread-win32.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gthread.c gthread: Fix a typo in a documentation comment 2015-01-25 17:09:24 +00:00
gthread.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gthreadpool.c Fix typo 2014-10-05 12:11:21 -05:00
gthreadpool.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gthreadprivate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtimer.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gtimer.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtimezone.c Fix typos in gbytes_hash and g_time_zone_find_interval docs 2014-07-14 08:39:34 -04:00
gtimezone.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtranslit-data.h Add locale-sensitive ASCII transliteration API 2014-02-20 18:27:24 -05:00
gtranslit.c g_str_to_ascii(): a couple of minor tweaks 2014-02-20 18:32:42 -05:00
gtrashstack.c Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
gtrashstack.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtree.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gtree.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtypes.h all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
gunibreak.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gunibreak.h unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
gunichartables.h unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
gunicode.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
gunicodeprivate.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gunicollate.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gunicomp.h unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
gunidecomp.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gunidecomp.h unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
guniprop.c unicode: Update to unicode 7.0.0 2014-06-28 12:49:38 -04:00
gurifuncs.c Convert external links to markdown syntax 2014-02-05 21:23:28 -05:00
gurifuncs.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gutf8.c docs: use "Returns:" consistently 2014-02-19 19:41:52 -05:00
gutils.c gutils: Don't use issetugid() on Android 2014-09-11 11:07:48 +03:00
gutils.h all: remove use of 'register' keyword 2014-06-28 13:07:52 -04:00
gvariant-core.c docs: Remove <!-- --> comment before plural s 2014-04-24 13:42:37 +02:00
gvariant-core.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvariant-internal.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvariant-parser.c Minor documentation additions and corrections 2014-05-31 10:54:02 -04:00
gvariant-serialiser.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gvariant-serialiser.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvariant.c GVariant: say that serialized form needs an out-of-band length 2014-09-19 16:58:23 +01:00
gvariant.h add GVariantDict 2014-02-04 11:56:06 +00:00
gvarianttype.c Convert GVariantType table to a list 2014-02-08 13:43:16 -05:00
gvarianttype.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gvarianttypeinfo.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gvarianttypeinfo.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gversion.c Minor documentation additions and corrections 2014-05-31 10:54:02 -04:00
gversion.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gversionmacros.h Add version macros for 2.44 2014-09-29 11:40:10 -04:00
gwakeup.c gwakeup: Clarify buffer sizing in g_wakeup_signal() 2014-06-21 17:41:31 +01:00
gwakeup.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gwin32.c gwin32: Add g_win32_check_windows_version() API 2015-01-27 12:17:14 +08:00
gwin32.h gwin32: Add g_win32_check_windows_version() API 2015-01-27 12:17:14 +08:00
libglib-gdb.py.in Avoid shadowing dir builtin 2010-12-03 14:41:06 -05:00
Makefile.am Silence the build some more 2014-12-20 21:32:53 -05:00
makefile.msc.in win32: Use timeGetTime as monotonic base 2011-11-16 09:10:46 +01:00
update-gtranslit.py Add locale-sensitive ASCII transliteration API 2014-02-20 18:27:24 -05:00
valgrind.h Doc: glib: Fix all undocumented/unused/undeclared symbols 2014-12-12 11:01:37 -05:00
win_iconv.c Silence a controversial warning in win_iconv 2014-08-02 12:38:39 +00:00