os.h revision 09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive * This file in included in all Apache source code. It contains definitions
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive * of facilities available on _this_ operating system (HAVE_* macros),
f6d0bff0e95a7e6dd97f871582a1f091477c45c9lars * and prototypes of OS specific functions defined in os.c
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive/* temporarily replace crypt */
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive/* char *crypt(const char *pw, const char *salt); */
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive/* Although DIR_TYPE is dirent (see nt/readdir.h) we need direct.h for
51853aa2ebfdf9903a094467e1d02099f143639daaron/*#define WIN32_LEAN_AND_MEAN Now defined in project files */
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive//#define NEED_PROCESS_H although we do, this is specially handled in ap_config.h
4a7e911a2df39170655de6ea32debfcf7e376bfaslivetypedef int uid_t;
4a7e911a2df39170655de6ea32debfcf7e376bfaslivetypedef int gid_t;
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larstypedef int pid_t;
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larstypedef int mode_t;
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larstypedef char * caddr_t;
a27e9e05958bc51ea09edb8d8d862fe8b125313bsliveDefine export types. API_EXPORT_NONSTD is a nasty hack to avoid having to declare
a27e9e05958bc51ea09edb8d8d862fe8b125313bsliveevery configuration function as __stdcall.
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive# define API_EXPORT(type) __declspec(dllimport) type __stdcall
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive# define API_EXPORT_NONSTD(type) __declspec(dllimport) type
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive# define API_EXPORT(type) __declspec(dllexport) type __stdcall
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive# define API_EXPORT_NONSTD(type) __declspec(dllexport) type
f6d0bff0e95a7e6dd97f871582a1f091477c45c9lars#define S_ISLNK(m) (0)
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive/* Seems Windows is not a subgenius */
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive /* For now, just do the same check that http_request.c and mod_alias.c
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larsAPI_EXPORT(int) os_stat(const char *szPath,struct stat *pStat);
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larsAPI_EXPORT(int) os_strftime(char *s, size_t max, const char *format, const struct tm *tm);
6cced120094ad0ee645247fbcdbac5dae2f5da98slive#define _spawnv(mode,cmdname,argv) os_spawnv(mode,cmdname,argv)
f6d0bff0e95a7e6dd97f871582a1f091477c45c9lars#define spawnv(mode,cmdname,argv) os_spawnv(mode,cmdname,argv)
a27e9e05958bc51ea09edb8d8d862fe8b125313bsliveAPI_EXPORT(int) os_spawnv(int mode,const char *cmdname,const char *const *argv);
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive#define _spawnve(mode,cmdname,argv,envp) os_spawnve(mode,cmdname,argv,envp)
f6d0bff0e95a7e6dd97f871582a1f091477c45c9lars#define spawnve(mode,cmdname,argv,envp) os_spawnve(mode,cmdname,argv,envp)
f6d0bff0e95a7e6dd97f871582a1f091477c45c9larsAPI_EXPORT(int) os_spawnve(int mode,const char *cmdname,const char *const *argv,const char *const *envp);
a27e9e05958bc51ea09edb8d8d862fe8b125313bsliveAPI_EXPORT(int) os_spawnle(int mode,const char *cmdname,...);
a27e9e05958bc51ea09edb8d8d862fe8b125313bslive/* OS-dependent filename routines in util_win32.c */
a27e9e05958bc51ea09edb8d8d862fe8b125313bsliveAPI_EXPORT(int) ap_os_is_filename_valid(const char *file);
222f0f03c2f9ee6343c18f80f0cb6e9aad21bc58slive/* Abstractions for dealing with shared object files (DLLs on Win32).
222f0f03c2f9ee6343c18f80f0cb6e9aad21bc58slive * These are used by mod_so.c
222f0f03c2f9ee6343c18f80f0cb6e9aad21bc58slive#define ap_os_dso_load(l) LoadLibraryEx(l, NULL, LOAD_WITH_ALTERED_SEARCH_PATH)
222f0f03c2f9ee6343c18f80f0cb6e9aad21bc58slive/* Other ap_os_ routines not used by this platform */
222f0f03c2f9ee6343c18f80f0cb6e9aad21bc58slive#endif /* ! APACHE_OS_H */