blob: fa1f3fb8e7bd300e3bc95ad0a673928ed4b52c40 [file] [log] [blame]
/* 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 */