summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/include/apps.h13
-rw-r--r--apps/include/platform.h32
-rw-r--r--apps/vms_decc_argv.c3
3 files changed, 35 insertions, 13 deletions
diff --git a/apps/include/apps.h b/apps/include/apps.h
index da8eae2d87..59e3e92821 100644
--- a/apps/include/apps.h
+++ b/apps/include/apps.h
@@ -32,6 +32,7 @@
# include "apps_ui.h"
# include "opt.h"
# include "fmt.h"
+# include "platform.h"
# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE)
# define openssl_fdset(a,b) FD_SET((unsigned int)a, b)
@@ -97,18 +98,6 @@ typedef struct args_st {
char **argv;
} ARGS;
-/*
- * VMS C only for now, implemented in vms_decc_init.c
- * If other C compilers forget to terminate argv with NULL, this function
- * can be re-used.
- */
-char **copy_argv(int *argc, char *argv[]);
-/*
- * Win32-specific argv initialization that splits OS-supplied UNICODE
- * command line string to array of UTF8-encoded strings.
- */
-void win32_utf8argv(int *argc, char **argv[]);
-
/* We need both wrap and the "real" function because libcrypto uses both. */
int wrap_password_callback(char *buf, int bufsiz, int verify, void *cb_data);
diff --git a/apps/include/platform.h b/apps/include/platform.h
new file mode 100644
index 0000000000..49276b6fc9
--- /dev/null
+++ b/apps/include/platform.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifndef HEADER_PLATFORM_H
+# define HEADER_PLATFORM_H
+
+# include <openssl/e_os2.h>
+
+# if defined(OPENSSL_SYS_VMS) && defined(__DECC)
+/*
+ * VMS C only for now, implemented in vms_decc_init.c
+ * If other C compilers forget to terminate argv with NULL, this function
+ * can be re-used.
+ */
+char **copy_argv(int *argc, char *argv[]);
+# endif
+
+# ifdef _WIN32
+/*
+ * Win32-specific argv initialization that splits OS-supplied UNICODE
+ * command line string to array of UTF8-encoded strings.
+ */
+void win32_utf8argv(int *argc, char **argv[]);
+# endif
+
+#endif
diff --git a/apps/vms_decc_argv.c b/apps/vms_decc_argv.c
index 54ccc1bf17..932b51a837 100644
--- a/apps/vms_decc_argv.c
+++ b/apps/vms_decc_argv.c
@@ -9,7 +9,8 @@
#include <stdlib.h>
#include <openssl/crypto.h>
-#include "apps.h" /* for app_malloc() and copy_argv() */
+#include "platform.h" /* for copy_argv() */
+#include "apps.h" /* for app_malloc() */
char **newargv = NULL;