os.h revision 059f354a6b7b116e4469ff7fe99c1142affa0ad6
97a9a944b5887e91042b019776c41d5dd74557aferikabele/* ====================================================================
97a9a944b5887e91042b019776c41d5dd74557aferikabele * The Apache Software License, Version 1.1
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive * Copyright (c) 2000 The Apache Software Foundation. All rights
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive * reserved.
5a58787efeb02a1c3f06569d019ad81fd2efa06end * Redistribution and use in source and binary forms, with or without
5a58787efeb02a1c3f06569d019ad81fd2efa06end * modification, are permitted provided that the following conditions
5a58787efeb02a1c3f06569d019ad81fd2efa06end * are met:
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * 1. Redistributions of source code must retain the above copyright
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * notice, this list of conditions and the following disclaimer.
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * 2. Redistributions in binary form must reproduce the above copyright
5a58787efeb02a1c3f06569d019ad81fd2efa06end * notice, this list of conditions and the following disclaimer in
5a58787efeb02a1c3f06569d019ad81fd2efa06end * the documentation and/or other materials provided with the
5a58787efeb02a1c3f06569d019ad81fd2efa06end * distribution.
3f08db06526d6901aa08c110b5bc7dde6bc39905nd * 3. The end-user documentation included with the redistribution,
5a58787efeb02a1c3f06569d019ad81fd2efa06end * if any, must include the following acknowledgment:
5a58787efeb02a1c3f06569d019ad81fd2efa06end * "This product includes software developed by the
5a58787efeb02a1c3f06569d019ad81fd2efa06end * Apache Software Foundation (http://www.apache.org/)."
3f08db06526d6901aa08c110b5bc7dde6bc39905nd * Alternately, this acknowledgment may appear in the software itself,
5a58787efeb02a1c3f06569d019ad81fd2efa06end * if and wherever such third-party acknowledgments normally appear.
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd * 4. The names "Apache" and "Apache Software Foundation" must
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd * not be used to endorse or promote products derived from this
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd * software without prior written permission. For written
e1e8390280254f7f0580d701e583f670643d4f3fnilgun * permission, please contact apache@apache.org.
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd * 5. Products derived from this software may not be called "Apache",
5a58787efeb02a1c3f06569d019ad81fd2efa06end * nor may "Apache" appear in their name, without prior written
5a58787efeb02a1c3f06569d019ad81fd2efa06end * permission of the Apache Software Foundation.
5a58787efeb02a1c3f06569d019ad81fd2efa06end * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
5a58787efeb02a1c3f06569d019ad81fd2efa06end * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
5a58787efeb02a1c3f06569d019ad81fd2efa06end * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
5a58787efeb02a1c3f06569d019ad81fd2efa06end * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
06ba4a61654b3763ad65f52283832ebf058fdf1cslive * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
ced7ef1f8c0df1805da0e87dbc5a1b6282910573nd * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
ced7ef1f8c0df1805da0e87dbc5a1b6282910573nd * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
b21197dc8e6b8c764fdcc24d4bae8b0eebb6bc4end * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive * SUCH DAMAGE.
97a9a944b5887e91042b019776c41d5dd74557aferikabele * ====================================================================
ffb01336be79c64046b636e59fa8ddca8ec029edsf * This software consists of voluntary contributions made by many
f8396ed8364b56ec8adeaa49cac35a929758a29eslive * individuals on behalf of the Apache Software Foundation. For more
f8396ed8364b56ec8adeaa49cac35a929758a29eslive * information on the Apache Software Foundation, please see
5a58787efeb02a1c3f06569d019ad81fd2efa06end * Portions of this software are based upon public domain software
5a58787efeb02a1c3f06569d019ad81fd2efa06end * originally written at the National Center for Supercomputing Applications,
deeee6bb6fd94c0ba5f3730b58abd9d299c89ccdnd * University of Illinois, Urbana-Champaign.
ffb01336be79c64046b636e59fa8ddca8ec029edsf * Compile the server including all the Windows NT 4.0 header files by
117c1f888a14e73cdd821dc6c23eb0411144a41cnd * default. We still want the server to run on Win95/98 so use
117c1f888a14e73cdd821dc6c23eb0411144a41cnd * runtime checks before calling NT specific functions to verify we are
117c1f888a14e73cdd821dc6c23eb0411144a41cnd * really running on an NT system.
5a58787efeb02a1c3f06569d019ad81fd2efa06end * This file in included in all Apache source code. It contains definitions
654d8eb036bedc99e90e11910ee02d3421417697rbowen * of facilities available on _this_ operating system (HAVE_* macros),
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh * and prototypes of OS specific functions defined in os.c
5a58787efeb02a1c3f06569d019ad81fd2efa06end/* temporarily replace crypt */
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf/* char *crypt(const char *pw, const char *salt); */
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawick/* Although DIR_TYPE is dirent (see nt/readdir.h) we need direct.h for
97a9a944b5887e91042b019776c41d5dd74557aferikabele/* #undef HAVE_TIMES */
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive/* #undef HAVE_GETTIMEOFDAY */
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawicktypedef int uid_t;
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawicktypedef int gid_t;
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawicktypedef int pid_t;
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsftypedef char * caddr_t;
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsfDefine export types. API_EXPORT_NONSTD is a nasty hack to avoid having to declare
ffb01336be79c64046b636e59fa8ddca8ec029edsfevery configuration function as __stdcall.
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawick#if 0 /* Handled by APR... */
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawick# define API_EXPORT(type) __declspec(dllimport) type __stdcall
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf# define API_EXPORT_NONSTD(type) __declspec(dllimport) type
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf# define API_EXPORT(type) __declspec(dllexport) type __stdcall
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf# define API_EXPORT_NONSTD(type) __declspec(dllexport) type
8a6d5edcb07aeccca7afba02a17dd6904d6b206ctrawick#define S_ISLNK(m) (0)
f0fa55ff14fa0bf8fd72d989f6625de6dc3260c8igalic/* Seems Windows is not a subgenius */
e8d485701957d5c6de870111c112e168a894d49and /* For now, just do the same check that http_request.c and mod_alias.c
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7slive/* OS-dependent filename routines in util_win32.c */
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7sliveAPI_EXPORT(char *) ap_os_canonical_filename(ap_context_t *p, const char *file);
06ba4a61654b3763ad65f52283832ebf058fdf1csliveAPI_EXPORT(char *) ap_os_case_canonical_filename(ap_context_t *pPool, const char *szFile);
4a31db3c3a0202003c1b9f87affa7cc143e120e5sfAPI_EXPORT(char *) ap_os_systemcase_filename(ap_context_t *pPool, const char *szFile);
9b6a3a558cc90ffdaa0b50bd02546ffec424ded7sliveint os_strftime(char *, size_t , const char *, const struct tm *);
709e3a21ba73b8433462959cd56c773454b34441trawick/* Abstractions for dealing with shared object files (DLLs on Win32).
709e3a21ba73b8433462959cd56c773454b34441trawick * These are used by mod_so.c
709e3a21ba73b8433462959cd56c773454b34441trawick * ToDo: This need to be migrated to APR
5a58787efeb02a1c3f06569d019ad81fd2efa06end#define ap_os_dso_load(l) LoadLibraryEx(l, NULL, LOAD_WITH_ALTERED_SEARCH_PATH)
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung/* Other ap_os_ routines not used by this platform */
0d0ba3a410038e179b695446bb149cce6264e0abndtypedef void thread;
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedoohtypedef void event;
0d0ba3a410038e179b695446bb149cce6264e0abnd#endif /* ! APACHE_OS_H */