Annotation of win32/apache22/include/http_vhost.h, revision 1.1
1.1 ! moko 1: /* Licensed to the Apache Software Foundation (ASF) under one or more
! 2: * contributor license agreements. See the NOTICE file distributed with
! 3: * this work for additional information regarding copyright ownership.
! 4: * The ASF licenses this file to You under the Apache License, Version 2.0
! 5: * (the "License"); you may not use this file except in compliance with
! 6: * the License. You may obtain a copy of the License at
! 7: *
! 8: * http://www.apache.org/licenses/LICENSE-2.0
! 9: *
! 10: * Unless required by applicable law or agreed to in writing, software
! 11: * distributed under the License is distributed on an "AS IS" BASIS,
! 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
! 13: * See the License for the specific language governing permissions and
! 14: * limitations under the License.
! 15: */
! 16:
! 17: /**
! 18: * @file http_vhost.h
! 19: * @brief Virtual Host package
! 20: *
! 21: * @defgroup APACHE_CORE_VHOST Virtual Host Package
! 22: * @ingroup APACHE_CORE
! 23: * @{
! 24: */
! 25:
! 26: #ifndef APACHE_HTTP_VHOST_H
! 27: #define APACHE_HTTP_VHOST_H
! 28:
! 29: #ifdef __cplusplus
! 30: extern "C" {
! 31: #endif
! 32:
! 33: /**
! 34: * called before any config is read
! 35: * @param p Pool to allocate out of
! 36: */
! 37: AP_DECLARE(void) ap_init_vhost_config(apr_pool_t *p);
! 38:
! 39: /**
! 40: * called after the config has been read to compile the tables needed to do
! 41: * the run-time vhost lookups
! 42: * @param p The pool to allocate out of
! 43: * @param main_server The start of the virtual host list
! 44: */
! 45: AP_DECLARE(void) ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server);
! 46:
! 47: /**
! 48: * handle addresses in "<VirtualHost>" statement
! 49: * @param p The pool to allocate out of
! 50: * @param hostname The hostname in the VirtualHost statement
! 51: * @param s The list of Virtual Hosts.
! 52: */
! 53: const char *ap_parse_vhost_addrs(apr_pool_t *p, const char *hostname, server_rec *s);
! 54:
! 55: /**
! 56: * handle NameVirtualHost directive
! 57: * @param cmd Command Parameters structure
! 58: * @param dummy NOT USED
! 59: * @param arg a host of the form "<address>[:port]"
! 60: */
! 61: const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy,
! 62: const char *arg);
! 63:
! 64: /**
! 65: * Callback function for every Name Based Virtual Host.
! 66: * @param baton Opaque user object
! 67: * @param conn The current Connection
! 68: * @param s The current Server
! 69: * @see ap_vhost_iterate_given_conn
! 70: * @return 0 on success, any non-zero return will stop the iteration.
! 71: */
! 72: typedef int(*ap_vhost_iterate_conn_cb)(void* baton, conn_rec* conn, server_rec* s);
! 73:
! 74: /**
! 75: * For every virtual host on this connection, call func_cb.
! 76: * @param conn The current connection
! 77: * @param func_cb Function called for every Name Based Virtual Host for this
! 78: * connection.
! 79: * @param baton Opaque object passed to func_cb.
! 80: * @return The return value from func_cb.
! 81: * @note If func_cb returns non-zero, the function will return at this point,
! 82: * and not continue iterating the virtual hosts.
! 83: */
! 84: AP_DECLARE(int) ap_vhost_iterate_given_conn(conn_rec *conn,
! 85: ap_vhost_iterate_conn_cb func_cb,
! 86: void* baton);
! 87:
! 88: /**
! 89: * given an ip address only, give our best guess as to what vhost it is
! 90: * @param conn The current connection
! 91: */
! 92: AP_DECLARE(void) ap_update_vhost_given_ip(conn_rec *conn);
! 93:
! 94: /**
! 95: * ap_update_vhost_given_ip is never enough, and this is always called after
! 96: * the headers have been read. It may change r->server.
! 97: * @param r The current request
! 98: */
! 99: AP_DECLARE(void) ap_update_vhost_from_headers(request_rec *r);
! 100:
! 101: /**
! 102: * Match the host in the header with the hostname of the server for this
! 103: * request.
! 104: * @param r The current request
! 105: * @param host The hostname in the headers
! 106: * @param port The port from the headers
! 107: * @return return 1 if the host:port matches any of the aliases of r->server,
! 108: * return 0 otherwise
! 109: */
! 110: AP_DECLARE(int) ap_matches_request_vhost(request_rec *r, const char *host,
! 111: apr_port_t port);
! 112:
! 113: #ifdef __cplusplus
! 114: }
! 115: #endif
! 116:
! 117: #endif /* !APACHE_HTTP_VHOST_H */
! 118: /** @} */
E-mail: