Return-Path: Delivered-To: apache-cvs-archive@hyperreal.org Received: (qmail 2147 invoked by uid 6000); 31 Mar 1999 23:49:25 -0000 Received: (qmail 2062 invoked by alias); 31 Mar 1999 23:49:21 -0000 Delivered-To: apache-devsite-cvs@hyperreal.org Received: (qmail 2027 invoked by uid 161); 31 Mar 1999 23:49:20 -0000 Date: 31 Mar 1999 23:49:20 -0000 Message-ID: <19990331234920.2022.qmail@hyperreal.org> From: coar@hyperreal.org To: apache-devsite-cvs@hyperreal.org Subject: cvs commit: apache-devsite/apidoc .cvsignore api.list dict-HTTP_GATEWAY_TIME_OUT.html dict-ap_acquire_mutex.html dict-ap_add_common_vars.html dict-ap_add_per_dir_conf.html dict-ap_append_arrays.html dict-ap_block_alarms.html dict-ap_bprintf.html dict-ap_clear_pool.html dict-ap_copy_array_hdr.html dict-ap_create_mutex.html dict-ap_destroy_mutex.html dict-ap_destroy_pool.html dict-ap_destroy_sub_req.html dict-ap_escape_shell_cmd.html dict-ap_get_client_block.html dict-ap_kill_cleanup.html dict-ap_kill_cleanups_for_fd.html dict-ap_kill_cleanups_for_socket.html dict-ap_kill_timeout.html dict-ap_log_error_old.html dict-ap_make_sub_pool.html dict-ap_make_table.html dict-ap_note_subprocess.html dict-ap_open_mutex.html dict-ap_pclosef.html dict-ap_psprintf.html dict-ap_pvsprintf.html dict-ap_run_sub_req.html dict-ap_setup_client_block.html dict-ap_should_client_block.html dict-ap_snprintf.html dict-ap_spawn_child_err.html dict-ap_spawn_child_err_buff.html dict-ap_sub_req_lookup_file.html dict-ap_sub_req_lookup_uri.html dict-ap_table_addn.html dict-ap_table_mergen.html dict-ap_table_setn.html dict-ap_unblock_alarms.html dict-ap_vbprintf.html dict-ap_vsnprintf.html dict-cmd_how.html mkapidict Sender: apache-cvs-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org coar 99/03/31 15:49:18 Modified: apidoc api.list dict-HTTP_GATEWAY_TIME_OUT.html dict-ap_acquire_mutex.html dict-ap_add_common_vars.html dict-ap_add_per_dir_conf.html dict-ap_append_arrays.html dict-ap_block_alarms.html dict-ap_bprintf.html dict-ap_clear_pool.html dict-ap_copy_array_hdr.html dict-ap_create_mutex.html dict-ap_destroy_mutex.html dict-ap_destroy_pool.html dict-ap_destroy_sub_req.html dict-ap_escape_shell_cmd.html dict-ap_get_client_block.html dict-ap_kill_cleanup.html dict-ap_kill_cleanups_for_fd.html dict-ap_kill_cleanups_for_socket.html dict-ap_kill_timeout.html dict-ap_log_error_old.html dict-ap_make_sub_pool.html dict-ap_make_table.html dict-ap_note_subprocess.html dict-ap_open_mutex.html dict-ap_pclosef.html dict-ap_psprintf.html dict-ap_pvsprintf.html dict-ap_run_sub_req.html dict-ap_setup_client_block.html dict-ap_should_client_block.html dict-ap_snprintf.html dict-ap_spawn_child_err.html dict-ap_spawn_child_err_buff.html dict-ap_sub_req_lookup_file.html dict-ap_sub_req_lookup_uri.html dict-ap_table_addn.html dict-ap_table_mergen.html dict-ap_table_setn.html dict-ap_unblock_alarms.html dict-ap_vbprintf.html dict-ap_vsnprintf.html dict-cmd_how.html mkapidict Added: apidoc .cvsignore Log: Change mkapidict to use command-line options rather than positional ARGV values. Make layout level 0 be 'full,' with each definition in its own file (handy for reference, friendlier to the network and caches). Get rid of hard-coded anchors, since the script now inserts them as it processes individual description files, and their syntax varies depending upon the layout. Fix a bunch of HTML-unfriendly codings in the descriptions. Revision Changes Path 1.10 +201 -197 apache-devsite/apidoc/api.list Index: api.list =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/api.list,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- api.list 1999/03/30 22:32:55 1.9 +++ api.list 1999/03/31 23:48:34 1.10 @@ -207,7 +207,7 @@ ...determine modules to load and order of module list... \n \ $* = first; \n \ \n \ -for (modp = $*; modp; modp = modp->next) { \n \ +for (modp = $*; modp; modp = modp->next) { \n \ ...do some per directory config processing... \n \ } \ |SA-module\ @@ -266,7 +266,7 @@ S|AP_MD5_CTX\ |This is an opaque structure; you don't need to access any of its \ elements.\ - |$* identifier\ + |$* identifier\ |SA-md5\ | R|ap_md5\ @@ -317,7 +317,7 @@ S|mutex\ |This is an opaque structure; you don't need to access any of its \ elements.\ - |$* identifier\ + |$* identifier\ |\ |dict-$*.html R|ap_acquire_mutex\ @@ -358,102 +358,102 @@ |\ | C|SERVER_DEAD\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Dead", r); \n \ -break;\n}\ + ap_rputs("Dead", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_STARTING\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Starting", r); \n \ -break;\n}\ + ap_rputs("Starting", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_READY\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Ready", r); \n \ -break;\n}\ + ap_rputs("Ready", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_READ\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Read", r); \n \ -break;\n}\ + ap_rputs("<B>Read</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_WRITE\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Write", r); \n \ -break;\n}\ + ap_rputs("<B>Write</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_KEEPALIVE\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Keepalive", r); \n \ -break;\n}\ + ap_rputs("<B>Keepalive</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_LOG\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Logging", r); \n \ -break;\n}\ + ap_rputs("<B>Logging</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_DNS\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("DNS lookup", r); \n \ -break;\n}\ + ap_rputs("<B>DNS lookup</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_GRACEFUL\ - |#define $* value\ + |#define $* value\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("Graceful", r); \n \ -break;\n}\ + ap_rputs("Graceful", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_NUM_STATUS\ - |#define $* value\ - |if (score_record.status < $*)\nreturn OK;\ + |#define $* value\ + |if (score_record.status < $*) {\n return OK;\n} \ |SA-scoreboard\ |dict-$*.html C|START_PREQUEST\ - |#define $* value\ - |if (status == $*) {\n...deal with request start time...\n}\ + |#define $* value\ + |if (status == $*) {\n ...deal with request start time...\n}\ |SA-scoreboard\ |dict-$*.html C|STOP_PREQUEST\ - |#define $* value\ - |if (status == $*) {\n...deal with request stop time...\n}\ + |#define $* value\ + |if (status == $*) {\n ...deal with request stop time...\n}\ |SA-scoreboard\ |dict-$*.html D|ap_scoreboard_image\ |extern scoreboard *$*;\ - |$*->global.exit_generation = 0;\ + |$*->global.exit_generation = 0;\ |SA-scoreboard\ |dict-$*.html S|vtime_t\ |typedef unsigned vtime_t;\ |short_score *ss; \n \ -parent_score *ps = &ap_scoreboard_image->parent[i]; \n \ -if (ss->cur_vtime != ps->last_vtime) { \n \ +parent_score *ps = &ap_scoreboard_image->parent[i]; \n \ +if (ss->cur_vtime != ps->last_vtime) { \n \ /* it has made progress, so update its last_rtime, \n \ * last_vtime */ \n \ - ps->last_rtime = now; \n \ - ps->last_vtime = ss->cur_vtime; \n \ + ps->last_rtime = now; \n \ + ps->last_vtime = ss->cur_vtime; \n \ } \n \ -else if (ps->last_rtime + ss->timeout_len < now) { \n \ +else if (ps->last_rtime + ss->timeout_len < now) { \n \ /* no progress, and the timeout length has been exceeded */ \n \ - ss->timeout_len = 0; \n \ - kill(ps->pid, SIGALRM); \n \ + ss->timeout_len = 0; \n \ + kill(ps->pid, SIGALRM); \n \ } \ |SA-scoreboard\ |dict-$*.html @@ -469,8 +469,8 @@ #endif \n \ } $*;\ |$* ps_record; \n \ -for (i = 0; i < HARD_SERVER_LIMIT; ++i) { \n \ - ps_record = ap_scoreboard_image->parent[i]; \n \ +for (i = 0; i < HARD_SERVER_LIMIT; ++i) { \n \ + ps_record = ap_scoreboard_image->parent[i]; \n \ } \ |SA-scoreboard\ |dict-$*.html @@ -545,7 +545,7 @@ S|ap_wait_t\ |This is an opaque structure; you don't need to access any of its \ elements.\ - |$* identifier\ + |$* identifier\ |\ | S|configfile_t\ @@ -828,37 +828,37 @@ |\ | C|RSRC_CONF\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|ACCESS_CONF\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|OR_AUTHCFG\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|OR_LIMIT\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|OR_OPTIONS\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|OR_FILEINFO\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html C|OR_INDEXES\ - |#define $* value\ + |#define $* value\ |\ |SA-overrides\ |dict-$*.html @@ -874,7 +874,7 @@ |\ | S|table\ - |typedef struct $* {opaque-structure};\ + |typedef struct $* {opaque-structure};\ |\ |SA-tables\ |dict-$*.html @@ -1005,7 +1005,7 @@ |\ | S|pool\ - |[struct] pool opaque-structure\ + |[struct] pool opaque-structure\ |pool *p; \ \nchar *foo; \ \nfoo = ap_pstrcat(p, "string 1", "string 2", null);\ @@ -1212,7 +1212,7 @@ |SA-dirdata\ |dict-$*.html C|RAW_ARGS\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ @@ -1224,7 +1224,7 @@ |SA-dirdata\ |dict-$*.html C|TAKE1\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ @@ -1235,7 +1235,7 @@ |SA-dirdata\ |dict-$*.html C|TAKE2\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec action_cmds[] =\n\ {\n\ {"Action", add_action, NULL, OR_FILEINFO, TAKE2,\n\ @@ -1246,53 +1246,49 @@ |SA-dirdata\ |dict-$*.html C|ITERATE\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ - {"IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS, ITERATE,\n\ + {"IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS, ITERATE,\n \ "one or more file extensions"},\n\ - .\n\ {NULL}\n\ };\ |SA-dirdata\ |dict-$*.html C|ITERATE2\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ - {"AddIcon", add_icon, BY_PATH, DIR_CMD_PERMS, ITERATE2,\N\ + {"AddIcon", add_icon, BY_PATH, DIR_CMD_PERMS, ITERATE2,\n \ "an icon url followed by one or more filenames"},\n\ - .\n\ {NULL}\n\ };\ |SA-dirdata\ |dict-$*.html C|FLAG\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ - {"FancyIndexing", fancy_indexing, NULL, DIR_CMD_PERMS, FLAG,\n\ + {"FancyIndexing", fancy_indexing, NULL, DIR_CMD_PERMS, FLAG,\n \ "limited to 'on' or 'off' (superseded by IndexOptions FancyIndexing)"},\n\ - .\n\ {NULL}\n\ };\ |SA-dirdata\ |dict-$*.html C|NO_ARGS\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec negotiation_cmds[] =\n\ {\n\ - {"CacheNegotiatedDocs", cache_negotiated_docs, NULL, RSRC_CONF, NO_ARGS,\n\ + {"CacheNegotiatedDocs", cache_negotiated_docs, NULL, RSRC_CONF, NO_ARGS,\n \ "no arguments (either present or absent)"},\n\ - .\n\ {NULL}\n\ };\ |SA-dirdata\ |dict-$*.html C|TAKE12\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec config_log_cmds[] =\n\ {\n\ .\n\ @@ -1304,12 +1300,12 @@ |SA-dirdata\ |dict-$*.html C|TAKE3\ - |see cmd_how.\ + |see cmd_how.\ |\ |SA-dirdata\ |dict-$*.html C|TAKE23\ - |see cmd_how.\ + |see cmd_how.\ |static const command_rec headers_cmds[] =\n\ {\n\ {"Header", header_cmd, NULL, OR_FILEINFO, TAKE23,\n\ @@ -1320,12 +1316,12 @@ |SA-dirdata\ |dict-$*.html C|TAKE123\ - |see cmd_how.\ + |see cmd_how.\ |\ |SA-dirdata\ |dict-$*.html C|TAKE13\ - |see cmd_how.\ + |see cmd_how.\ |\ |SA-dirdata\ |dict-$*.html @@ -1359,14 +1355,14 @@ |dict-$*.html R|ap_os_canonical_filename\ |char *$*(pool *p, const char *file);\ - |request_rec *r;\nr->filename = $*(r->pool, r->filename);\ + |request_rec *r;\nr->filename = $*(r->pool, r->filename);\ |\ |dict-$*.html R|ap_escape_quotes\ |char *$*(pool *p, const char *str);\ |cmd_parms *cmd;\nchar *word1;\n \ core_dir_config *aconfig = (core_dir_config *)mconfig; \n \ -aconfig->ap_auth_name = $*(cmd->pool, word1);\ +aconfig->ap_auth_name = $*(cmd->pool, word1);\ |\ |dict-$*.html R|ap_log_error_old\ @@ -1377,7 +1373,7 @@ R|ap_parse_hostinfo_components\ |int $*(pool *p, const char *hostinfo, uri_components *uptr);\ |request_rec *r;\nconst char *uri;\nint status; \n \ -status = $*(r->pool, uri, &r->parsed_uri);\ +status = $*(r->pool, uri, &r->parsed_uri);\ |\ |dict-$*.html R|ap_psprintf\ @@ -1394,7 +1390,7 @@ R|ap_snprintf\ |int $*(char *buf, size_t nbytes, const char *fmt, ...);\ |char buffer[HUGE_STRING_LEN];\nrequest_rec *r;\n \ -$*(buffer, sizeof(buffer), "connect %s http/1.0" crlf, r->uri);\ +$*(buffer, sizeof(buffer), "connect %s http/1.0" crlf, r->uri);\ |\ |dict-$*.html R|ap_add_per_url_conf\ @@ -2630,18 +2626,18 @@ #; Miscellaneous constants #; C|MAX_STRING_LEN\ - |#define $* numbytes\ + |#define $* numbytes\ |char random_string[$*];\ |\ |dict-$*.html C|SERVER_VERSION\ - |#define $* string\ + |#define $* string\ |Deprecated; use ap_get_server_version() instead.\ |\ |dict-$*.html C|HARD_SERVER_LIMIT\ - |#define $* value\ - |for (i = 0; i < $*; ++i) {\n ...per-child processing...\n}\ + |#define $* value\ + |for (i = 0; i < $*; ++i) {\n ...per-child processing...\n}\ |\ |dict-$*.html C|kill_conditions\ @@ -2652,12 +2648,12 @@ just_wait, \n \ kill_only_once \n \ };\ - |struct process_chain *p;\np->kill_how = kill_never; \ + |struct process_chain *p;\np->kill_how = kill_never; \ |\ |dict-$*.html C|MODULE_MAGIC_NUMBER\ - |#define $* monotonically-increasing-value\ - |module *m;\nif (m->version != MODULE_MAGIC_NUMBER)\n exit(1);\ + |#define $* monotonically-increasing-value\ + |module *m;\nif (m->version != MODULE_MAGIC_NUMBER)\n exit(1);\ |\ |dict-$*.html C|SERVER_SUPPORT\ @@ -2676,22 +2672,22 @@ |\ | C|OK\ - |#define $* value\ - |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ + |#define $* value\ + |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ return $*; \n \ } \ |SA-dirstat\ |dict-$*.html C|DECLINED\ - |#define $* value\ - |request_rec *r;\nif (is_HTTP_ERROR(r->status)) { \n \ + |#define $* value\ + |request_rec *r;\nif (is_HTTP_ERROR(r->status)) { \n \ return $*; \n \ } \ |SA-dirstat\ |dict-$*.html C|DONE\ - |#define $* value\ - |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ + |#define $* value\ + |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ return $*; \n \ } \ |SA-dirstat\ @@ -2700,193 +2696,193 @@ #; HTTP status code declarations. #; C|HTTP_CONTINUE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SWITCHING_PROTOCOLS\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_OK\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_CREATED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_ACCEPTED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NON_AUTHORITATIVE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NO_CONTENT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_RESET_CONTENT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PARTIAL_CONTENT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MULTIPLE_CHOICES\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MOVED_PERMANENTLY\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MOVED_TEMPORARILY\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SEE_OTHER\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_MODIFIED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_USE_PROXY\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_BAD_REQUEST\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_UNAUTHORIZED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PAYMENT_REQUIRED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_FORBIDDEN\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_FOUND\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_METHOD_NOT_ALLOWED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_ACCEPTABLE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PROXY_AUTHENTICATION_REQUIRED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_TIME_OUT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_CONFLICT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_GONE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_LENGTH_REQUIRED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PRECONDITION_FAILED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_ENTITY_TOO_LARGE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_URI_TOO_LARGE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_UNSUPPORTED_MEDIA_TYPE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_INTERNAL_SERVER_ERROR\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_IMPLEMENTED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_BAD_GATEWAY\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SERVICE_UNAVAILABLE\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_GATEWAY_TIME_OUT\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_VERSION_NOT_SUPPORTED\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_VARIANT_ALSO_VARIES\ - |#define $* value\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* value\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html #; Multithread stuff @@ -2896,7 +2892,7 @@ |\ | C|MULTI_OK\ - |#define $* value\ + |#define $* value\ |static int\nmap_rv(int rv)\n{ \n \ switch(rv)\n { \n \ case WAIT_OBJECT_0: \n \ @@ -2915,7 +2911,7 @@ |SA-multi\ |dict-$*.html C|MULTI_TIMEOUT\ - |#define $* value\ + |#define $* value\ |static int\nmap_rv(int rv)\n{ \n \ switch(rv)\n { \n \ case WAIT_OBJECT_0: \n \ @@ -2934,7 +2930,7 @@ |SA-multi\ |dict-$*.html C|MULTI_ERR\ - |#define $* value\ + |#define $* value\ |static int\nmap_rv(int rv)\n{ \n \ switch(rv)\n { \n \ case WAIT_OBJECT_0: \n \ @@ -2965,42 +2961,42 @@ | R|is_HTTP_INFO\ |#define $*(x) (((x) >= 100) && ((x) < 200))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return OK; \n \ } \ |SA-status-check\ |dict-$*.html R|is_HTTP_SUCCESS\ |#define $*(x) (((x) >= 200) && ((x) < 300))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return OK; \n \ } \ |SA-status-check\ |dict-$*.html R|is_HTTP_REDIRECT\ |#define $*(x) (((x) >= 300) && ((x) < 400))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return OK; \n \ } \ |SA-status-check\ |dict-$*.html R|is_HTTP_ERROR\ |#define $*(x) (((x) >= 400) && ((x) < 600))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return DONE; \n \ } \ |SA-status-check\ |dict-$*.html R|is_HTTP_CLIENT_ERROR\ |#define $*(x) (((x) >= 400) && ((x) < 500))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return DONE; \n \ } \ |SA-status-check\ |dict-$*.html R|is_HTTP_SERVER_ERROR\ |#define $*(x) (((x) >= 500) && ((x) < 600))\ - |request_rec *r;\nif (!$*(r->status)) { \n \ + |request_rec *r;\nif (!$*(r->status)) { \n \ return DONE; \n \ } \ |SA-status-check\ @@ -3022,9 +3018,9 @@ * If we want to keep the connection, be sure that the request body \n \ * (if any) has been read. \n \ */ \n \ - if ((r->status != HTTP_NOT_MODIFIED) && (r->status != HTTP_NO_CONTENT) \n \ - && !$*(r->status) \n \ - && r->connection && (r->connection->keepalive != -1)) { \n \ + if ((r->status != HTTP_NOT_MODIFIED) && (r->status != HTTP_NO_CONTENT) \n \ + && !$*(r->status) \n \ + && r->connection && (r->connection->keepalive != -1)) { \n \ (void) ap_discard_request_body(r); \n \ } \ |SA-status-check\ @@ -3035,42 +3031,50 @@ |\ | C|M_GET\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_PUT\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_POST\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_DELETE\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_CONNECT\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_OPTIONS\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_TRACE\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_INVALID\ - |#define $* value\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* value\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html 1.2 +1 -1 apache-devsite/apidoc/dict-HTTP_GATEWAY_TIME_OUT.html Index: dict-HTTP_GATEWAY_TIME_OUT.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-HTTP_GATEWAY_TIME_OUT.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-HTTP_GATEWAY_TIME_OUT.html 1999/03/06 18:16:25 1.1 +++ dict-HTTP_GATEWAY_TIME_OUT.html 1999/03/31 23:48:34 1.2 @@ -2,4 +2,4 @@ Constant denoting HTTP Gateway Time Out status. The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server it accessed in attempting to complete the request. -/P> +

1.3 +1 -1 apache-devsite/apidoc/dict-ap_acquire_mutex.html Index: dict-ap_acquire_mutex.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_acquire_mutex.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_acquire_mutex.html 1999/03/06 18:16:38 1.2 +++ dict-ap_acquire_mutex.html 1999/03/31 23:48:34 1.3 @@ -1,5 +1,5 @@

-Acquires a mutex. Only actually does anything on +Acquires a mutex. Only actually does anything on multithreaded platforms.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_add_common_vars.html Index: dict-ap_add_common_vars.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_add_common_vars.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_add_common_vars.html 1999/03/06 18:16:39 1.1 +++ dict-ap_add_common_vars.html 1999/03/31 23:48:35 1.2 @@ -3,7 +3,7 @@ placed there are:

-
CGI variables (see ap_add_cgi_vars) +
CGI variables (see ap_add_cgi_vars)
CONTENT_TYPE
CONTENT_LENGTH
PATH 1.3 +1 -1 apache-devsite/apidoc/dict-ap_add_per_dir_conf.html Index: dict-ap_add_per_dir_conf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_add_per_dir_conf.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_add_per_dir_conf.html 1999/03/30 22:10:48 1.2 +++ dict-ap_add_per_dir_conf.html 1999/03/31 23:48:35 1.3 @@ -3,5 +3,5 @@ these are part of the core server config.

-Returns a core_server_config structure. +Returns a core_server_config structure.

1.3 +3 -3 apache-devsite/apidoc/dict-ap_append_arrays.html Index: dict-ap_append_arrays.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_append_arrays.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_append_arrays.html 1999/03/30 22:10:49 1.2 +++ dict-ap_append_arrays.html 1999/03/31 23:48:35 1.3 @@ -1,8 +1,8 @@

-Makes a new array consisting of b appended to a. If b +Makes a new array consisting of b appended to a. +If b is empty, the new array is the same as a until a new element is added. -This is a result of using ap_copy_array_header - to make the new array. +This is a result of using ap_copy_array_header to make the new array.

Returns a pointer to the new array. 1.2 +1 -1 apache-devsite/apidoc/dict-ap_block_alarms.html Index: dict-ap_block_alarms.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_block_alarms.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_block_alarms.html 1999/03/06 18:16:41 1.1 +++ dict-ap_block_alarms.html 1999/03/31 23:48:36 1.2 @@ -3,5 +3,5 @@

Calls to this function can be nested, but each call must have a corresponding -call to unblock_alarms. +call to unblock_alarms.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_bprintf.html Index: dict-ap_bprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_bprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_bprintf.html 1999/03/06 18:16:41 1.1 +++ dict-ap_bprintf.html 1999/03/31 23:48:36 1.2 @@ -1,5 +1,5 @@

-Copies formatted data to a BUFF structure. +Copies formatted data to a BUFF structure.

Returns 0 on success, -1 on failure. 1.3 +1 -1 apache-devsite/apidoc/dict-ap_clear_pool.html Index: dict-ap_clear_pool.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_clear_pool.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_clear_pool.html 1999/03/30 22:11:01 1.2 +++ dict-ap_clear_pool.html 1999/03/31 23:48:36 1.3 @@ -1,5 +1,5 @@

Clears a pool, destroying all subpools of the pool using -ap_destroy_pool. The pool is then ready to be +ap_destroy_pool. The pool is then ready to be reused.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_copy_array_hdr.html Index: dict-ap_copy_array_hdr.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_copy_array_hdr.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_copy_array_hdr.html 1999/03/30 22:11:04 1.2 +++ dict-ap_copy_array_hdr.html 1999/03/31 23:48:36 1.3 @@ -1,6 +1,6 @@

Copies arr into the pool p without copying the array's -contents. If ap_push_array is used to extend +contents. If ap_push_array is used to extend the new array, the original array is copied to it before the extend takes place.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_create_mutex.html Index: dict-ap_create_mutex.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_create_mutex.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_create_mutex.html 1999/03/30 22:11:06 1.2 +++ dict-ap_create_mutex.html 1999/03/31 23:48:37 1.3 @@ -1,7 +1,7 @@

-Creates a mutex. Only actually does anything on +Creates a mutex. Only actually does anything on multithreaded platforms.

-Returns a mutex * in name. +Returns a mutex * in name.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_destroy_mutex.html Index: dict-ap_destroy_mutex.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_mutex.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_destroy_mutex.html 1999/03/06 18:16:46 1.1 +++ dict-ap_destroy_mutex.html 1999/03/31 23:48:37 1.2 @@ -1,5 +1,5 @@

-Destroys a mutex. Only actually does anything on +Destroys a mutex. Only actually does anything on multithreaded platforms.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_destroy_pool.html Index: dict-ap_destroy_pool.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_pool.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_destroy_pool.html 1999/03/06 18:16:46 1.2 +++ dict-ap_destroy_pool.html 1999/03/31 23:48:37 1.3 @@ -1,6 +1,6 @@

This function will recursively destroy the specified -pool allocation area and any sub-pools of it, +pool allocation area and any sub-pools of it, making any memory allocated to them available for use elsewhere. Cleanups for the contents of the destroyed pool are run, after the subpools have been reclaimed. 1.3 +2 -2 apache-devsite/apidoc/dict-ap_destroy_sub_req.html Index: dict-ap_destroy_sub_req.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_sub_req.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_destroy_sub_req.html 1999/03/30 22:11:07 1.2 +++ dict-ap_destroy_sub_req.html 1999/03/31 23:48:37 1.3 @@ -1,6 +1,6 @@

Destroys a subrequest generated by -ap_sub_req_lookup_file or -ap_sub_req_lookup_uri and releases all +ap_sub_req_lookup_file or +ap_sub_req_lookup_uri and releases all memory allocated to it.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_escape_shell_cmd.html Index: dict-ap_escape_shell_cmd.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_escape_shell_cmd.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_escape_shell_cmd.html 1999/03/30 22:11:09 1.2 +++ dict-ap_escape_shell_cmd.html 1999/03/31 23:48:38 1.3 @@ -4,7 +4,7 @@

&;`'"|*?~<>^()[]{}$\ and \n -

+

Returns the escaped string. Note that '&' is converted to ' ' on both OS/2 and Win32 systems. 1.3 +2 -2 apache-devsite/apidoc/dict-ap_get_client_block.html Index: dict-ap_get_client_block.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_get_client_block.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_get_client_block.html 1999/03/30 22:11:10 1.2 +++ dict-ap_get_client_block.html 1999/03/31 23:48:38 1.3 @@ -1,7 +1,7 @@

Reads up to bufsize characters into buffer from the client. -ap_setup_client_block and -ap_should_client_block should be +ap_setup_client_block and +ap_should_client_block should be called before using this.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_kill_cleanup.html Index: dict-ap_kill_cleanup.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanup.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_kill_cleanup.html 1999/03/30 22:11:22 1.2 +++ dict-ap_kill_cleanup.html 1999/03/31 23:48:38 1.3 @@ -4,5 +4,5 @@

Note: data must point to the same memory that was used for the -ap_register_cleanup call. +ap_register_cleanup call.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_kill_cleanups_for_fd.html Index: dict-ap_kill_cleanups_for_fd.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanups_for_fd.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_kill_cleanups_for_fd.html 1999/03/30 22:11:22 1.2 +++ dict-ap_kill_cleanups_for_fd.html 1999/03/31 23:48:39 1.3 @@ -1,6 +1,6 @@

Kill cleanups for fd registered previously; i.e., with -ap_note_cleanups_for_fd. +ap_note_cleanups_for_fd.

Normally done automatically when fd is closed. 1.3 +1 -1 apache-devsite/apidoc/dict-ap_kill_cleanups_for_socket.html Index: dict-ap_kill_cleanups_for_socket.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanups_for_socket.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_kill_cleanups_for_socket.html 1999/03/30 22:11:23 1.2 +++ dict-ap_kill_cleanups_for_socket.html 1999/03/31 23:48:39 1.3 @@ -1,6 +1,6 @@

Kill cleanups for sock registered previously; i.e., with -ap_note_cleanups_for_socket. +ap_note_cleanups_for_socket.

Normally done automatically when sock is closed. 1.3 +1 -1 apache-devsite/apidoc/dict-ap_kill_timeout.html Index: dict-ap_kill_timeout.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_timeout.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_kill_timeout.html 1999/03/30 22:11:23 1.2 +++ dict-ap_kill_timeout.html 1999/03/31 23:48:39 1.3 @@ -1,3 +1,3 @@

-Clears the current timeout on the request_rec r. +Clears the current timeout on the request_rec r.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_log_error_old.html Index: dict-ap_log_error_old.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_log_error_old.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_log_error_old.html 1999/03/30 22:11:24 1.2 +++ dict-ap_log_error_old.html 1999/03/31 23:48:40 1.3 @@ -2,5 +2,5 @@ Logs the message string in err to s->error_log.

-Implemented in terms of ap_log_error. +Implemented in terms of ap_log_error.

1.3 +6 -5 apache-devsite/apidoc/dict-ap_make_sub_pool.html Index: dict-ap_make_sub_pool.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_make_sub_pool.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_make_sub_pool.html 1999/03/30 22:11:26 1.2 +++ dict-ap_make_sub_pool.html 1999/03/31 23:48:40 1.3 @@ -1,16 +1,17 @@

- This function creates a new pool area + This function creates a new pool area for memory allocation. The new area is considered to be a "child" of the pool passed to the routine; this permits a hierarchy of related storage areas. When a pool is destroyed (see - ap_destroy_pool), + ap_destroy_pool), any sub-pools it may have are also destroyed recursively.

An example of when this hierarchy concept is useful can be found in the automatic directory listing module. Since the module can't + >mod_autoindex, which is used to generate automatic directory listings. + Since mod_autoindex can't tell in advance how many files it will have to list, nor how long the names will be, nor what other functions might need to allocate memory to process the request, it creates a sub-pool of the one associated @@ -18,13 +19,13 @@ it, and clears it for each new file.

- If the pointer passed to ap_make_sub_pool is NULL, + If the pointer passed to ap_make_sub_pool is NULL, a new top-level (i.e., parentless) pool is created. This is generally not recommended, however, since the only record of a pool's existence is the pointer returned - a simple logic error can result in pools being created and lost, along with any allocations made in them. Most pools are created to deal with per-request processing, and hence should be sub-pools of the request's pool - (r->pool) to ensure that + (r->pool) to ensure that they are properly cleaned up on request completion.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_make_table.html Index: dict-ap_make_table.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_make_table.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_make_table.html 1999/03/30 22:11:27 1.2 +++ dict-ap_make_table.html 1999/03/31 23:48:40 1.3 @@ -1,7 +1,7 @@

-Makes a new table with enough memory for nelts +Makes a new table with enough memory for nelts elements.

-Returns a pointer to the new table. +Returns a pointer to the new table.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_note_subprocess.html Index: dict-ap_note_subprocess.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_note_subprocess.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_note_subprocess.html 1999/03/06 18:16:59 1.1 +++ dict-ap_note_subprocess.html 1999/03/31 23:48:40 1.2 @@ -2,6 +2,6 @@ Registers a subprocess which will be killed on pool destruction.

-See kill_conditions for the various ways +See kill_conditions for the various ways the child process can be killed.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_open_mutex.html Index: dict-ap_open_mutex.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_open_mutex.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_open_mutex.html 1999/03/30 22:11:31 1.2 +++ dict-ap_open_mutex.html 1999/03/31 23:48:40 1.3 @@ -1,7 +1,7 @@

-Opens a mutex. Only actually does anything on +Opens a mutex. Only actually does anything on multithreaded platforms.

-Returns a mutex * in name. +Returns a mutex * in name.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_pclosef.html Index: dict-ap_pclosef.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_pclosef.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_pclosef.html 1999/03/30 22:11:37 1.2 +++ dict-ap_pclosef.html 1999/03/31 23:48:41 1.3 @@ -1,5 +1,5 @@

-Closes a file previously opened with popenf. The file's +Closes a file previously opened with popenf. The file's cleanup function is destroyed.

Returns a normal close return value. 1.2 +2 -2 apache-devsite/apidoc/dict-ap_psprintf.html Index: dict-ap_psprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_psprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_psprintf.html 1999/03/06 18:17:07 1.1 +++ dict-ap_psprintf.html 1999/03/31 23:48:41 1.2 @@ -1,5 +1,5 @@

-Writes formatted data to a pool. +Writes formatted data to a pool. Returns 0 on success, exits with return code 1 if out of memory.

@@ -17,5 +17,5 @@ self-contained with no callouts.

-ap_psprintf is implemented using ap_pvsprintf. +ap_psprintf is implemented using ap_pvsprintf.

1.2 +2 -2 apache-devsite/apidoc/dict-ap_pvsprintf.html Index: dict-ap_pvsprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_pvsprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_pvsprintf.html 1999/03/06 18:17:08 1.1 +++ dict-ap_pvsprintf.html 1999/03/31 23:48:41 1.2 @@ -1,7 +1,7 @@

-Writes a varargs list to a pool. +Writes a varargs list to a pool. Returns 0 on success, exits with return code 1 if out of memory.

-ap_psprintf is implemented using ap_pvsprintf. +ap_psprintf is implemented using ap_pvsprintf.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_run_sub_req.html Index: dict-ap_run_sub_req.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_run_sub_req.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_run_sub_req.html 1999/03/30 22:11:44 1.2 +++ dict-ap_run_sub_req.html 1999/03/31 23:48:41 1.3 @@ -1,7 +1,7 @@

Runs a subrequest generated with -ap_sub_req_lookup_file or -ap_sub_req_lookup_uri. +ap_sub_req_lookup_file or +ap_sub_req_lookup_uri.

Returns the status code of the request handler. 1.2 +1 -1 apache-devsite/apidoc/dict-ap_setup_client_block.html Index: dict-ap_setup_client_block.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_setup_client_block.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_setup_client_block.html 1999/03/06 18:17:17 1.1 +++ dict-ap_setup_client_block.html 1999/03/31 23:48:42 1.2 @@ -1,7 +1,7 @@

Readies to receive data from the client, normally because the client made a PUT or POST request. Should be called before -ap_should_client_block. +ap_should_client_block.

Returns OK if data is allowed from the client, or a status code if it is not. 1.2 +2 -2 apache-devsite/apidoc/dict-ap_should_client_block.html Index: dict-ap_should_client_block.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_should_client_block.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_should_client_block.html 1999/03/06 18:17:17 1.1 +++ dict-ap_should_client_block.html 1999/03/31 23:48:43 1.2 @@ -1,8 +1,8 @@

Checks if the client will send data and invites it to continue doing so. Sends a 100 Continue response if HTTP 1.1 or higher. This function should -be called after ap_setup_client_block -and before ap_get_client_block. +be called after ap_setup_client_block +and before ap_get_client_block.

Returns 1 if the client should send data, 0 if not. 1.2 +1 -2 apache-devsite/apidoc/dict-ap_snprintf.html Index: dict-ap_snprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_snprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_snprintf.html 1999/03/06 18:17:18 1.1 +++ dict-ap_snprintf.html 1999/03/31 23:48:43 1.2 @@ -1,6 +1,5 @@

-These are snprintf implementations based on -ap_vformatter(). +These are snprintf implementations based on ap_vformatter().

Note that various standards and implementations disagree on the return 1.3 +2 -2 apache-devsite/apidoc/dict-ap_spawn_child_err.html Index: dict-ap_spawn_child_err.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_spawn_child_err.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_spawn_child_err.html 1999/03/30 22:11:48 1.2 +++ dict-ap_spawn_child_err.html 1999/03/31 23:48:43 1.3 @@ -2,9 +2,9 @@ Spawns a child process. Pipes may be optionally connected to the child's standard input, output, and error. If any of the pipes are NULL, they aren't created. If func will need cleanup, it calls -ap_cleanup_for_exec. +ap_cleanup_for_exec.

-See kill_conditions for the various ways +See kill_conditions for the various ways the child process can be killed. Returns PID of the child, or -1 on error.

1.3 +4 -4 apache-devsite/apidoc/dict-ap_spawn_child_err_buff.html Index: dict-ap_spawn_child_err_buff.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_spawn_child_err_buff.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_spawn_child_err_buff.html 1999/03/30 22:11:48 1.2 +++ dict-ap_spawn_child_err_buff.html 1999/03/31 23:48:43 1.3 @@ -1,10 +1,10 @@

-Spawns a child process. BUFFs may be optionally connected +Spawns a child process. BUFFs may be optionally connected to the child's standard input, output, and error. If any of the -BUFFs are NULL, they aren't created. If func will -need cleanup, it calls ap_cleanup_for_exec. +BUFFs are NULL, they aren't created. If func will +need cleanup, it calls ap_cleanup_for_exec.

-See kill_conditions for the various ways +See kill_conditions for the various ways the child process can be killed. Returns PID of the child, or -1 on error.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_sub_req_lookup_file.html Index: dict-ap_sub_req_lookup_file.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_sub_req_lookup_file.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_sub_req_lookup_file.html 1999/03/30 22:11:50 1.2 +++ dict-ap_sub_req_lookup_file.html 1999/03/31 23:48:44 1.3 @@ -1,9 +1,9 @@

-Processes new_file to produce a new request_rec, +Processes new_file to produce a new request_rec, which is processed up to the point where the new request handler would be called. If the URI is relative, it is processed relative to the URI of r.

-Returns the new request_rec, whose status +Returns the new request_rec, whose status member contains any error code.

1.3 +2 -2 apache-devsite/apidoc/dict-ap_sub_req_lookup_uri.html Index: dict-ap_sub_req_lookup_uri.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_sub_req_lookup_uri.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_sub_req_lookup_uri.html 1999/03/30 22:11:50 1.2 +++ dict-ap_sub_req_lookup_uri.html 1999/03/31 23:48:44 1.3 @@ -1,10 +1,10 @@

Processes the URI new_file to produce a new -request_rec, which is processed up to the point +request_rec, which is processed up to the point where the new request handler would be called. If the URI is relative, it is processed relative to the URI of r.

-Returns the new request_rec, whose status +Returns the new request_rec, whose status member contains any error code.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_table_addn.html Index: dict-ap_table_addn.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_addn.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_table_addn.html 1999/03/30 22:11:52 1.2 +++ dict-ap_table_addn.html 1999/03/31 23:48:44 1.3 @@ -3,5 +3,5 @@

A new table entry is always created, even if it duplicates another. -This function does not use ap_pstrdup. +This function does not use ap_pstrdup.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_table_mergen.html Index: dict-ap_table_mergen.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_mergen.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_table_mergen.html 1999/03/30 22:11:53 1.2 +++ dict-ap_table_mergen.html 1999/03/31 23:48:44 1.3 @@ -4,5 +4,5 @@

If more than one occurrence of name exists, only the first is modified. -This function does not use ap_pstrdup. +This function does not use ap_pstrdup.

1.3 +1 -1 apache-devsite/apidoc/dict-ap_table_setn.html Index: dict-ap_table_setn.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_setn.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-ap_table_setn.html 1999/03/30 22:11:55 1.2 +++ dict-ap_table_setn.html 1999/03/31 23:48:44 1.3 @@ -2,5 +2,5 @@ Replaces or creates t with new val in table t.

-This function does not use ap_pstrdup. +This function does not use ap_pstrdup.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_unblock_alarms.html Index: dict-ap_unblock_alarms.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_unblock_alarms.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_unblock_alarms.html 1999/03/06 18:17:22 1.1 +++ dict-ap_unblock_alarms.html 1999/03/31 23:48:44 1.2 @@ -1,3 +1,3 @@

-Removes a block on alarms for a call to block_alarms. +Removes a block on alarms for a call to block_alarms.

1.2 +1 -1 apache-devsite/apidoc/dict-ap_vbprintf.html Index: dict-ap_vbprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_vbprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_vbprintf.html 1999/03/06 18:17:23 1.1 +++ dict-ap_vbprintf.html 1999/03/31 23:48:45 1.2 @@ -1,5 +1,5 @@

-Copies formatted data to a BUFF structure. +Copies formatted data to a BUFF structure.

Returns 0 on success, -1 on failure. 1.2 +1 -2 apache-devsite/apidoc/dict-ap_vsnprintf.html Index: dict-ap_vsnprintf.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_vsnprintf.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dict-ap_vsnprintf.html 1999/03/06 18:17:23 1.1 +++ dict-ap_vsnprintf.html 1999/03/31 23:48:45 1.2 @@ -1,6 +1,5 @@

-These are vsnprintf implementations based on -ap_vformatter(). +These are vsnprintf implementations based on ap_vformatter().

Note that various standards and implementations disagree on the return 1.3 +1 -1 apache-devsite/apidoc/dict-cmd_how.html Index: dict-cmd_how.html =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/dict-cmd_how.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- dict-cmd_how.html 1999/03/30 22:11:58 1.2 +++ dict-cmd_how.html 1999/03/31 23:48:45 1.3 @@ -1,6 +1,6 @@

A set of values designating how argument processing is done for a given -instance of a command_rec. Note that for +instance of a command_rec. Note that for all of these values except RAW_ARGS, the config routine is passed a freshly allocated string which can be modified or stored. It's only necessary to do pstrdup() copying with RAW_ARGS. The allowable values are: 1.6 +388 -128 apache-devsite/apidoc/mkapidict Index: mkapidict =================================================================== RCS file: /home/cvs/apache-devsite/apidoc/mkapidict,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- mkapidict 1999/03/06 18:17:26 1.5 +++ mkapidict 1999/03/31 23:48:45 1.6 @@ -1,17 +1,40 @@ #!/usr/local/bin/perl # -# Read from STDIN, produce HTML. Simple, really. The first argument on the -# command line ($ARGV[0]) is the name of the file which provides the -# framework into which the generated text is inserted. $ARGV[1] specifies -# a layout type; 0 means full, with each entry starting with an H3 heading; -# 1 means simpler, with each entry jumping right to the definition without -# the preamble. Layout 1 results in reduced file size, but is slightly -# susceptible to potentially confusing display values if an entry has no -# definition in the data file. Layout 0 guarantees a little more text -# in such a case, but at a significant cost in file size. +# Build documentation from a definition file, a template, and possibly +# a bunch of individual description files. # +# -d identifies the definition file (see api.list for documentation). +# +# -l specifies a layout type: +# +# 0 means full, with each entry in a separate document starting with an +# H3 heading and the main document containing a linked subtable of +# contents for each type of entry (routines, constants, et cetera); +# 1 is the same as 0, except everything is in a single monolithic file; +# 2 means simpler, with no tables of subcontents and each entry jumping +# right to the definition without the preamble. +# +# Layout 2 results in reduced file size (though it's still huge), but +# is slightly susceptible to potentially confusing display values if +# an entry has no definition in the data file. Layout 1 guarantees +# a little more text in such a case, but at a significant cost in file size. +# Layout 0 is the best for reference work, but scanning through +# definitions is more difficult since they're in separate files. +# +# -o specifies the name of the master output file, or "-" for stdout. +# Note that "-" is not permitted in combination with "-l 0" because this +# name is used in anchors with that layout. +# +# -t specifies the template file for the main dictionary page. +# +# -v enables verbose mode. +# # Edit history: # +# 1999-03-31 Ken Coar +# Get rid of the ARGV processing and use command-line options +# instead. Add a third level of layout; 0 now means 'full,' +# with each definition in its own file. # 1998-06-23 Chuck Murcko # Bug fix for ARGV[1] processing of arguments with value 0. # 1998-05-26 Ken Coar @@ -28,18 +51,61 @@ # Prototyped.. # -if ($#ARGV < 0) { - print STDERR "Usage:\n $0 template-file 0|1 < api-data > doc-file\n"; - exit 1; -}; - -$InFile = $ARGV[0]; -$OutFile = "$ARGV[0].bak"; +# +# Make sure that anything we utter to stderr shows up instanter.. +# +$tfh = select(STDERR); +$| = 1; +select($tfh); + +use Getopt::Std; + +@errors = (); +$ofh = \*STDOUT; + +getopts("d:l:o:t:v", \%arg); + +if (! defined($arg{'d'})) { + push(@errors, "definition file (-d option) is required"); +} +else { + $Dfile = $arg{'d'}; +} +if ((! defined($arg{'l'})) || ($arg{'l'} < 0) || ($arg{'l'} > 2)) { + push(@errors, "layout type (-l option) must be a value 0-2"); +} +else { + $Layout = $arg{'l'}; +} + +if ((! defined($arg{'o'})) && ($Layout < 1)) { + push(@errors, "output filename (-o option) is required with -l 0"); +} +elsif (($arg{'o'} eq '-') && ($Layout < 1)) { + push(@errors, "output filename (-o options) may not be '-' with -l 0"); +} +elsif (defined($arg{'o'}) && ($arg{'o'} ne '-')) { + open $ofh, ">$arg{'o'}" || die "can't open output file"; +} +if (! defined($arg{'t'})) { + push(@errors, "output template file (-t option) is required"); +} +else { + $InFile = $arg{'t'}; +} + +if ($#errors > -1) { + foreach (@errors) { + print STDERR "$0: $_\n"; + } + &usage(); + exit(1); +} -die "Need template file" if (!$ARGV[0]); -die "Need layout type" if (!defined($ARGV[1])); +open *dfh, "<$Dfile" || die "Can't open definition file $Dfile"; -$Layout = $ARGV[1]; +$OutFile = "$InFile.bak"; +$Verbose = defined($arg{'v'}); %Routine = (); %Constant = (); @@ -47,6 +113,8 @@ %Cell = (); %Entity = (); %SeeAlso = (); +%URL = (); +%HREF = (); @Prologue = (); @Epilogue = (); @@ -58,29 +126,33 @@ # Now copy the input file to a backup, extracting the prologue and # epilogue sections as we go. # -open INFILE, "<$InFile" || dir ("Can't open input file $InFile"); +&verbose("Copying input template ($InFile) to backup ($OutFile)"); +open INFILE, "<$InFile" || die ("Can't open input file $InFile"); open OUTFILE, ">$OutFile" || die ("Can't open output file $OutFile"); $state = 1; while ($line = ) { print OUTFILE $line; if ($state == 1) { push (@Prologue, $line); - } elsif ($state == 2) { + } + elsif ($state == 2) { push (@Epilogue, $line); - }; + } if ($line =~ m::) { $state = 0; - } elsif ($line =~ m::) { + } + elsif ($line =~ m::) { push (@Epilogue, $line); $state = 2; - }; -}; + } +} close INFILE; close OUTFILE; $DataLine = 0; -while (! eof(STDIN)) { +&verbose("Reading definition file."); +while (! eof(*dfh)) { local (@field) = ("", "", "", "", "", "", "", ""); local ($rec); @@ -95,29 +167,37 @@ "for record ending on line $DataLine;\n", "\tmissing continuation character?\n"; next; - }; + } if ($Entity{$field[1]}) { print STDERR "Entity $field[1] redefined at line $DataLine.\n"; - }; + } $Entity{$field[1]} = 1; - if ($field[0] =~ /R/i) { + $rtype = uc(substr($field[0], 0, 1)); + if ($rtype eq 'R') { $Routine{$field[1]} = $rec; - } elsif ($field[0] =~ /S/i) { + } + elsif ($rtype eq 'S') { $Structure{$field[1]} = $rec; - } elsif ($field[0] =~ /C/i) { + } + elsif ($rtype eq 'C') { $Constant{$field[1]} = $rec; - } elsif ($field[0] =~ /D/i) { + } + elsif ($rtype eq 'D') { $Cell{$field[1]} = $rec; - } elsif ($field[0] =~ /X/i) { + } + elsif ($rtype eq 'X') { $SeeAlso{$field[1]} = $field[2]; - }; -}; + } + $URL{"$field[1]"} = &makeURL($field[1], %URL); + $HREF{"$field[1]"} = &makeHREF($field[1], %URL); +} # # Done reading in the input.. time to make the doughnuts. # -print @Prologue; -print <Table of Contents

  • Routine Descriptions @@ -132,7 +212,7 @@
    EOHT -print < Routine Descriptions @@ -140,9 +220,12 @@
    EOHT -&dump_list(%Routine); -print <
    Data Structure Definitions @@ -150,9 +233,12 @@
    EOHT -&dump_list(%Structure); + +&verbose("Dumping structures."); +&list_items('S', %Structure); +&dump_list('S', %Structure); -print <
    Global Data Cells @@ -160,9 +246,12 @@
    EOHT -&dump_list(%Cell); -print <
    Constant Definitions @@ -177,43 +266,195 @@

    Some of the Apache Web server's constants (such as - SERVER_VERSION) + SERVER_VERSION) can be overridden with compile-time definitions on the compiler command line. Others, like - MAX_STRING_LEN, + MAX_STRING_LEN, are provided as conveniences, and shouldn't be modified except under special circumstances. Still others, such as - OR_LIMIT, + OR_LIMIT, have specific values that must not be altered.


    EOHT -&dump_list(%Constant); -print @Epilogue; +&verbose("Dumping constants."); +&list_items('C', %Constant); +&dump_list('C', %Constant); + +&verbose("Dumping epilogue."); +print $ofh @Epilogue; +exit(0); # # Dump a hash in alphabetical order. # sub dump_list { - local (%list) = @_; + local ($prefix, %list) = @_; local (@keys) = sort {uc($a) cmp uc($b)} (keys(%list)); + my ($i) = 0; foreach $key (@keys) { - my ($edited, $iname, $idef, $isamp, $iref, $idesc) = - split(m:\|:, $list{$key}); - print < 0); + $next = $keys[$i + 1] if ($i < $#keys); + if ($Layout == 0) { + open(dfh, ">$URL{$key}"); + &dump_item(\*dfh, $key, $list{$key}, $previous, $next); + close(dfh); + } + else { + &dump_item(\*ofh, $key, $list{$key}, $previous, $next); + } + $i++; + } +} + +# +# Turn any inline references to other structures or constants into links. +# +sub edit_inline { + local ($wip, $rname) = @_; + local ($ref); + + foreach $ref (keys(%Entity)) { + my ($href) = $HREF{"$ref"}; + if ($ref ne $rname) { + $wip =~ s:\b$ref\b:$ref:g; + } + } + return $wip; +} + +# +# Read a record from the input stream. Comments are trimmed, as is +# trailing whitespace. Leading whitespace is trimmed IFF the argument to the +# functional evaluates as true. A terminal slosh indicates that the next +# line should be read and the record re-processed. All '\n' occurrences +# in the input are converted to newlines before being returned. +# +sub get_record { + local ($trim_leading_ws) = @_; + local ($trim_next) = 1; + my ($line); + + $line = || return ""; + $DataLine++; + chomp ($line); + $line =~ s/#;.*//; + $line =~ s/\s+$//; + if ($trim_leading_ws) { + $line =~ s/^\s+//; + } + if ($line =~ m:\\$:) { + $line =~ s:\\n\s+\\$:\\n\\:; + $line =~ s:\\$::; + $trim_next = 0 if ($line =~ m:\\n$:); + $line .= &get_record($trim_next); + } + $line =~ s:\\n:\n:g; + return ($line); +} + +sub list_items { + local ($prefix, %items) = @_; + + if ($Layout == 0) { + + print $ofh < +EOHT + + foreach (sort(keys(%items))) { + my ($uri) = $HREF{"$_"}; + + print $ofh <$_
  • +EOHT + + } + + print $ofh < +EOHT + + } + + print $ofh < +EOHT + + return 0; +} + +# +# Turn an entry into a URL according to the layout. +# +sub makeURL { + local ($key, %URL) = @_; + my ($prefix, $postfix) = ("", ""); + + if ($Layout == 0) { + $prefix = "apidoc_"; + $postfix = ".html"; + } + return "$prefix$key$postfix"; + +} + +# +# Turn an entry into a anchor reference according to the layout. +# +sub makeHREF { + local ($key, %URL) = @_; + my ($prefix, $postfix) = ("", ""); + + if ($Layout == 0) { + $prefix = "apidoc_"; + $postfix = ".html"; + } + else { + $prefix = "#"; + } + return "$prefix$key$postfix"; + +} + +sub dump_item { + my ($ofh, $key, $record, $previous, $next) = @_; + my ($edited, $iname, $idef, $isamp, $iref, $idesc) = + split(m:\|:, $record); + my ($uri) = $URL{"$iname"}; + my ($href) = $HREF{"$iname"}; + + print $ofh < + + + Apache API: $iname + + + +

    Apache API Documentation

    +

    $iname

    +EOHT + + print $ofh < 0);

    - + $iname

    EOHT - $edited = &edit_inline($idef, $iname); - if (! $edited) { - $edited = "No prototype or definition available."; - }; - if ($Layout == 0) { - print < Definition:

    @@ -225,20 +466,23 @@ EOHT - } else { + } + else { if ($edited =~ /$iname/) { $edited =~ s/$iname/$iname<\/STRONG>/; - } else { + } + else { $edited="$iname: $edited"; } - print "
    $edited
    \n"; + print $ofh "
    $edited
    \n"; } $edited = &edit_inline($isamp, $iname); - if ((! $edited) && ($Layout != 1)) { + if ((! $edited) && ($Layout < 2)) { $edited = "No examples available."; - }; - if (($Layout != 1) || $edited) { - print < Usage example:

    @@ -253,22 +497,28 @@ } if (! $idesc) { - print < No documentation available.

    EOHT - } elsif (! -r $idesc) { - print < Documentation file not accessible.

    EOHT - } else { + } + else { + local ($drec); + open DFILE, "<$idesc"; - print ; + while ($drec = ) { + print $ofh &edit_inline($drec, $iname); + } close (DFILE); - }; + } $edited = $iref; $edited =~ s/[\s,]//g; if ($edited) { @@ -277,7 +527,7 @@ local ($sees) = ""; $ref =~ s/\s+//g; - print <
    See also:
    @@ -288,75 +538,85 @@ foreach (split(m:,:, $ref)) { if ($SeeAlso{$_}) { $sees .= ",$SeeAlso{$_}"; - } else { + } + else { $sees .= ",$_"; - }; - }; + } + } $ref = $sees; foreach (sort(split(m:,:, $ref))) { local ($item) = "$_"; + my ($uri) = $HREF{"$_"}; next if (($_ eq "") || ($_ eq $iname)); if ($Entity{$_}) { - $item = "$item"; - } else { + $item = "$item"; + } + else { print STDERR "$iname cross-references to undefined "; print STDERR "entity $_.\n"; - }; + } $ref_list .= $item . ",\n "; - }; + } $ref_list =~ s:,\n $:\n:; - print $ref_list; - print < EOHT - }; - print "
    \n"; - }; -}; + } -# -# Turn any inline references to other structures or constants into links. -# -sub edit_inline { - local ($wip, $rname) = @_; - local ($ref); + print $ofh < +EOHT - foreach $ref (keys(%Entity)) { - if ($ref ne $rname) { - $wip =~ s:\b$ref\b:$ref:g; - }; - }; - return $wip; -}; + if ($Layout == 0) { + if ($previous) { + $previous = '' + . "$previous"; + } + else { + $previous = "(none)"; + } + if ($next) { + $next = '' + . "$next"; + } + else { + $next = "(none)"; + } -# -# Read a record from the input stream. Comments are trimmed, as is -# trailing whitespace. Leading whitespace is trimmed IFF the argument to the -# functional evaluates as true. A terminal slosh indicates that the next -# line should be read and the record re-processed. All '\n' occurrences -# in the input are converted to newlines before being returned. -# -sub get_record { - local ($trim_leading_ws) = @_; - local ($trim_next) = 1; - my ($line); + print $ofh < + Previous: $previous + Next: $next +

    +

    + Table of Contents + (Routines, + Structures, + Data Cells, + Constants) +

    + + +EOHT + } +} + +sub usage { + print STDERR "Usage:\n $0 -l [0|1|2] -t template-file -d api-data " + . "-o dict-file\n"; + exit 1; +} - $line = || return ""; - $DataLine++; - chomp ($line); - $line =~ s/#;.*//; - $line =~ s/\s+$//; - if ($trim_leading_ws) { - $line =~ s/^\s+//; - }; - if ($line =~ m:\\$:) { - $line =~ s:\\n\s+\\$:\\n\\:; - $line =~ s:\\$::; - $trim_next = 0 if ($line =~ m:\\n$:); - $line .= &get_record($trim_next); - }; - $line =~ s:\\n:\n:g; - return ($line); -}; +sub verbose { + local (@lines) = @_; + + if ($Verbose) { + foreach (@lines) { + print STDERR $_, "\n"; + } + } + return 1; +} 1.1 apache-devsite/apidoc/.cvsignore Index: .cvsignore =================================================================== apidoc_*.html