typedef enum OPTION_choice {
OPT_COMMON,
OPT_CONFIGDIR, OPT_ENGINESDIR, OPT_MODULESDIR, OPT_DSOEXT, OPT_DIRNAMESEP,
- OPT_LISTSEP, OPT_SEEDS, OPT_CPUSETTINGS
+ OPT_LISTSEP, OPT_SEEDS, OPT_CPUSETTINGS, OPT_WINDOWSCONTEXT
} OPTION_CHOICE;
const OPTIONS info_options[] = {
{"listsep", OPT_LISTSEP, '-', "List separator character"},
{"seeds", OPT_SEEDS, '-', "Seed sources"},
{"cpusettings", OPT_CPUSETTINGS, '-', "CPU settings info"},
+ {"windowscontext", OPT_WINDOWSCONTEXT, '-', "Windows install context"},
{NULL}
};
type = OPENSSL_INFO_CPU_SETTINGS;
dirty++;
break;
+ case OPT_WINDOWSCONTEXT:
+ type = OPENSSL_INFO_WINDOWS_CONTEXT;
+ dirty++;
+ break;
}
}
if (!opt_check_rest_arg(NULL))
if (ossl_cpu_info_str[0] != '\0')
return ossl_cpu_info_str + strlen(CPUINFO_PREFIX);
break;
+ case OPENSSL_INFO_WINDOWS_CONTEXT:
+ return ossl_get_wininstallcontext();
default:
break;
}
The value has the same syntax as the environment variable.
For x86 the string looks like C<OPENSSL_ia32cap=0x123:0x456>.
+=item OPENSSL_INFO_WINDOWS_CONTEXT
+
+The Windows install context.
+The Windows install context is used to compute the OpenSSL registry key name
+on Windows. The full registry key is
+C<SOFTWARE\WOW6432Node\OpenSSL-{major}.{minor}-{context}>, where C<{major}>,
+C<{minor}> and C<{context}> are OpenSSL's major version number, minor version
+number and the Windows install context, respectively.
+
=back
For an unknown I<t>, NULL is returned.
# define OPENSSL_INFO_LIST_SEPARATOR 1006
# define OPENSSL_INFO_SEED_SOURCE 1007
# define OPENSSL_INFO_CPU_SETTINGS 1008
+# define OPENSSL_INFO_WINDOWS_CONTEXT 1009
int OPENSSL_issetugid(void);