summaryrefslogtreecommitdiff
path: root/include/arch/win32/apr_arch_threadproc.h
diff options
context:
space:
mode:
authorLucas Eckels <eckels@google.com>2012-08-06 14:56:12 -0700
committerLucas Eckels <eckels@google.com>2012-08-08 09:28:22 -0700
commite8508b30dd3516c91841bcad24dd314f48f0686b (patch)
tree7e8b504af787dc56a45793b0e08de9913b6061ee /include/arch/win32/apr_arch_threadproc.h
parent2483b3b8979346deb318d7e67b932ed77bc8e25e (diff)
downloadapache-apr-e8508b30dd3516c91841bcad24dd314f48f0686b.tar.gz
Change-Id: Ia5307b7bb6b27ab5646c27c6dce0cceaacb1978d
Diffstat (limited to 'include/arch/win32/apr_arch_threadproc.h')
-rw-r--r--include/arch/win32/apr_arch_threadproc.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/include/arch/win32/apr_arch_threadproc.h b/include/arch/win32/apr_arch_threadproc.h
new file mode 100644
index 0000000..d3ce9c5
--- /dev/null
+++ b/include/arch/win32/apr_arch_threadproc.h
@@ -0,0 +1,74 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "apr_private.h"
+#include "apr_thread_proc.h"
+#include "apr_file_io.h"
+
+#ifndef THREAD_PROC_H
+#define THREAD_PROC_H
+
+#define SHELL_PATH "cmd.exe"
+
+struct apr_thread_t {
+ apr_pool_t *pool;
+ HANDLE td;
+ apr_int32_t cancel;
+ apr_int32_t cancel_how;
+ void *data;
+ apr_thread_start_t func;
+ apr_status_t exitval;
+};
+
+struct apr_threadattr_t {
+ apr_pool_t *pool;
+ apr_int32_t detach;
+ apr_size_t stacksize;
+};
+
+struct apr_threadkey_t {
+ apr_pool_t *pool;
+ DWORD key;
+};
+
+struct apr_procattr_t {
+ apr_pool_t *pool;
+ apr_file_t *parent_in;
+ apr_file_t *child_in;
+ apr_file_t *parent_out;
+ apr_file_t *child_out;
+ apr_file_t *parent_err;
+ apr_file_t *child_err;
+ char *currdir;
+ apr_int32_t cmdtype;
+ apr_int32_t detached;
+ apr_child_errfn_t *errfn;
+ apr_int32_t errchk;
+#ifndef _WIN32_WCE
+ HANDLE user_token;
+ LPSECURITY_ATTRIBUTES sa;
+ LPVOID sd;
+#endif
+};
+
+struct apr_thread_once_t {
+ long value;
+};
+
+extern apr_status_t apr_threadproc_init(apr_pool_t *pool);
+
+#endif /* ! THREAD_PROC_H */
+