| /* 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. |
| */ |
| |
| #ifndef APACHE_OS_H |
| #define APACHE_OS_H |
| |
| #define PLATFORM "OS/2" |
| #define HAVE_CANONICAL_FILENAME |
| #define HAVE_DRIVE_LETTERS |
| #define HAVE_UNC_PATHS |
| |
| /* |
| * This file in included in all Apache source code. It contains definitions |
| * of facilities available on _this_ operating system (HAVE_* macros), |
| * and prototypes of OS specific functions defined in os.c or os-inline.c |
| */ |
| |
| #if defined(__GNUC__) && !defined(INLINE) |
| /* Compiler supports inline, so include the inlineable functions as |
| * part of the header |
| */ |
| #define INLINE extern __inline__ |
| |
| INLINE int ap_os_is_path_absolute(const char *file); |
| |
| #include "os-inline.c" |
| #endif |
| |
| #ifndef INLINE |
| /* Compiler does not support inline, so prototype the inlineable functions |
| * as normal |
| */ |
| extern int ap_os_is_path_absolute(const char *file); |
| #endif |
| |
| /* FIXME: the following should be implemented on this platform */ |
| #define ap_os_is_filename_valid(f) (1) |
| |
| /* Use a specialized kill() function */ |
| int ap_os_kill(int pid, int sig); |
| |
| /* Maps an OS error code to an error message */ |
| char *ap_os_error_message(int err); |
| |
| /* OS/2 doesn't have symlinks so S_ISLNK is always false */ |
| #define S_ISLNK(m) 0 |
| #define lstat(x, y) stat(x, y) |
| |
| #define isinf(n) (!isfinite(n)) |
| #define HAVE_ISINF |
| #define HAVE_ISNAN |
| |
| /* strtol() correctly returns ERANGE on overflow, use it */ |
| #define ap_strtol strtol |
| |
| /* Dynamic loading functions */ |
| #define ap_os_dso_handle_t unsigned long |
| void ap_os_dso_init(void); |
| ap_os_dso_handle_t ap_os_dso_load(const char *); |
| void ap_os_dso_unload(ap_os_dso_handle_t); |
| void * ap_os_dso_sym(ap_os_dso_handle_t, const char *); |
| const char *ap_os_dso_error(void); |
| |
| #endif /* ! APACHE_OS_H */ |