1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#include "apr.h" 18#include "apr_thread_proc.h" 19#include "apr_file_io.h" 20 21#include <sys/wait.h> 22 23#ifndef THREAD_PROC_H 24#define THREAD_PROC_H 25 26#define SHELL_PATH "" 27#define APR_DEFAULT_STACK_SIZE 65536 28 29struct apr_thread_t { 30 apr_pool_t *pool; 31 NXContext_t ctx; 32 NXThreadId_t td; 33 char *thread_name; 34 apr_int32_t cancel; 35 apr_int32_t cancel_how; 36 void *data; 37 apr_thread_start_t func; 38 apr_status_t exitval; 39}; 40 41struct apr_threadattr_t { 42 apr_pool_t *pool; 43 apr_size_t stack_size; 44 apr_int32_t detach; 45 char *thread_name; 46}; 47 48struct apr_threadkey_t { 49 apr_pool_t *pool; 50 NXKey_t key; 51}; 52 53struct apr_procattr_t { 54 apr_pool_t *pool; 55 apr_file_t *parent_in; 56 apr_file_t *child_in; 57 apr_file_t *parent_out; 58 apr_file_t *child_out; 59 apr_file_t *parent_err; 60 apr_file_t *child_err; 61 char *currdir; 62 apr_int32_t cmdtype; 63 apr_int32_t detached; 64 apr_int32_t addrspace; 65}; 66 67struct apr_thread_once_t { 68 unsigned long value; 69}; 70 71/* 72struct apr_proc_t { 73 apr_pool_t *pool; 74 pid_t pid; 75 apr_procattr_t *attr; 76}; 77*/ 78 79#endif /* ! THREAD_PROC_H */ 80 81