+.deps
+.libs
+*.la
+modules.mk
+Makefile
+*.lo
+*.slo
+*.so
Debug
Release
+*.plg
+*.aps
+*.dep
*.mak
*.rc
BuildLog.htm
--- /dev/null
+# a modules Makefile has no explicit targets -- they will be defined by
+# whatever modules are enabled. just grab special.mk to deal with this.
+include $(top_srcdir)/build/special.mk
--- /dev/null
+dnl modules enabled in this directory by default
+
+dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
+
+APACHE_MODPATH_INIT(arch/win32)
+
+APACHE_MODULE(isapi, isapi extension support, , , no)
+
+APR_ADDTO(LT_LDFLAGS,-export-dynamic)
+
+APACHE_MODPATH_FINISH
* location, etc) they apply to.
*/
isa->report_version = MAKELONG(0, 5); /* Revision 5.0 */
- isa->timeout = INFINITE; /* microsecs */
+ isa->timeout = 300 * 1000000; /* microsecs, not used */
rv = apr_dso_load(&isa->handle, isa->filename, p);
if (rv)
**********************************************************/
/* Our "Connection ID" structure */
-typedef struct isapi_cid {
+struct isapi_cid {
EXTENSION_CONTROL_BLOCK *ecb;
isapi_dir_conf dconf;
isapi_loaded *isa;
PFN_HSE_IO_COMPLETION completion;
void *completion_arg;
apr_thread_mutex_t *completed;
-} isapi_cid;
+};
int APR_THREAD_FUNC GetServerVariable (isapi_cid *cid,
char *variable_name,
*/
if (subreq->path_info && *subreq->path_info) {
apr_cpystrn(info->lpszPath + info->cchMatchingPath,
- subreq->path_info, MAX_PATH - info->cchMatchingPath);
+ subreq->path_info,
+ sizeof(info->lpszPath) - info->cchMatchingPath);
info->cchMatchingURL -= strlen(subreq->path_info);
if (subreq->finfo.filetype == APR_DIR
- && info->cchMatchingPath < MAX_PATH - 1) {
+ && info->cchMatchingPath < sizeof(info->lpszPath) - 1) {
/* roll forward over path_info's first slash */
++info->cchMatchingPath;
++info->cchMatchingURL;
}
}
else if (subreq->finfo.filetype == APR_DIR
- && info->cchMatchingPath < MAX_PATH - 1) {
+ && info->cchMatchingPath < sizeof(info->lpszPath) - 1) {
/* Add a trailing slash for directory */
info->lpszPath[info->cchMatchingPath++] = '/';
info->lpszPath[info->cchMatchingPath] = '\0';
/* Our internal 'HCONN' representation, always opaque to the user.
*/
-typedef struct isapi_cid isapi_cid, *HCONN;
+typedef struct isapi_cid isapi_cid;
+typedef struct isapi_cid *HCONN;
/* Prototypes of the essential functions exposed by mod_isapi
* for the module to communicate with Apache.
} HSE_TF_INFO;
typedef struct HSE_URL_MAPEX_INFO {
- char lpszPath[MAX_PATH];
+ char lpszPath[260];
apr_uint32_t dwFlags;
apr_uint32_t cchMatchingPath;
apr_uint32_t cchMatchingURL;
#define HSE_STATUS_PENDING 3 /* Emulated (thread lock) */
#define HSE_STATUS_ERROR 4
+/* Anticipated error code for common faults within mod_isapi itself
+ */
+#ifndef ERROR_INSUFFICIENT_BUFFER
+#define ERROR_INSUFFICIENT_BUFFER ENOBUFS
+#endif
+#ifndef ERROR_INVALID_INDEX
+#define ERROR_INVALID_INDEX EINVAL
+#endif
+#ifndef ERROR_INVALID_PARAMETER
+#define ERROR_INVALID_PARAMETER EINVAL
+#endif
+#ifndef ERROR_READ_FAULT
+#define ERROR_READ_FAULT EIO
+#endif
+#ifndef ERROR_WRITE_FAULT
+#define ERROR_WRITE_FAULT EIO
+#endif
+#ifndef ERROR_SUCCESS
+#define ERROR_SUCCESS 0
+#endif
+
/* Valid flags passed with TerminateExtension()
*/
#define HSE_TERM_MUST_UNLOAD 1