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.\ - |$* <EM>identifier</EM>\ + |$* <VAR>identifier</VAR>\ |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.\ - |$* <EM>identifier</EM>\ + |$* <VAR>identifier</VAR>\ |\ |dict-$*.html R|ap_acquire_mutex\ @@ -358,102 +358,102 @@ |\ | C|SERVER_DEAD\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("<b>Read</b>", r); \n \ -break;\n}\ + ap_rputs("<B>Read</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_WRITE\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("<b>Write</b>", r); \n \ -break;\n}\ + ap_rputs("<B>Write</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_KEEPALIVE\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("<b>Keepalive</b>", r); \n \ -break;\n}\ + ap_rputs("<B>Keepalive</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_LOG\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("<b>Logging</b>", r); \n \ -break;\n}\ + ap_rputs("<B>Logging</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_BUSY_DNS\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |switch (score_record.status) {\ncase $*: \n \ -ap_rputs("<b>DNS lookup</b>", r); \n \ -break;\n}\ + ap_rputs("<B>DNS lookup</B>", r); \n \ + break;\n}\ |SA-scoreboard\ |dict-$*.html C|SERVER_GRACEFUL\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ - |if (score_record.status < $*)\nreturn OK;\ + |#define $* <VAR>value</VAR>\ + |if (score_record.status < $*) {\n return OK;\n} \ |SA-scoreboard\ |dict-$*.html C|START_PREQUEST\ - |#define $* <EM>value</EM>\ - |if (status == $*) {\n...deal with request start time...\n}\ + |#define $* <VAR>value</VAR>\ + |if (status == $*) {\n ...deal with request start time...\n}\ |SA-scoreboard\ |dict-$*.html C|STOP_PREQUEST\ - |#define $* <EM>value</EM>\ - |if (status == $*) {\n...deal with request stop time...\n}\ + |#define $* <VAR>value</VAR>\ + |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.\ - |$* <EM>identifier</EM>\ + |$* <VAR>identifier</VAR>\ |\ | S|configfile_t\ @@ -828,37 +828,37 @@ |\ | C|RSRC_CONF\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|ACCESS_CONF\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|OR_AUTHCFG\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|OR_LIMIT\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|OR_OPTIONS\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|OR_FILEINFO\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html C|OR_INDEXES\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |\ |SA-overrides\ |dict-$*.html @@ -874,7 +874,7 @@ |\ | S|table\ - |typedef struct $* {<EM>opaque-structure</EM>};\ + |typedef struct $* {<VAR>opaque-structure</VAR>};\ |\ |SA-tables\ |dict-$*.html @@ -1005,7 +1005,7 @@ |\ | S|pool\ - |[struct] pool <em>opaque-structure</em>\ + |[struct] pool <VAR>opaque-structure</VAR>\ |pool *p; \ \nchar *foo; \ \nfoo = ap_pstrcat(p, "string 1", "string 2", null);\ @@ -1212,7 +1212,7 @@ |SA-dirdata\ |dict-$*.html C|RAW_ARGS\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ @@ -1224,7 +1224,7 @@ |SA-dirdata\ |dict-$*.html C|TAKE1\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> cmd_how.\ |static const command_rec autoindex_cmds[] =\n\ {\n\ .\n\ @@ -1235,7 +1235,7 @@ |SA-dirdata\ |dict-$*.html C|TAKE2\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> cmd_how.\ |static const command_rec config_log_cmds[] =\n\ {\n\ .\n\ @@ -1304,12 +1300,12 @@ |SA-dirdata\ |dict-$*.html C|TAKE3\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> cmd_how.\ |\ |SA-dirdata\ |dict-$*.html C|TAKE23\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> cmd_how.\ |\ |SA-dirdata\ |dict-$*.html C|TAKE13\ - |<em>see</em> cmd_how.\ + |<EM>see</EM> 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 $* <EM>numbytes</EM>\ + |#define $* <VAR>numbytes</VAR>\ |char random_string[$*];\ |\ |dict-$*.html C|SERVER_VERSION\ - |#define $* <EM>string</EM>\ + |#define $* <VAR>string</VAR>\ |Deprecated; use ap_get_server_version() instead.\ |\ |dict-$*.html C|HARD_SERVER_LIMIT\ - |#define $* <EM>value</EM>\ - |for (i = 0; i < $*; ++i) {\n ...per-child processing...\n}\ + |#define $* <VAR>value</VAR>\ + |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 $* <EM>monotonically-increasing-value</EM>\ - |module *m;\nif (m->version != MODULE_MAGIC_NUMBER)\n exit(1);\ + |#define $* <VAR>monotonically-increasing-value</VAR>\ + |module *m;\nif (m->version != MODULE_MAGIC_NUMBER)\n exit(1);\ |\ |dict-$*.html C|SERVER_SUPPORT\ @@ -2676,22 +2672,22 @@ |\ | C|OK\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ return $*; \n \ } \ |SA-dirstat\ |dict-$*.html C|DECLINED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (is_HTTP_ERROR(r->status)) { \n \ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (is_HTTP_ERROR(r->status)) { \n \ return $*; \n \ } \ |SA-dirstat\ |dict-$*.html C|DONE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \ + |#define $* <VAR>value</VAR>\ + |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 $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SWITCHING_PROTOCOLS\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_OK\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_CREATED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_ACCEPTED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NON_AUTHORITATIVE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NO_CONTENT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_RESET_CONTENT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PARTIAL_CONTENT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MULTIPLE_CHOICES\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MOVED_PERMANENTLY\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_MOVED_TEMPORARILY\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SEE_OTHER\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_MODIFIED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_USE_PROXY\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_BAD_REQUEST\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_UNAUTHORIZED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PAYMENT_REQUIRED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_FORBIDDEN\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_FOUND\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_METHOD_NOT_ALLOWED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_ACCEPTABLE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PROXY_AUTHENTICATION_REQUIRED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_TIME_OUT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_CONFLICT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_GONE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_LENGTH_REQUIRED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_PRECONDITION_FAILED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_ENTITY_TOO_LARGE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_REQUEST_URI_TOO_LARGE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_UNSUPPORTED_MEDIA_TYPE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_INTERNAL_SERVER_ERROR\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_NOT_IMPLEMENTED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_BAD_GATEWAY\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_SERVICE_UNAVAILABLE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_GATEWAY_TIME_OUT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_VERSION_NOT_SUPPORTED\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html C|HTTP_VARIANT_ALSO_VARIES\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n \}\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->status == $*) {\n ...processing for $* status...\n}\ |\ |dict-$*.html #; Multithread stuff @@ -2896,7 +2892,7 @@ |\ | C|MULTI_OK\ - |#define $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ + |#define $* <VAR>value</VAR>\ |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 $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_PUT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_POST\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_DELETE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_CONNECT\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_OPTIONS\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_TRACE\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |request_rec *r;\nif (r->method_number == $*) {\n \ + return HTTP_METHOD_NOT_ALLOWED;\n} \ |SA-methods\ |dict-$*.html C|M_INVALID\ - |#define $* <EM>value</EM>\ - |request_rec *r;\nif (r->method_number == $*) return HTTP_METHOD_NOT_ALLOWED;\ + |#define $* <VAR>value</VAR>\ + |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> +</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 @@ <P> -Acquires a <A HREF="#mutex">mutex</A>. Only actually does anything on +Acquires a mutex. Only actually does anything on multithreaded platforms. </P> <P> 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: </P> <TABLE> -<TR><TD>CGI variables (see <A HREF="#ap_add_cgi_vars">ap_add_cgi_vars</A>) +<TR><TD>CGI variables (see ap_add_cgi_vars) <TR><TD>CONTENT_TYPE <TR><TD>CONTENT_LENGTH <TR><TD>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. </P> <P> -Returns a <A HREF="#core_server_config">core_server_config</A> structure. +Returns a core_server_config structure. </P> 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 @@ <P> -Makes a new array consisting of <EM>b</EM> appended to <EM>a</EM>. If <EM>b</EM> +Makes a new array consisting of <EM>b</EM> appended to <EM>a</EM>. +If <EM>b</EM> is empty, the new array is the same as <EM>a</EM> until a new element is added. -This is a result of using <A HREF=#ap_copy_array_header>ap_copy_array_header -</A> to make the new array. +This is a result of using ap_copy_array_header to make the new array. </P> <P> 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 @@ </P> <P> Calls to this function can be nested, but each call must have a corresponding -call to <A HREF=#unblock_alarms>unblock_alarms</A>. +call to unblock_alarms. </P> 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 @@ <P> -Copies formatted data to a <A HREF="#BUFF">BUFF</A> structure. +Copies formatted data to a BUFF structure. </P> <P> 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 @@ <P> Clears a pool, destroying all subpools of the pool using -<A HREF="#ap_destroy_pool">ap_destroy_pool</A>. The pool is then ready to be +ap_destroy_pool. The pool is then ready to be reused. </P> 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 @@ <P> Copies <EM>arr</EM> into the pool <EM>p</EM> without copying the array's -contents. If <A HREF=#ap_push_array>ap_push_array</A> 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. </P> 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 @@ <P> -Creates a <A HREF="#mutex">mutex</A>. Only actually does anything on +Creates a mutex. Only actually does anything on multithreaded platforms. </P> <P> -Returns a <A HREF="#mutex">mutex *</A> in <EM>name</EM>. +Returns a mutex * in <EM>name</EM>. </P> 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 @@ <P> -Destroys a <A HREF="#mutex">mutex</A>. Only actually does anything on +Destroys a mutex. Only actually does anything on multithreaded platforms. </P> <P> 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 @@ <P> This function will recursively destroy the specified -<A HREF="#pool">pool</A> 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 @@ <P> Destroys a subrequest generated by -<A HREF=#ap_sub_req_lookup_file>ap_sub_req_lookup_file</A> or -<A HREF=#ap_sub_req_lookup_uri>ap_sub_req_lookup_uri</A> and releases all +ap_sub_req_lookup_file or +ap_sub_req_lookup_uri and releases all memory allocated to it. </P> 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 @@ </P> <DL> <DD>&;`'"|*?~<>^()[]{}$\ and \n -</P> +</DL> <P> 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 @@ <P> Reads up to <EM>bufsize</EM> characters into <EM>buffer</EM> from the client. -<A HREF=#ap_setup_client_block>ap_setup_client_block</A> and -<A HREF=#ap_should_client_block>ap_should_client_block</A> should be +ap_setup_client_block and +ap_should_client_block should be called before using this. </P> <P> 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 @@ </P> <P> Note: <EM>data</EM> must point to the same memory that was used for the -<A HREF=#ap_register_cleanup>ap_register_cleanup</A> call. +ap_register_cleanup call. </P> 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 @@ <P> Kill cleanups for <EM>fd</EM> registered previously; <EM>i.e.</EM>, with -<A HREF=#ap_note_cleanups_for_fd>ap_note_cleanups_for_fd</A>. +ap_note_cleanups_for_fd. </P> <P> Normally done automatically when <EM>fd</EM> 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 @@ <P> Kill cleanups for <EM>sock</EM> registered previously; <EM>i.e.</EM>, with -<A HREF=#ap_note_cleanups_for_socket>ap_note_cleanups_for_socket</A>. +ap_note_cleanups_for_socket. </P> <P> Normally done automatically when <EM>sock</EM> 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 @@ <P> -Clears the current timeout on the <A HREF=#request_rec>request_rec</A> <EM>r</EM>. +Clears the current timeout on the request_rec <EM>r</EM>. </P> 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 <EM>err</EM> to <EM>s->error_log</EM>. </P> <P> -Implemented in terms of <A HREF="#ap_log_error">ap_log_error</A>. +Implemented in terms of ap_log_error. </P> 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 @@ <P> - This function creates a new <A HREF="#pool">pool area</A> + 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 - <A HREF="#ap_destroy_pool"><SAMP>ap_destroy_pool</SAMP></A>), + ap_destroy_pool), any sub-pools it may have are also destroyed recursively. </P> <P> An example of when this hierarchy concept is useful can be found in the <A HREF="http://www.apache.org/docs/mod/mod_autoindex.html" - >automatic directory listing module</A>. Since the module can't + >mod_autoindex</A>, 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. </P> <P> - If the pointer passed to <SAMP>ap_make_sub_pool</SAMP> is <CODE>NULL</CODE>, + If the pointer passed to ap_make_sub_pool is <CODE>NULL</CODE>, a new top-level (<EM>i.e.</EM>, 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 <EM>per</EM>-request processing, and hence should be sub-pools of the request's pool - (<A HREF="#request_rec"><SAMP>r->pool</SAMP></A>) to ensure that + (<SAMP>r->pool</SAMP>) to ensure that they are properly cleaned up on request completion. </P> 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 @@ <P> -Makes a new <A HREF=#table>table</A> with enough memory for <EM>nelts</EM> +Makes a new table with enough memory for <EM>nelts</EM> elements. </P> <P> -Returns a pointer to the new <A HREF=#table>table</A>. +Returns a pointer to the new table. </P> 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. </P> <P> -See <A HREF=#kill_conditions>kill_conditions</A> for the various ways +See kill_conditions for the various ways the child process can be killed. </P> 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 @@ <P> -Opens a <A HREF="#mutex">mutex</A>. Only actually does anything on +Opens a mutex. Only actually does anything on multithreaded platforms. </P> <P> -Returns a <A HREF="#mutex">mutex *</A> in <EM>name</EM>. +Returns a mutex * in <EM>name</EM>. </P> 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 @@ <P> -Closes a file previously opened with <A HREF=#popenf>popenf</A>. The file's +Closes a file previously opened with popenf. The file's cleanup function is destroyed.</P> <P> Returns a normal <EM>close</EM> 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 @@ <P> -Writes formatted data to a <A HREF="#pool">pool</A>. +Writes formatted data to a pool. Returns 0 on success, exits with return code 1 if out of memory. </P> <P> @@ -17,5 +17,5 @@ self-contained with no callouts. </P> <P> -ap_psprintf is implemented using <A HREF="#ap_pvsprintf">ap_pvsprintf</A>. +ap_psprintf is implemented using ap_pvsprintf. </P> 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 @@ <P> -Writes a varargs list to a <A HREF="#pool">pool</A>. +Writes a varargs list to a pool. Returns 0 on success, exits with return code 1 if out of memory. </P> <P> -<A HREF="#ap_psprintf">ap_psprintf</A> is implemented using ap_pvsprintf. +ap_psprintf is implemented using ap_pvsprintf. </P> 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 @@ <P> Runs a subrequest generated with -<A HREF=#ap_sub_req_lookup_file>ap_sub_req_lookup_file</A> or -<A HREF=#ap_sub_req_lookup_uri>ap_sub_req_lookup_uri</A>. +ap_sub_req_lookup_file or +ap_sub_req_lookup_uri. </P> <P> 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 @@ <P> Readies to receive data from the client, normally because the client made a PUT or POST request. Should be called before -<A HREF=#ap_should_client_block>ap_should_client_block</A>. +ap_should_client_block. </P> <P> 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 @@ <P> 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 <A HREF=#ap_setup_client_block>ap_setup_client_block</A> -and before <A HREF=#ap_get_client_block>ap_get_client_block</A>. +be called after ap_setup_client_block +and before ap_get_client_block. </P> <P> 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 @@ <P> -These are snprintf implementations based on <A HREF="#ap_vformatter"> -ap_vformatter()</A>. +These are snprintf implementations based on ap_vformatter(). </P> <P> 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 <EM>func</EM> will need cleanup, it calls -<A HREF=#ap_cleanup_for_exec>ap_cleanup_for_exec</A>. +ap_cleanup_for_exec. </P> <P> -See <A HREF=#kill_conditions>kill_conditions</A> 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. </P> 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 @@ <P> -Spawns a child process. <A HREF=#BUFF>BUFF</A>s 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 -<A HREF=#BUFF>BUFF</A>s are NULL, they aren't created. If <EM>func</EM> will -need cleanup, it calls <A HREF=#ap_cleanup_for_exec>ap_cleanup_for_exec</A>. +BUFFs are NULL, they aren't created. If <EM>func</EM> will +need cleanup, it calls ap_cleanup_for_exec. </P> <P> -See <A HREF=#kill_conditions>kill_conditions</A> 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. </P> 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 @@ <P> -Processes <EM>new_file</EM> to produce a new <A HREF=#request_rec>request_rec</A>, +Processes <EM>new_file</EM> 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 <EM>r</EM>. </P> <P> -Returns the new <A HREF=#request_rec>request_rec</A>, whose <EM>status</EM> +Returns the new request_rec, whose <EM>status</EM> member contains any error code. </P> 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 @@ <P> Processes the URI <EM>new_file</EM> to produce a new -<A HREF=#request_rec>request_rec</A>, 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 <EM>r</EM>. </P> <P> -Returns the new <A HREF=#request_rec>request_rec</A>, whose <EM>status</EM> +Returns the new request_rec, whose <EM>status</EM> member contains any error code. </P> 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 @@ </P> <P> A new table entry is always created, even if it duplicates another. -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>. +This function does not use ap_pstrdup. </P> 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 @@ </P> <P> If more than one occurrence of <EM>name</EM> exists, only the first is modified. -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>. +This function does not use ap_pstrdup. </P> 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 <EM>t</EM> with new <EM>val</EM> in table <EM>t</EM>. </P> <P> -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>. +This function does not use ap_pstrdup. </P> 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 @@ <P> -Removes a block on alarms for a call to <A HREF=#block_alarms>block_alarms</A>. +Removes a block on alarms for a call to block_alarms. </P> 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 @@ <P> -Copies formatted data to a <A HREF="#BUFF">BUFF</A> structure. +Copies formatted data to a BUFF structure. </P> <P> 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 @@ <P> -These are vsnprintf implementations based on <A HREF="#ap_vformatter"> -ap_vformatter()</A>. +These are vsnprintf implementations based on ap_vformatter(). </P> <P> 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 @@ <P> A set of values designating how argument processing is done for a given -instance of a <A HREF="#command_rec">command_rec</A>. 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; + [EMAIL PROTECTED] = (); +$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 = <INFILE>) { print OUTFILE $line; if ($state == 1) { push (@Prologue, $line); - } elsif ($state == 2) { + } + elsif ($state == 2) { push (@Epilogue, $line); - }; + } if ($line =~ m:<!--.*%%BEGIN%%.*-->:) { $state = 0; - } elsif ($line =~ m:<!--.*%%END%%.*-->:) { + } + elsif ($line =~ m:<!--.*%%END%%.*-->:) { 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 <<EOHT; +&verbose("Dumping prologue."); +print $ofh @Prologue; +print $ofh <<EOHT; <H2>Table of Contents</H2> <UL> <LI><A HREF="#Routines">Routine Descriptions</A> @@ -132,7 +212,7 @@ <HR> EOHT -print <<EOHT; +print $ofh <<EOHT; <H2> <A NAME="Routines"> Routine Descriptions @@ -140,9 +220,12 @@ </H2> <HR> EOHT -&dump_list(%Routine); -print <<EOHT; +&verbose("Dumping routines."); +&list_items('R', %Routine); +&dump_list('R', %Routine); + +print $ofh <<EOHT; <H2> <A NAME="Structures"> Data Structure Definitions @@ -150,9 +233,12 @@ </H2> <HR> EOHT -&dump_list(%Structure); + +&verbose("Dumping structures."); +&list_items('S', %Structure); +&dump_list('S', %Structure); -print <<EOHT; +print $ofh <<EOHT; <H2> <A NAME="Cells"> Global Data Cells @@ -160,9 +246,12 @@ </H2> <HR> EOHT -&dump_list(%Cell); -print <<EOHT; +&verbose("Dumping data cells."); +&list_items('D', %Cell); +&dump_list('D', %Cell); + +print $ofh <<EOHT; <H2> <A NAME="Constants"> Constant Definitions @@ -177,43 +266,195 @@ </P> <P> Some of the Apache Web server's constants (such as - <A HREF="#SERVER_VERSION"><SAMP>SERVER_VERSION</SAMP></A>) + <A HREF="$HREF{'SERVER_VERSION'}"><SAMP>SERVER_VERSION</SAMP></A>) can be overridden with compile-time definitions on the compiler command line. Others, like - <A HREF="#MAX_STRING_LEN"><SAMP>MAX_STRING_LEN</SAMP></A>, + <A HREF="$HREF{'MAX_STRING_LEN'}"><SAMP>MAX_STRING_LEN</SAMP></A>, are provided as conveniences, and shouldn't be modified except under special circumstances. Still others, such as - <A HREF="#OR_LIMIT"><SAMP>OR_LIMIT</SAMP></A>, + <A HREF="$HREF{'OR_LIMIT'}"><SAMP>OR_LIMIT</SAMP></A>, have specific values that <STRONG>must not</STRONG> be altered. </P> <HR> 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 <<EOHT if ($Layout == 0); + local (*dfh); + local ($previous, $next) = ("", ""); + + $previous = $keys[$i - 1] if ($i > 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:<A HREF="$href">$ref</A>: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 = <dfh> || 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; + <OL COMPACT> +EOHT + + foreach (sort(keys(%items))) { + my ($uri) = $HREF{"$_"}; + + print $ofh <<EOHT; + <LI><A HREF="$uri"><CODE>$_</CODE></A></LI> +EOHT + + } + + print $ofh <<EOHT; + </OL> +EOHT + + } + + print $ofh <<EOHT; + <HR> +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 <<EOHT if ($Layout == 0); +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" + "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> + <HEAD> + <TITLE>Apache API: $iname + </TITLE> + </HEAD> + <BODY> + <H1>Apache API Documentation</H1> + <H3>$iname</H3> +EOHT + + print $ofh <<EOHT if ($Layout > 0); <H3> - <A NAME="$iname"> + <A NAME="$uri"> $iname </A> </H3> EOHT - $edited = &edit_inline($idef, $iname); - if (! $edited) { - $edited = "No prototype or definition available."; - }; - if ($Layout == 0) { - print <<EOHT; + $edited = &edit_inline($idef, $iname); + if (! $edited) { + $edited = "No prototype or definition available."; + } + if ($Layout < 2) { + + print $ofh <<EOHT; <P> Definition: </P> @@ -225,20 +466,23 @@ </DD> </DL> EOHT - } else { + } + else { if ($edited =~ /$iname/) { $edited =~ s/$iname/<STRONG>$iname<\/STRONG>/; - } else { + } + else { $edited="<STRONG>$iname:</STRONG> $edited"; } - print "<A NAME=\"$iname\"><PRE>$edited</PRE></A>\n"; + print $ofh "<A NAME=\"$uri\"><PRE>$edited</PRE></A>\n"; } $edited = &edit_inline($isamp, $iname); - if ((! $edited) && ($Layout != 1)) { + if ((! $edited) && ($Layout < 2)) { $edited = "No examples available."; - }; - if (($Layout != 1) || $edited) { - print <<EOHT; + } + if (($Layout < 2) || $edited) { + + print $ofh <<EOHT; <P> Usage example: </P> @@ -253,22 +497,28 @@ } if (! $idesc) { - print <<EOHT if ($Layout != 1); + print $ofh <<EOHT if ($Layout < 2); <P> No documentation available. </P> EOHT - } elsif (! -r $idesc) { - print <<EOHT; + } + elsif (! -r $idesc) { + print $ofh <<EOHT; <P> Documentation file not accessible. </P> EOHT - } else { + } + else { + local ($drec); + open DFILE, "<$idesc"; - print <DFILE>; + while ($drec = <DFILE>) { + 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 <<EOHT; + print $ofh <<EOHT; <DL COMPACT> <DT><EM>See also:</EM> </DT> @@ -288,75 +538,85 @@ foreach (split(m:,:, $ref)) { if ($SeeAlso{$_}) { $sees .= ",$SeeAlso{$_}"; - } else { + } + else { $sees .= ",$_"; - }; - }; + } + } $ref = $sees; foreach (sort(split(m:,:, $ref))) { local ($item) = "<SAMP>$_</SAMP>"; + my ($uri) = $HREF{"$_"}; next if (($_ eq "") || ($_ eq $iname)); if ($Entity{$_}) { - $item = "<A HREF=\"#$_\">$item</A>"; - } else { + $item = "<A HREF=\"$uri\">$item</A>"; + } + 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 $ofh $ref_list; + print $ofh <<EOHT; </DD> </DL> EOHT - }; - print " <HR>\n"; - }; -}; + } -# -# Turn any inline references to other structures or constants into links. -# -sub edit_inline { - local ($wip, $rname) = @_; - local ($ref); + print $ofh <<EOHT; + <HR> +EOHT - foreach $ref (keys(%Entity)) { - if ($ref ne $rname) { - $wip =~ s:\b$ref\b:<A HREF="#$ref">$ref</A>:g; - }; - }; - return $wip; -}; + if ($Layout == 0) { + if ($previous) { + $previous = '<A HREF="' . $HREF{"$previous"} . '">' + . "<CODE>$previous</CODE></A>"; + } + else { + $previous = "(none)"; + } + if ($next) { + $next = '<A HREF="' . $HREF{"$next"} . '">' + . "<CODE>$next</CODE></A>"; + } + 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 <<EOHT; + <P> + Previous: $previous + Next: $next + </P> + <P> + <A HREF="$arg{'o'}">Table of Contents</A> + (<A HREF="$arg{'o'}#Routines">Routines</A>, + <A HREF="$arg{'o'}#Structures">Structures</A>, + <A HREF="$arg{'o'}#Cells">Data Cells</A>, + <A HREF="$arg{'o'}#Constants">Constants</A>) + </P> + </BODY> +</HTML> +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 = <STDIN> || 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