約 5,751,830 件
https://w.atwiki.jp/feedback1970/pages/57.html
memo source 1 /* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http //www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef APACHE_HTTP_CONFIG_H 18 #define APACHE_HTTP_CONFIG_H 19 20 #include "apr_hooks.h" 21 #include "util_cfgtree.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /** 28 * @file http_config.h 29 * @brief Apache Configuration 30 */ 31 32 /* 33 * The central data structures around here... 34 */ 35 36 /* Command dispatch structures... */ 37 38 /** 39 * How the directives arguments should be parsed. 40 * @remark Note that for all of these except RAW_ARGS, the config routine is 41 * passed a freshly allocated string which can be modified or stored 42 * or whatever... 43 */ 44 enum cmd_how { 45 RAW_ARGS, /** cmd_func parses command line itself */ 46 TAKE1, /** one argument only */ 47 TAKE2, /** two arguments only */ 48 ITERATE, /** one argument, occuring multiple times 49 * (e.g., IndexIgnore) 50 */ 51 ITERATE2, /** two arguments, 2nd occurs multiple times 52 * (e.g., AddIcon) 53 */ 54 FLAG, /** One of On or Off */ 55 NO_ARGS, /** No args at all, e.g. /Directory */ 56 TAKE12, /** one or two arguments */ 57 TAKE3, /** three arguments only */ 58 TAKE23, /** two or three arguments */ 59 TAKE123, /** one, two or three arguments */ 60 TAKE13 /** one or three arguments */ 61 }; 62 /** 63 * This structure is passed to a command which is being invoked, 64 * to carry a large variety of miscellaneous data which is all of 65 * use to *somebody*... 66 */ 67 typedef struct cmd_parms_struct cmd_parms; 68 69 #if defined(AP_HAVE_DESIGNATED_INITIALIZER) || defined(DOXYGEN) 70 71 /** 72 * All the types of functions that can be used in directives 73 * @internal 74 */ 75 typedef union { 76 /** function to call for a no-args */ 77 const char *(*no_args) (cmd_parms *parms, void *mconfig); 78 /** function to call for a raw-args */ 79 const char *(*raw_args) (cmd_parms *parms, void *mconfig, 80 const char *args); 81 /** function to call for a take1 */ 82 const char *(*take1) (cmd_parms *parms, void *mconfig, const char *w); 83 /** function to call for a take2 */ 84 const char *(*take2) (cmd_parms *parms, void *mconfig, const char *w, 85 const char *w2); 86 /** function to call for a take3 */ 87 const char *(*take3) (cmd_parms *parms, void *mconfig, const char *w, 88 const char *w2, const char *w3); 89 /** function to call for a flag */ 90 const char *(*flag) (cmd_parms *parms, void *mconfig, int on); 91 } cmd_func; 92 93 /** This configuration directive does not take any arguments */ 94 # define AP_NO_ARGS func.no_args 95 /** This configuration directive will handle it s own parsing of arguments*/ 96 # define AP_RAW_ARGS func.raw_args 97 /** This configuration directive takes 1 argument*/ 98 # define AP_TAKE1 func.take1 99 /** This configuration directive takes 2 arguments */ 100 # define AP_TAKE2 func.take2 101 /** This configuration directive takes 3 arguments */ 102 # define AP_TAKE3 func.take3 103 /** This configuration directive takes a flag (on/off) as a argument*/ 104 # define AP_FLAG func.flag 105 106 /** method of declaring a directive with no arguments */ 107 # define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \ 108 { directive, { .no_args=func }, mconfig, where, RAW_ARGS, help } 109 /** method of declaring a directive with raw argument parsing */ 110 # define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \ 111 { directive, { .raw_args=func }, mconfig, where, RAW_ARGS, help } 112 /** method of declaring a directive which takes 1 argument */ 113 # define AP_INIT_TAKE1(directive, func, mconfig, where, help) \ 114 { directive, { .take1=func }, mconfig, where, TAKE1, help } 115 /** method of declaring a directive which takes multiple arguments */ 116 # define AP_INIT_ITERATE(directive, func, mconfig, where, help) \ 117 { directive, { .take1=func }, mconfig, where, ITERATE, help } 118 /** method of declaring a directive which takes 2 arguments */ 119 # define AP_INIT_TAKE2(directive, func, mconfig, where, help) \ 120 { directive, { .take2=func }, mconfig, where, TAKE2, help } 121 /** method of declaring a directive which takes 1 or 2 arguments */ 122 # define AP_INIT_TAKE12(directive, func, mconfig, where, help) \ 123 { directive, { .take2=func }, mconfig, where, TAKE12, help } 124 /** method of declaring a directive which takes multiple 2 arguments */ 125 # define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \ 126 { directive, { .take2=func }, mconfig, where, ITERATE2, help } 127 /** method of declaring a directive which takes 1 or 3 arguments */ 128 # define AP_INIT_TAKE13(directive, func, mconfig, where, help) \ 129 { directive, { .take3=func }, mconfig, where, TAKE13, help } 130 /** method of declaring a directive which takes 2 or 3 arguments */ 131 # define AP_INIT_TAKE23(directive, func, mconfig, where, help) \ 132 { directive, { .take3=func }, mconfig, where, TAKE23, help } 133 /** method of declaring a directive which takes 1 to 3 arguments */ 134 # define AP_INIT_TAKE123(directive, func, mconfig, where, help) \ 135 { directive, { .take3=func }, mconfig, where, TAKE123, help } 136 /** method of declaring a directive which takes 3 arguments */ 137 # define AP_INIT_TAKE3(directive, func, mconfig, where, help) \ 138 { directive, { .take3=func }, mconfig, where, TAKE3, help } 139 /** method of declaring a directive which takes a flag (on/off) as a argument*/ 140 # define AP_INIT_FLAG(directive, func, mconfig, where, help) \ 141 { directive, { .flag=func }, mconfig, where, FLAG, help } 142 143 #else /* AP_HAVE_DESIGNATED_INITIALIZER */ 144 145 typedef const char *(*cmd_func) (); 146 147 # define AP_NO_ARGS func 148 # define AP_RAW_ARGS func 149 # define AP_TAKE1 func 150 # define AP_TAKE2 func 151 # define AP_TAKE3 func 152 # define AP_FLAG func 153 154 # define AP_INIT_NO_ARGS(directive, func, mconfig, where, help) \ 155 { directive, func, mconfig, where, RAW_ARGS, help } 156 # define AP_INIT_RAW_ARGS(directive, func, mconfig, where, help) \ 157 { directive, func, mconfig, where, RAW_ARGS, help } 158 # define AP_INIT_TAKE1(directive, func, mconfig, where, help) \ 159 { directive, func, mconfig, where, TAKE1, help } 160 # define AP_INIT_ITERATE(directive, func, mconfig, where, help) \ 161 { directive, func, mconfig, where, ITERATE, help } 162 # define AP_INIT_TAKE2(directive, func, mconfig, where, help) \ 163 { directive, func, mconfig, where, TAKE2, help } 164 # define AP_INIT_TAKE12(directive, func, mconfig, where, help) \ 165 { directive, func, mconfig, where, TAKE12, help } 166 # define AP_INIT_ITERATE2(directive, func, mconfig, where, help) \ 167 { directive, func, mconfig, where, ITERATE2, help } 168 # define AP_INIT_TAKE13(directive, func, mconfig, where, help) \ 169 { directive, func, mconfig, where, TAKE13, help } 170 # define AP_INIT_TAKE23(directive, func, mconfig, where, help) \ 171 { directive, func, mconfig, where, TAKE23, help } 172 # define AP_INIT_TAKE123(directive, func, mconfig, where, help) \ 173 { directive, func, mconfig, where, TAKE123, help } 174 # define AP_INIT_TAKE3(directive, func, mconfig, where, help) \ 175 { directive, func, mconfig, where, TAKE3, help } 176 # define AP_INIT_FLAG(directive, func, mconfig, where, help) \ 177 { directive, func, mconfig, where, FLAG, help } 178 179 #endif /* AP_HAVE_DESIGNATED_INITIALIZER */ 180 181 /** 182 * The command record structure. Each modules can define a table of these 183 * to define the directives it will implement. 184 */ 185 typedef struct command_struct command_rec; 186 struct command_struct { 187 /** Name of this command */ 188 const char *name; 189 /** The function to be called when this directive is parsed */ 190 cmd_func func; 191 /** Extra data, for functions which implement multiple commands... */ 192 void *cmd_data; 193 /** What overrides need to be allowed to enable this command. */ 194 int req_override; 195 /** What the command expects as arguments 196 * @defvar cmd_how args_how*/ 197 enum cmd_how args_how; 198 199 /** usage message, in case of syntax errors */ 200 const char *errmsg; 201 }; 202 203 /** 204 * @defgroup ConfigDirectives Allowed locations for configuration directives. 205 * 206 * The allowed locations for a configuration directive are the union of 207 * those indicated by each set bit in the req_override mask. 208 * 209 * @{ 210 */ 211 #define OR_NONE 0 /** *.conf is not available anywhere in this override */ 212 #define OR_LIMIT 1 /** *.conf inside Directory or Location 213 and .htaccess when AllowOverride Limit */ 214 #define OR_OPTIONS 2 /** *.conf anywhere 215 and .htaccess when AllowOverride Options */ 216 #define OR_FILEINFO 4 /** *.conf anywhere 217 and .htaccess when AllowOverride FileInfo */ 218 #define OR_AUTHCFG 8 /** *.conf inside Directory or Location 219 and .htaccess when AllowOverride AuthConfig */ 220 #define OR_INDEXES 16 /** *.conf anywhere 221 and .htaccess when AllowOverride Indexes */ 222 #define OR_UNSET 32 /** unset a directive (in Allow) */ 223 #define ACCESS_CONF 64 /** *.conf inside Directory or Location */ 224 #define RSRC_CONF 128 /** *.conf outside Directory or Location */ 225 #define EXEC_ON_READ 256 /** force directive to execute a command 226 which would modify the configuration (like including another 227 file, or IFModule */ 228 /** this directive can be placed anywhere */ 229 #define OR_ALL (OR_LIMIT|OR_OPTIONS|OR_FILEINFO|OR_AUTHCFG|OR_INDEXES) 230 231 /** @} */ 232 233 /** 234 * This can be returned by a function if they don t wish to handle 235 * a command. Make it something not likely someone will actually use 236 * as an error code. 237 */ 238 #define DECLINE_CMD "\a\b" 239 240 /** Common structure for reading of config files / passwd files etc. */ 241 typedef struct ap_configfile_t ap_configfile_t; 242 struct ap_configfile_t { 243 int (*getch) (void *param); /** a getc()-like function */ 244 void *(*getstr) (void *buf, size_t bufsiz, void *param); 245 /** a fgets()-like function */ 246 int (*close) (void *param); /** a close handler function */ 247 void *param; /** the argument passed to getch/getstr/close */ 248 const char *name; /** the filename / description */ 249 unsigned line_number; /** current line number, starting at 1 */ 250 }; 251 252 /** 253 * This structure is passed to a command which is being invoked, 254 * to carry a large variety of miscellaneous data which is all of 255 * use to *somebody*... 256 */ 257 struct cmd_parms_struct { 258 /** Argument to command from cmd_table */ 259 void *info; 260 /** Which allow-override bits are set */ 261 int override; 262 /** Which methods are Limit ed */ 263 apr_int64_t limited; 264 /** methods which are limited */ 265 apr_array_header_t *limited_xmethods; 266 /** methods which are xlimited */ 267 ap_method_list_t *xlimited; 268 269 /** Config file structure. */ 270 ap_configfile_t *config_file; 271 /** the directive specifying this command */ 272 ap_directive_t *directive; 273 274 /** Pool to allocate new storage in */ 275 apr_pool_t *pool; 276 /** Pool for scratch memory; persists during configuration, but 277 * wiped before the first request is served... */ 278 apr_pool_t *temp_pool; 279 /** Server_rec being configured for */ 280 server_rec *server; 281 /** If configuring for a directory, pathname of that directory. 282 * NOPE! That s what it meant previous to the existance of Files , 283 * Location and regex matching. Now the only usefulness that can be 284 * derived from this field is whether a command is being called in a 285 * server context (path == NULL) or being called in a dir context 286 * (path != NULL). */ 287 char *path; 288 /** configuration command */ 289 const command_rec *cmd; 290 291 /** per_dir_config vector passed to handle_command */ 292 struct ap_conf_vector_t *context; 293 /** directive with syntax error */ 294 const ap_directive_t *err_directive; 295 }; 296 297 /** 298 * Module structures. Just about everything is dispatched through 299 * these, directly or indirectly (through the command and handler 300 * tables). 301 */ 302 typedef struct module_struct module; 303 struct module_struct { 304 /** API version, *not* module version; check that module is 305 * compatible with this version of the server. 306 */ 307 int version; 308 /** API minor version. Provides API feature milestones. Not checked 309 * during module init */ 310 int minor_version; 311 /** Index to this modules structures in config vectors. */ 312 int module_index; 313 314 /** The name of the module s C file */ 315 const char *name; 316 /** The handle for the DSO. Internal use only */ 317 void *dynamic_load_handle; 318 319 /** A pointer to the next module in the list 320 * @defvar module_struct *next */ 321 struct module_struct *next; 322 323 /** Magic Cookie to identify a module structure; It s mainly 324 * important for the DSO facility (see also mod_so). */ 325 unsigned long magic; 326 327 /** Function to allow MPMs to re-write command line arguments. This 328 * hook is only available to MPMs. 329 * @param The process that the server is running in. 330 */ 331 void (*rewrite_args) (process_rec *process); 332 /** Function to allow all modules to create per directory configuration 333 * structures. 334 * @param p The pool to use for all allocations. 335 * @param dir The directory currently being processed. 336 * @return The per-directory structure created 337 */ 338 void *(*create_dir_config) (apr_pool_t *p, char *dir); 339 /** Function to allow all modules to merge the per directory configuration 340 * structures for two directories. 341 * @param p The pool to use for all allocations. 342 * @param base_conf The directory structure created for the parent directory. 343 * @param new_conf The directory structure currently being processed. 344 * @return The new per-directory structure created 345 */ 346 void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf); 347 /** Function to allow all modules to create per server configuration 348 * structures. 349 * @param p The pool to use for all allocations. 350 * @param s The server currently being processed. 351 * @return The per-server structure created 352 */ 353 void *(*create_server_config) (apr_pool_t *p, server_rec *s); 354 /** Function to allow all modules to merge the per server configuration 355 * structures for two servers. 356 * @param p The pool to use for all allocations. 357 * @param base_conf The directory structure created for the parent directory. 358 * @param new_conf The directory structure currently being processed. 359 * @return The new per-directory structure created 360 */ 361 void *(*merge_server_config) (apr_pool_t *p, void *base_conf, 362 void *new_conf); 363 364 /** A command_rec table that describes all of the directives this module 365 * defines. */ 366 const command_rec *cmds; 367 368 /** A hook to allow modules to hook other points in the request processing. 369 * In this function, modules should call the ap_hook_*() functions to 370 * register an interest in a specific step in processing the current 371 * request. 372 * @param p the pool to use for all allocations 373 */ 374 void (*register_hooks) (apr_pool_t *p); 375 }; 376 377 /** 378 * @defgroup ModuleInit Module structure initializers 379 * 380 * Initializer for the first few module slots, which are only 381 * really set up once we start running. Note that the first two slots 382 * provide a version check; this should allow us to deal with changes to 383 * the API. The major number should reflect changes to the API handler table 384 * itself or removal of functionality. The minor number should reflect 385 * additions of functionality to the existing API. (the server can detect 386 * an old-format module, and either handle it back-compatibly, or at least 387 * signal an error). See src/include/ap_mmn.h for MMN version history. 388 * @{ 389 */ 390 391 /** The one used in Apache 1.3, which will deliberately cause an error */ 392 #define STANDARD_MODULE_STUFF this_module_needs_to_be_ported_to_apache_2_0 393 394 /** Use this in all standard modules */ 395 #define STANDARD20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \ 396 MODULE_MAGIC_NUMBER_MINOR, \ 397 -1, \ 398 __FILE__, \ 399 NULL, \ 400 NULL, \ 401 MODULE_MAGIC_COOKIE, \ 402 NULL /* rewrite args spot */ 403 404 /** Use this only in MPMs */ 405 #define MPM20_MODULE_STUFF MODULE_MAGIC_NUMBER_MAJOR, \ 406 MODULE_MAGIC_NUMBER_MINOR, \ 407 -1, \ 408 __FILE__, \ 409 NULL, \ 410 NULL, \ 411 MODULE_MAGIC_COOKIE 412 413 /** @} */ 414 415 /* CONFIGURATION VECTOR FUNCTIONS */ 416 417 /** configuration vector structure */ 418 typedef struct ap_conf_vector_t ap_conf_vector_t; 419 420 /** 421 * Generic accessors for other modules to get at their own module-specific 422 * data 423 * @param conf_vector The vector in which the modules configuration is stored. 424 * usually r- per_dir_config or s- module_config 425 * @param m The module to get the data for. 426 * @return The module-specific data 427 */ 428 AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv, 429 const module *m); 430 431 /** 432 * Generic accessors for other modules to set at their own module-specific 433 * data 434 * @param conf_vector The vector in which the modules configuration is stored. 435 * usually r- per_dir_config or s- module_config 436 * @param m The module to set the data for. 437 * @param val The module-specific data to set 438 */ 439 AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m, 440 void *val); 441 442 #if !defined(AP_DEBUG) 443 444 #define ap_get_module_config(v,m) \ 445 (((void **)(v))[(m)- module_index]) 446 #define ap_set_module_config(v,m,val) \ 447 ((((void **)(v))[(m)- module_index]) = (val)) 448 449 #endif /* AP_DEBUG */ 450 451 452 /** 453 * Generic command handling function for strings 454 * @param cmd The command parameters for this directive 455 * @param struct_ptr pointer into a given type 456 * @param arg The argument to the directive 457 * @return An error string or NULL on success 458 */ 459 AP_DECLARE_NONSTD(const char *) ap_set_string_slot(cmd_parms *cmd, 460 void *struct_ptr, 461 const char *arg); 462 463 /** 464 * Generic command handling function for integers 465 * @param cmd The command parameters for this directive 466 * @param struct_ptr pointer into a given type 467 * @param arg The argument to the directive 468 * @return An error string or NULL on success 469 */ 470 AP_DECLARE_NONSTD(const char *) ap_set_int_slot(cmd_parms *cmd, 471 void *struct_ptr, 472 const char *arg); 473 474 /** 475 * Return true if the specified method is limited by being listed in 476 * a Limit container, or by *not* being listed in a LimiteExcept 477 * container. 478 * 479 * @param method Pointer to a string specifying the method to check. 480 * @param cmd Pointer to the cmd_parms structure passed to the 481 * directive handler. 482 * @return 0 if the method is not limited in the current scope 483 */ 484 AP_DECLARE(int) ap_method_is_limited(cmd_parms *cmd, const char *method); 485 486 /** 487 * Generic command handling function for strings, always sets the value 488 * to a lowercase string 489 * @param cmd The command parameters for this directive 490 * @param struct_ptr pointer into a given type 491 * @param arg The argument to the directive 492 * @return An error string or NULL on success 493 */ 494 AP_DECLARE_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *cmd, 495 void *struct_ptr, 496 const char *arg); 497 /** 498 * Generic command handling function for flags 499 * @param cmd The command parameters for this directive 500 * @param struct_ptr pointer into a given type 501 * @param arg The argument to the directive (either 1 or 0) 502 * @return An error string or NULL on success 503 */ 504 AP_DECLARE_NONSTD(const char *) ap_set_flag_slot(cmd_parms *cmd, 505 void *struct_ptr, 506 int arg); 507 /** 508 * Generic command handling function for files 509 * @param cmd The command parameters for this directive 510 * @param struct_ptr pointer into a given type 511 * @param arg The argument to the directive 512 * @return An error string or NULL on success 513 */ 514 AP_DECLARE_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd, 515 void *struct_ptr, 516 const char *arg); 517 /** 518 * Generic command handling function to respond with cmd- help as an error 519 * @param cmd The command parameters for this directive 520 * @param struct_ptr pointer into a given type 521 * @param arg The argument to the directive 522 * @return The cmd- help value as the error string 523 * @tip This allows simple declarations such as; 524 * pre 525 * AP_INIT_RAW_ARGS("Foo", ap_set_deprecated, NULL, OR_ALL, 526 * "The Foo directive is no longer supported, use Bar"), 527 * /pre 528 */ 529 AP_DECLARE_NONSTD(const char *) ap_set_deprecated(cmd_parms *cmd, 530 void *struct_ptr, 531 const char *arg); 532 /** 533 * For modules which need to read config files, open logs, etc. this returns 534 * the canonical form of fname made absolute to ap_server_root. 535 * @param p pool to allocate data from 536 * @param fname The file name 537 */ 538 AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *fname); 539 540 /* Finally, the hook for dynamically loading modules in... */ 541 542 /** 543 * Add a module to the server 544 * @param m The module structure of the module to add 545 * @param p The pool of the same lifetime as the module 546 */ 547 AP_DECLARE(void) ap_add_module(module *m, apr_pool_t *p); 548 549 /** 550 * Remove a module from the server. There are some caveats 551 * when the module is removed, its slot is lost so all the current 552 * per-dir and per-server configurations are invalid. So we should 553 * only ever call this function when you are invalidating almost 554 * all our current data. I.e. when doing a restart. 555 * @param m the module structure of the module to remove 556 */ 557 AP_DECLARE(void) ap_remove_module(module *m); 558 /** 559 * Add a module to the chained modules list and the list of loaded modules 560 * @param m The module structure of the module to add 561 * @param p The pool with the same lifetime as the module 562 */ 563 AP_DECLARE(void) ap_add_loaded_module(module *mod, apr_pool_t *p); 564 /** 565 * Remove a module fromthe chained modules list and the list of loaded modules 566 * @param m the module structure of the module to remove 567 */ 568 AP_DECLARE(void) ap_remove_loaded_module(module *mod); 569 /** 570 * Add a module to the list of loaded module based on the name of the 571 * module 572 * @param name The name of the module 573 * @param p The pool valid for the lifetime of the module 574 * @return 1 on success, 0 on failure 575 */ 576 AP_DECLARE(int) ap_add_named_module(const char *name, apr_pool_t *p); 577 /** 578 * Find the name of the specified module 579 * @param m The module to get the name for 580 * @return the name of the module 581 */ 582 AP_DECLARE(const char *) ap_find_module_name(module *m); 583 /** 584 * Find a module based on the name of the module 585 * @param name the name of the module 586 * @return the module structure if found, NULL otherwise 587 */ 588 AP_DECLARE(module *) ap_find_linked_module(const char *name); 589 590 /** 591 * Open a ap_configfile_t as apr_file_t 592 * @param ret_cfg open ap_configfile_t struct pointer 593 * @param p The pool to allocate the structure from 594 * @param name the name of the file to open 595 */ 596 AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg, 597 apr_pool_t *p, const char *name); 598 599 /** 600 * Allocate a ap_configfile_t handle with user defined functions and params 601 * @param p The pool to allocate from 602 * @param descr The name of the file 603 * @param param The argument passed to getch/getstr/close 604 * @param getc_func The getch function 605 * @param gets_func The getstr function 606 * @param close_func The close function 607 */ 608 AP_DECLARE(ap_configfile_t *) ap_pcfg_open_custom(apr_pool_t *p, 609 const char *descr, 610 void *param, 611 int(*getc_func)(void*), 612 void *(*gets_func) (void *buf, size_t bufsiz, void *param), 613 int(*close_func)(void *param)); 614 615 /** 616 * Read one line from open ap_configfile_t, strip LF, increase line number 617 * @param buf place to store the line read 618 * @param bufsize size of the buffer 619 * @param cfp File to read from 620 * @return 1 on success, 0 on failure 621 */ 622 AP_DECLARE(int) ap_cfg_getline(char *buf, size_t bufsize, ap_configfile_t *cfp); 623 624 /** 625 * Read one char from open configfile_t, increase line number upon LF 626 * @param cfp The file to read from 627 * @return the character read 628 */ 629 AP_DECLARE(int) ap_cfg_getc(ap_configfile_t *cfp); 630 631 /** 632 * Detach from open ap_configfile_t, calling the close handler 633 * @param cfp The file to close 634 * @return 1 on sucess, 0 on failure 635 */ 636 AP_DECLARE(int) ap_cfg_closefile(ap_configfile_t *cfp); 637 638 /** 639 * Read all data between the current foo and the matching /foo . All 640 * of this data is forgotten immediately. 641 * @param cmd The cmd_parms to pass to the directives inside the container 642 * @param directive The directive name to read until 643 * @return Error string on failure, NULL on success 644 */ 645 AP_DECLARE(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive); 646 647 /** 648 * Read all data between the current foo and the matching /foo and build 649 * a config tree from it 650 * @param p pool to allocate from 651 * @param temp_pool Temporary pool to allocate from 652 * @param parms The cmd_parms to pass to all directives read 653 * @param current The current node in the tree 654 * @param curr_parent The current parent node 655 * @param orig_directive The directive to read until hit. 656 * @return Error string on failure, NULL on success 657 */ 658 AP_DECLARE(const char *) ap_build_cont_config(apr_pool_t *p, 659 apr_pool_t *temp_pool, 660 cmd_parms *parms, 661 ap_directive_t **current, 662 ap_directive_t **curr_parent, 663 char *orig_directive); 664 665 /** 666 * Build a config tree from a config file 667 * @param parms The cmd_parms to pass to all of the directives in the file 668 * @param conf_pool The pconf pool 669 * @param temp_pool The temporary pool 670 * @param conftree Place to store the root node of the config tree 671 * @return Error string on erro, NULL otherwise 672 */ 673 AP_DECLARE(const char *) ap_build_config(cmd_parms *parms, 674 apr_pool_t *conf_pool, 675 apr_pool_t *temp_pool, 676 ap_directive_t **conftree); 677 678 /** 679 * Walk a config tree and setup the server s internal structures 680 * @param conftree The config tree to walk 681 * @param parms The cmd_parms to pass to all functions 682 * @param section_vector The per-section config vector. 683 * @return Error string on error, NULL otherwise 684 */ 685 AP_DECLARE(const char *) ap_walk_config(ap_directive_t *conftree, 686 cmd_parms *parms, 687 ap_conf_vector_t *section_vector); 688 689 /** 690 * @defgroup ap_check_cmd_context ap_check_cmd_context 691 * @{ 692 */ 693 /** 694 * Check the context a command is used in. 695 * @param cmd The command to check 696 * @param forbidden Where the command is forbidden. 697 * @return Error string on error, NULL on success 698 */ 699 AP_DECLARE(const char *) ap_check_cmd_context(cmd_parms *cmd, 700 unsigned forbidden); 701 702 #define NOT_IN_VIRTUALHOST 0x01 /** Forbidden in Virtualhost */ 703 #define NOT_IN_LIMIT 0x02 /** Forbidden in Limit */ 704 #define NOT_IN_DIRECTORY 0x04 /** Forbidden in Directory */ 705 #define NOT_IN_LOCATION 0x08 /** Forbidden in Location */ 706 #define NOT_IN_FILES 0x10 /** Forbidden in Files */ 707 /** Forbidden in Directory / Location / Files */ 708 #define NOT_IN_DIR_LOC_FILE (NOT_IN_DIRECTORY|NOT_IN_LOCATION|NOT_IN_FILES) 709 /** Forbidden in VirtualHost / Limit / Directory / Location / Files */ 710 #define GLOBAL_ONLY (NOT_IN_VIRTUALHOST|NOT_IN_LIMIT|NOT_IN_DIR_LOC_FILE) 711 712 /** @} */ 713 714 #ifdef CORE_PRIVATE 715 716 /** 717 * The topmost module in the list 718 * @defvar module *ap_top_module 719 */ 720 AP_DECLARE_DATA extern module *ap_top_module; 721 722 /** 723 * Array of all statically linked modules 724 * @defvar module *ap_prelinked_modules[] 725 */ 726 AP_DECLARE_DATA extern module *ap_prelinked_modules[]; 727 /** 728 * Array of all preloaded modules 729 * @defvar module *ap_preloaded_modules[] 730 */ 731 AP_DECLARE_DATA extern module *ap_preloaded_modules[]; 732 /** 733 * Array of all loaded modules 734 * @defvar module **ap_loaded_modules 735 */ 736 AP_DECLARE_DATA extern module **ap_loaded_modules; 737 738 /* For mod_so.c... */ 739 /** Run a single module s two create_config hooks 740 * @param p the pool to allocate from 741 * @param s The server to configure for. 742 * @param m The module to configure 743 */ 744 AP_DECLARE(void) ap_single_module_configure(apr_pool_t *p, server_rec *s, 745 module *m); 746 747 /* For http_main.c... */ 748 /** 749 * Add all of the prelinked modules into the loaded module list 750 * @param process The process that is currently running the server 751 */ 752 AP_DECLARE(void) ap_setup_prelinked_modules(process_rec *process); 753 754 /** 755 * Show the preloaded configuration directives, the help string explaining 756 * the directive arguments, in what module they are handled, and in 757 * what parts of the configuration they are allowed. Used for httpd -h. 758 */ 759 AP_DECLARE(void) ap_show_directives(void); 760 761 /** 762 * Show the preloaded module names. Used for httpd -l. 763 */ 764 AP_DECLARE(void) ap_show_modules(void); 765 766 /** 767 * Show the MPM name. Used in reporting modules such as mod_info to 768 * provide extra information to the user 769 */ 770 AP_DECLARE(const char *) ap_show_mpm(void); 771 772 /** 773 * Read all config files and setup the server 774 * @param process The process running the server 775 * @param temp_pool A pool to allocate temporary data from. 776 * @param config_name The name of the config file 777 * @param conftree Place to store the root of the config tree 778 * @return The setup server_rec list. 779 */ 780 AP_DECLARE(server_rec *) ap_read_config(process_rec *process, 781 apr_pool_t *temp_pool, 782 const char *config_name, 783 ap_directive_t **conftree); 784 785 /** 786 * Run all rewrite args hooks for loaded modules 787 * @param process The process currently running the server 788 */ 789 AP_DECLARE(void) ap_run_rewrite_args(process_rec *process); 790 791 /** 792 * Run the register hooks function for a specified module 793 * @param m The module to run the register hooks function fo 794 * @param p The pool valid for the lifetime of the module 795 */ 796 AP_DECLARE(void) ap_register_hooks(module *m, apr_pool_t *p); 797 798 /** 799 * Setup all virtual hosts 800 * @param p The pool to allocate from 801 * @param main_server The head of the server_rec list 802 */ 803 AP_DECLARE(void) ap_fixup_virtual_hosts(apr_pool_t *p, 804 server_rec *main_server); 805 806 /* For http_request.c... */ 807 808 /** 809 * Setup the config vector for a request_rec 810 * @param p The pool to allocate the config vector from 811 * @return The config vector 812 */ 813 AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_request_config(apr_pool_t *p); 814 815 /** 816 * Setup the config vector for per dir module configs 817 * @param p The pool to allocate the config vector from 818 * @return The config vector 819 */ 820 AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_per_dir_config(apr_pool_t *p); 821 822 /** 823 * Run all of the modules merge per dir config functions 824 * @param p The pool to pass to the merge functions 825 * @param base The base directory config structure 826 * @param new_conf The new directory config structure 827 */ 828 AP_CORE_DECLARE(ap_conf_vector_t*) ap_merge_per_dir_configs(apr_pool_t *p, 829 ap_conf_vector_t *base, 830 ap_conf_vector_t *new_conf); 831 832 /* For http_connection.c... */ 833 /** 834 * Setup the config vector for a connection_rec 835 * @param p The pool to allocate the config vector from 836 * @return The config vector 837 */ 838 AP_CORE_DECLARE(ap_conf_vector_t*) ap_create_conn_config(apr_pool_t *p); 839 840 /* For http_core.c... ( Directory command and virtual hosts) */ 841 842 /** 843 * parse an htaccess file 844 * @param resulting htaccess_result 845 * @param r The request currently being served 846 * @param override Which overrides are active 847 * @param path The path to the htaccess file 848 * @param access_name The list of possible names for .htaccess files 849 * int The status of the current request 850 */ 851 AP_CORE_DECLARE(int) ap_parse_htaccess(ap_conf_vector_t **result, 852 request_rec *r, int override, 853 const char *path, 854 const char *access_name); 855 856 /** 857 * Setup a virtual host 858 * @param p The pool to allocate all memory from 859 * @param hostname The hostname of the virtual hsot 860 * @param main_server The main server for this Apache configuration 861 * @param ps Place to store the new server_rec 862 * return Error string on error, NULL on success 863 */ 864 AP_CORE_DECLARE(const char *) ap_init_virtual_host(apr_pool_t *p, 865 const char *hostname, 866 server_rec *main_server, 867 server_rec **); 868 869 /** 870 * Process the config file for Apache 871 * @param s The server rec to use for the command parms 872 * @param fname The name of the config file 873 * @param conftree The root node of the created config tree 874 * @param p Pool for general allocation 875 * @param ptem Pool for temporary allocation 876 */ 877 AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname, 878 ap_directive_t **conftree, 879 apr_pool_t *p, apr_pool_t *ptemp); 880 881 /** 882 * Process all directives in the config tree 883 * @param s The server rec to use in the command parms 884 * @param conftree The config tree to process 885 * @param p The pool for general allocation 886 * @param ptemp The pool for temporary allocations 887 */ 888 AP_DECLARE(void) ap_process_config_tree(server_rec *s, ap_directive_t *conftree, 889 apr_pool_t *p, apr_pool_t *ptemp); 890 891 /* Module-method dispatchers, also for http_request.c */ 892 /** 893 * Run the handler phase of each module until a module accepts the 894 * responsibility of serving the request 895 * @param r The current request 896 * @return The status of the current request 897 */ 898 AP_CORE_DECLARE(int) ap_invoke_handler(request_rec *r); 899 900 /* for mod_perl */ 901 902 /** 903 * Find a given directive in a command_rec table 904 * @param name The directive to search for 905 * @param cmds The table to search 906 * @return The directive definition of the specified directive 907 */ 908 AP_CORE_DECLARE(const command_rec *) ap_find_command(const char *name, 909 const command_rec *cmds); 910 911 /** 912 * Find a given directive in a list module 913 * @param cmd_name The directive to search for 914 * @param mod The module list to search 915 * @return The directive definition of the specified directive 916 */ 917 AP_CORE_DECLARE(const command_rec *) ap_find_command_in_modules(const char *cmd_name, 918 module **mod); 919 920 /** 921 * Ask a module to create per-server and per-section (dir/loc/file) configs 922 * (if it hasn t happened already). The results are stored in the server s 923 * config, and the specified per-section config vector. 924 * @param server The server to operate upon. 925 * @param section_vector The per-section config vector. 926 * @param section Which section to create a config for. 927 * @param mod The module which is defining the config data. 928 * @param pconf A pool for all configuration allocations. 929 * @return The (new) per-section config data. 930 */ 931 AP_CORE_DECLARE(void *) ap_set_config_vectors(server_rec *server, 932 ap_conf_vector_t *section_vector, 933 const char *section, 934 module *mod, apr_pool_t *pconf); 935 936 #endif 937 938 /* Hooks */ 939 940 /** 941 * Run the header parser functions for each module 942 * @param r The current request 943 * @return OK or DECLINED 944 */ 945 AP_DECLARE_HOOK(int,header_parser,(request_rec *r)) 946 947 /** 948 * Run the pre_config function for each module 949 * @param pconf The config pool 950 * @param plog The logging streams pool 951 * @param ptemp The temporary pool 952 * @return OK or DECLINED on success anything else is a error 953 */ 954 AP_DECLARE_HOOK(int,pre_config,(apr_pool_t *pconf,apr_pool_t *plog, 955 apr_pool_t *ptemp)) 956 957 958 /** 959 * Run the post_config function for each module 960 * @param pconf The config pool 961 * @param plog The logging streams pool 962 * @param ptemp The temporary pool 963 * @param s The list of server_recs 964 * @return OK or DECLINED on success anything else is a error 965 */ 966 AP_DECLARE_HOOK(int,post_config,(apr_pool_t *pconf,apr_pool_t *plog, 967 apr_pool_t *ptemp,server_rec *s)) 968 969 /** 970 * Run the open_logs functions for each module 971 * @param pconf The config pool 972 * @param plog The logging streams pool 973 * @param ptemp The temporary pool 974 * @param s The list of server_recs 975 * @return OK or DECLINED on success anything else is a error 976 */ 977 AP_DECLARE_HOOK(int,open_logs,(apr_pool_t *pconf,apr_pool_t *plog, 978 apr_pool_t *ptemp,server_rec *s)) 979 980 /** 981 * Run the child_init functions for each module 982 * @param pchild The child pool 983 * @param s The list of server_recs in this server 984 */ 985 AP_DECLARE_HOOK(void,child_init,(apr_pool_t *pchild, server_rec *s)) 986 987 /** 988 * Run the handler functions for each module 989 * @param r The request_rec 990 * @remark non-wildcard handlers should HOOK_MIDDLE, wildcard HOOK_LAST 991 */ 992 AP_DECLARE_HOOK(int,handler,(request_rec *r)) 993 994 /** 995 * Run the quick handler functions for each module. The quick_handler 996 * is run before any other requests hooks are called (location_walk, 997 * directory_walk, access checking, et. al.). This hook was added 998 * to provide a quick way to serve content from a URI keyed cache. 999 * 1000 * @param r The request_rec 1001 * @param lookup_uri Controls whether the caller actually wants content or not. 1002 * lookup is set when the quick_handler is called out of 1003 * ap_sub_req_lookup_uri() 1004 */ 1005 AP_DECLARE_HOOK(int,quick_handler,(request_rec *r, int lookup_uri)) 1006 1007 /** 1008 * Retrieve the optional functions for each module. 1009 * This is run immediately before the server starts. Optional functions should 1010 * be registered during the hook registration phase. 1011 */ 1012 AP_DECLARE_HOOK(void,optional_fn_retrieve,(void)) 1013 1014 #ifdef __cplusplus 1015 } 1016 #endif 1017 1018 #endif /* !APACHE_HTTP_CONFIG_H */
https://w.atwiki.jp/vocalyric/pages/153.html
Story of Hope 作曲/ゆよゆっぺ 作詞/ゆよゆっぺ 裏返った物語 ふやけきったこの場所の結末は知らない 歪に曲がった声 置いていった思い出が手招いた真夜中は 振り払って描いた 心が焼けるまで 世界を 願いを 誓いを 未来を 答えはなくて 形はなくて ずっと追いかけて 目には見えないよ 不確かな共鳴を左手に委ねた 僕の脳内を 動く衝動を ずっと書き連ねていく 今動き出した story of hope 振り返ったその後に忍び寄った白い朝 気休めはいらない 誰もまだ知らない 世界を 願いを 誓いを 未来を 超えて行くよ 流れて消えてく時間の中で 僕が見つけた一筋の夢を 明日へ 世界を 願いを 誓いを 未来を 答えはなくて 形はなくて ずっと追いかけて 目には見えないよ 不確かな共鳴をこの胸に委ねた 僕の脳内を 動く衝動を ずっと書き連ねていく 今動き出した story of hope http //www.nicovideo.jp/watch/sm19042257 http //www.nicovideo.jp/watch/sm18972319
https://w.atwiki.jp/10http01/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/mgsocelot/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/wicky/pages/213.html
HTTPによる通信の例 HTTPはテキストベースのプロトコルなので、telnetコマンドを使用してその動作を確かめることができる。 また、Fedora Coreなど、ほとんどのLinuxディストリビューションでは、HTTPのテスト用に「lwp-request」というPerlで記述された専用のユーティリティも用意されている。 telnetコマンドによるHTTP通信の例 lwp-requestコマンドの利用
https://w.atwiki.jp/v-lyrics/pages/74.html
JNC/RCN Titles in this Wiki 「RCN Title」をタグに含むページは1つもありません。 Creator Links N/A Related Links N/A Creator Info Hi! I know this is kinda off topic however , I’d figured I’d ask. Would you be interested in exchanging links or maybe guest authoring a blog article or vice-versa? My website goes over a lot of the same topics as yours and I believe we could greatly benefit from each other. If you are interested feel free to shoot me an e-mail. I look forward to hearing from you! Superb blog by the way! Gucci wallet for women http //www.gucciusonline.com/gucci-wallets-gucci-card-cases-c-10_11_16.html -- (Gucci wallet for women) 2014-12-15 18 52 41 Have you ever intellection roughly including a slight bit much than retributory your articles? I think, what you say is important and all. if you else some zealous images or videos to dispense your posts , "pop"! Your knowledge is superior but with pics and videos, this blog could sure be one of the incomparable in its set. Awing journal! Pittsburgh Penguins Hockey Jersey http //www.abcindustrial.co.uk/News/Penguins-Jerseys.asp -- (Pittsburgh Penguins Hockey Jersey) 2014-12-21 09 43 10 Excellent weblog here! after reading, i decide to buy a sleeping bag ASAP Kobe Bryant Yellow Jersey http //www.phchandler.co.uk/specials/kobe-bryant-jersey.asp -- (Kobe Bryant Yellow Jersey) 2014-12-21 17 56 32 Love it! Great Seller, fast ship! Louis vuitton Monogram Multicolore http //www.electricsoul.co.uk/Louis-vuitton-Monogram-Multicolore/ -- (Louis vuitton Monogram Multicolore) 2014-12-26 21 55 59 They are perfect, quick shipment. Love them. Cheap Louis Vuitton Lockit For Sale http //www.tradachiltern.com/Louis-Vuitton-Lockit/ -- (Cheap Louis Vuitton Lockit For Sale) 2014-12-27 11 49 33 Exp茅dition et le produit rapidement comme d茅crit. Great service. Fake Celine Luggage HandBags Outlet http //www.gosled.com/Celine-Luggage-HandBags/ -- (Fake Celine Luggage HandBags Outlet) 2014-12-27 15 24 37 Thanks for the fast shipping ! replica celine bags UK http //www.admiral-group.co.uk/Celine/ -- (replica celine bags UK) 2014-12-29 01 45 06 In it something is also I think, what is it excellent idea. izaiahjordpa -- (izaiahjordpa) 2014-12-30 05 09 34 Hello. remarkable job. I did not anticipate this. This is a splendid story. Thanks! wow gold http //www.wowruler.com -- (wow gold) 2015-01-03 22 54 19 厂家地址nike批发zoomkobevenomenon2广州进货不过典籍的内容还望姐姐到时可以指点一二。 马鞍山市nike编织鞋价格工厂批发工厂直销 http //mas.nkshoes.org -- (马鞍山市nike编织鞋价格工厂批发工厂直销) 2015-01-06 01 06 51 Hey very cool website!! Guy .. Beautiful .. Superb .. I’ll bookmark your web site and take the feeds also…I am glad to seek out a lot of helpful info right here within the put up, we want work out extra techniques on this regard, thank you for sharing. cheap nfl jerseys http //www.customjerseysvip.com/ -- (cheap nfl jerseys) 2015-01-12 19 14 22 I appreciate, lead to I found exactly what I was having a look for. You have ended my four day long hunt! God Bless you man. Have a great day. Bye http //www.nikeairmaxrunshoes.com http //www.nikeairmaxrunshoes.com -- (http //www.nikeairmaxrunshoes.com) 2015-01-12 22 35 33 Aw, this was a really nice post. In idea I would like to put in writing like this additionally – taking time and actual effort to make a very good article… but what can I say… I procrastinate alot and by no means seem to get something done. sale cheap air max http //www.salecheapairmax.com/ -- (sale cheap air max) 2015-01-13 06 12 09 Just as described! Quick shipping! Thank you Replica Handbags usa http //www.digital-interact.co.uk/ -- (Replica Handbags usa) 2015-01-23 14 45 23 I like to get up early to go out and breathe fresh air. I feel that it is good for health and a good habit http //19216811ll.com/192-168-0-1 -- (thutrangctp) 2017-07-05 18 02 30 Name Add post すべてのコメントを見る Added Modified by _
https://w.atwiki.jp/matchmove/pages/71.html
3-D Review After SynthEyes has solved your scene, you’ll want to check out the paths in 3-D, and see what an inserted object looks like. SynthEyes offers several ways to do this traditional fixed 3-D views, including a Quad orthogonal isometric view, camera-view overlays, user-controlled 3-D perspective window, preview movies, and velocity vs time curves. Quad View If you are not already in Quad view, switch to it now on the toolbar . You will see the camera/object path and 3-D tracker locations in each view. You can zoom and pan around using the middle mouse button and scroll wheel. You can scrub or play the shot back in real-time (in sections, if there is insufficient RAM). See the View menu for playback rate settings. Camera View Overlay To see how an inserted object will look, switch to the 3-D control panel . Turn on the Create tool (magic wand). Select one of the built-in mesh types, such as Box or Pyramid. Click and drag in a viewport to drag out an object. Often, two drags will be required, to set first the position and breadth, then a second drag to set the height or overall scale. A good coordinate-system setup will make it easy to place objects. To adjust object size after creating it, switch to the scaling tool . Dragging in the viewport, or using the bottommost spinner, will adjust overall object size. Or, adjust one of the three spinners for each coordinate axis size. When you are tracking an object and wish to attach a test object onto it (horns onto a head, say), switch the coordinate system button on the 3-D Panel from to . Note the camera-view overlay is quick and dirty, not anti-aliased like the final render in your animation package will be (it has “jaggies”), so the overlay appears to have more jitter than it will then. You can sometimes get a better idea by zooming in on the shot and overlay as it plays back (use Pan-To-Follow). Shortly, we’ll show how to use the Perspective window to navigate around in 3-D, and even render an antialiased preview movie. Checking Tracker Coordinates If SynthEyes finds any trackers that are further than 1000 times the world size from the origin, it will not save them as “solved.” You can use the Script menu s Select By Type script to locate and select Unsolved trackers. You can change them to Zero-weighted to see where they might fall in 3-D, and prevent them from affecting future solves. Frequently these trackers should either distant horizon points that should be changed to Far, corrected, or deleted if they are on a moving object or the result of some image artifact. Such points can also arise when a tracker is visible for only a short time when the camera is not moving. The Clean up trackers dialog can do this automatically. Note the too-far-away test can cause trouble if you have a small world size setting but are using measured GPS coordinates. You should offset the scene towards the origin using the Shift Constraints script. You should also look for trackers that are behind the camera, which can occur on points that should be labeled Far, or when the tracking data is incorrect or insufficient for a meaningful answer. After repairing, deleting, or changing too-far-away or behind-camera trackers, you should use the Refine mode on the Solver panel to update the solution, or solve it from scratch. Eliminating such trackers will frequently provide major improvements in scene geometry. Checking Tracker Error Curves After solving, the tracker 3-D error channel will be available in the graph editor . It is important to understand the 3-D error it is the distance, in pixels, on each frame, between the tracker s 2-D position, and the position in the image of the solved 3-D tracker position. Let s work this through. The solver looks at the whole 2-D history of a tracker to arrive at a location such as X=3.2, Y=4.5, Z=0.1 for that tracker. On each frame, knowing the camera s position and field of view, we can predict where the tracker should be, if it really is at the calculated XYZ. That s the position at which the yellow X is displayed in the camera view after solving. The 3-D error is the distance between where the tracker actually is, and the yellow X where it should be. If the tracking is good, the distance is small, but if the tracking has a problem, the tracker is away from where it should be, and the 3-D error is larger. Obviously, given this definition, there s no 3-D error display until after the scene has been solved. You should check these error curves using the fundamentals described earlier in Pre-Solve Tracker Checking, but looking at the Error channel. Here we’ve used isolate mode to locate a rather large spike in the blue error curve of one of the trackers of a shot. This glitch was easy to pick out—so large the U and V velocities had to be moved out of the way to keep them clearly visible. The deglitch tool easily fixes it. You can look at the overall error for a tracker from the Coordinate System panel . This is easiest after setting the main menu s View/Sort by Error, unselecting all the trackers (control/command-D), then clicking the down arrow on your keyboard to sequence through the trackers from worst towards best. In addition to the curves in the graph editor, you can see the numeric error at the bottom of the tracker panel both the total error, and the error on the current frame. You can watch the current error update as you move the tracker, or set it to zero with the Exact button. For comparison, following is a tracker graph that has a fairly large error; it tracks a very low contrast feature with a faint moving highlight and changing geometry during its lifespan. It never has a very large peak error or velocity, but maintains a high error level during much of its lifespan, with some clearly visible trends indicating the systematic errors it represents. And finally, a decent tracker with a typical error level The vertical scale is the same in these last three graphs. (Note that in the 3rd one, the current time is to the left, before frame 160 or so, hence the blue arrow.) You can sort the trackers within the graph editor s Active Trackers node by changing Sort Alphabetic to Sort By Error . Do not blindly correct apparent tracking errors. A spike suggesting a tracking error might actually be due to a larger error on a different tracker that has grossly thrown off the camera position, so look around. Check for a Smooth Camera Path You should also check that the camera or object path is satisfactorily smooth, using the camera nodes in the graph editor. We’ve closed the Active Trackers node, and exposed the Camera Objects node and the Camera01 node within it. We’re looking at subset of the velocities of the camera the X, Y, and Z translation velocities. There s a spike around frame 215-220, to find it, expose the Active Trackers, select them all (control/command-A), and use Isolate mode around that range of frames. The result We’ve found the tracker that causes the spike, and can use the deglitch tool , or switch back to the tracker control panel and camera viewport, unlock the tracker, correct it, then re-lock it. Tip In the capture above, the selected tracker is not visible in the hierarchy view. You can see where it is in the scroll bar, though—it is located at the white spot inside the hierarchy view s scroll bar. Clicking at that spot on the scroll bar will pan the hierarchy view to show that selected tracker. If that is the last glitch to be fixed, switch to the Solve control panel , and re-solve the scene using Refine mode. You can also use the Finalize tool on the tracker control panel to smooth one or more trackers, though significant smoothing can cause sliding. If your trackers are very noisy, check whether film grain or compression artifacts are at fault, which can be addressed by image-preprocessor blur, verify that the interlace setting is correct, or see if you should fine-tune the trackers. Alternatively, you can fix glitches in the object path by using the deglitch tool directly on the camera or moving object s curves, because it works on any changeable channel. You can also move the object using the 3-D viewports and the tools on the 3-D control panel , by repositioning the object on the offending frame. Warning #1 If you fix the camera path, instead of the tracker data, then later re-solve the scene, corrections made to the camera path will be lost, and have to be repeated. It is always better to fix the cause of a problem, not the result. If you have worked on the trackers to reduce jitter, but still need a smoother path (after checking in your animation package), you can turn up the Filter Size control on the Solver panel. A filter size of 2 or 3 should make substantial reductions in jitter. After adjusting the control, switch to Refine mode and hit Go! again to apply the filtering. Warning #2 filtering the path this way increases the real error, and causes sliding. Remember that your objective is to produce a clean insert in the image, not produce an artificially smooth camera trajectory that works poorly.
https://w.atwiki.jp/akue/pages/14.html
100101102200201202203204205206207226300301302303304305306307400401402403405406407408409410411412413414415416417418422423424426500501502503504505506507509510
https://w.atwiki.jp/videostudio/pages/44.html
MovieWriterは、Corel社が開発していたDVD・Blu-rayオーサリングソフトウェア。最終バージョンは2010。現在はVideoStudioに機能が継承されている。 概要 歴史 同梱されていたソフト・機能 概要 DVD PlayerやBlu-ray Playerで再生するための映像ディスクを作るソフトウェア。 海外では「DVD Movie Factory」という名前で販売されていました。 単体販売されていた時代(DVD MovieWriter7まで)は「カッティングしてオーサリングする」という作業がとてもスムーズにできたため「動画編集ソフトまでは要らないや」というユーザーにとても人気がありました。 しくじったのは2010。Windows 8が登場し、そのころのWindows8はタッチパネルごり押しだったため、それを意識したより初心者ライクなインターフェイスとして販売したところ、初心者向きになったものの今までとは「ほぼ別のソフト」になってしまった上に(WindowsOS過渡期でOSが重くパーツペックが追いついていないのもあって)動作が重くなり、機能も減ってかなりの不評に。2010はMovieWriter7と併売すればよかったのにもったいない・・・ 2020年現在では、Corel VideoStudioのDVD作成機能として組み込まれています。過去のMovieWriterユーザーが多用していたであろう「動画の結合・分割」も搭載されているし、字幕機能もアップグレードされてるので、オススメです。 (ただし、Photoimpactと併用している人は要注意。もうPhotoimpactで作ったメニューは読み込めません) 歴史 開発・販売は台湾Ulead 社。後にカナダCorel社が買収し、販売していました。 Ulead DVD Workshop 2 Professionalという高機能なバージョンも存在していましたが、現在は開発はされていません。 MovieWriter2010まではVideoStudioと並行して販売されていました。 当時は「MovieWriterの機能が最新で、そのひとつ前の機能がVideoStudioに搭載されている」という感覚でした。 VideoStudio X4の頃に単体販売が無くなり、統合されたような状態です。 同梱されていたソフト・機能 パッケージ版のみ以下のソフト・機能がついていました。 DirectDiskRecorderが搭載(DVD-VR、BDAVの作成) インタラクティブメニュー10種類追加
https://w.atwiki.jp/saigasikito/pages/4.html
ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 マニュアル作成に便利な「画像編集」機能を提供開始! - ナレッジ共有・社内wikiツール「NotePM」 - 川崎経済新聞 【グランサガ】リセマラ当たりランキング - グランサガ攻略wiki - Gamerch(ゲーマチ) 「Wiki」創設者のPC 競売に - auone.jp 篠原悠希×田中芳樹が明かす「歴史ファンタジー小説ならではの悩み」(現代ビジネス) - Yahoo!ニュース - Yahoo!ニュース 【Apex Legends】ヴァルキリーの能力と評価【エーペックス】 - Gamerch(ゲーマチ) モンハンライズ攻略Wiki|MHRise - AppMedia(アップメディア) 【ウインドボーイズ】リセマラ当たりランキング(最新版) - ウインドボーイズ攻略Wiki - Gamerch(ゲーマチ) ポケモンBDSP(ダイパリメイク)攻略wiki - AppMedia(アップメディア) 【テイルズオブルミナリア】リセマラ当たりランキング - TOルミナリア攻略Wiki - Gamerch(ゲーマチ) SlackからWikiへ!シームレスな文章作成・共有が可能な「GROWIBot」リリース - アットプレス(プレスリリース) 【ダンカグ】登場キャラクターと担当声優一覧【東方ダンマクカグラ】 - AppMedia(アップメディア) 【ウマ娘】チャンピオンズミーティングの攻略まとめ - Gamerch(ゲーマチ) 【ウマ娘】ナリタブライアンの育成論|URAシナリオ - Gamerch(ゲーマチ) ドラゴンクエストけしケシ攻略Wiki - Gamerch(ゲーマチ) 【シャーマンキング】リセマラ当たりランキング【ふんばりクロニクル】 - ふんクロ攻略Wiki - Gamerch(ゲーマチ) サモンズボード攻略wiki - GameWith 【スタオケ】カード一覧【金色のコルダスターライトオーケストラ】 - Gamerch(ゲーマチ) 【スマブラSP】ソラのコンボと評価【スマブラスペシャル】 - Gamerch(ゲーマチ) 【ブレフロレゾナ】リセマラ当たりランキング【ブレイブフロンティアレゾナ】 - ブレフロR攻略Wiki - Gamerch(ゲーマチ) 【ポケモンユナイト】サーナイトの評価と性能詳細【UNITE】 - Gamerch(ゲーマチ) 【ENDER LILIES】攻略チャートと全体マップ【エンダーリリィズ】 - Gamerch(ゲーマチ) 新庄剛志は「監督」か「ビッグボス」か...肩書き巡りWikipedia大荒れ 「自称に過ぎない」の意見も - ニフティニュース 【ウマ娘】あんしん笹針師の選択肢はどれを選ぶべき? - Gamerch(ゲーマチ) 【ポケモンユナイト】アップデート情報・キャラ調整まとめ - ポケモンユナイト攻略Wiki - Gamerch(ゲーマチ) 【Apex】シーズン11の新要素と最新情報まとめ【エーペックス】 - Gamerch(ゲーマチ) ロストジャッジメント攻略Wiki - Gamerch(ゲーマチ) 【Among us】新マップThe Airship(エアシップ)の解説【アモングアス】 - Gamerch(ゲーマチ) ハーネスについて小児科医の立場から考える(坂本昌彦) - 個人 - Yahoo!ニュース - Yahoo!ニュース ゼルダ無双攻略Wiki|厄災の黙示録 - AppMedia(アップメディア) 【ポケモンユナイト】おすすめ設定|操作方法一覧 - AppMedia(アップメディア) ウマ娘攻略Wiki - AppMedia(アップメディア) 【まおりゅう】最強パーティー編成とおすすめキャラ【転スラアプリ】 - Gamerch(ゲーマチ) ゲトメア(ゲートオブナイトメア)攻略Wiki - Gamerch(ゲーマチ) 【白夜極光】リセマラ当たりランキング - 白夜 極光 wiki - Gamerch(ゲーマチ) お蔵入りとなった幻の『スーパーマリオ』 オランダの博物館でプレイ可能?(リアルサウンド) - Yahoo!ニュース - Yahoo!ニュース ナレッジ共有・社内wikiツール「NotePM」が「ITreview Best Software in Japan 2021」のTOP50に選出 - PR TIMES 真女神転生5攻略Wiki|メガテン5 - AppMedia(アップメディア) 【B4B】近接ビルドデッキにおすすめのカード【back4blood】 - Gamerch(ゲーマチ) ポケモンスナップ攻略wiki - AppMedia(アップメディア) 富野由悠季「ブレンパワード」作り直したい!ファンを前に意欲(シネマトゥデイ) - Yahoo!ニュース - Yahoo!ニュース 【ウマ娘】査定効率から見た取るべきスキルとおすすめキャラ【プリティーダービー】 - Gamerch(ゲーマチ) ナレッジ共有・社内wiki「NotePM」が「ITreview Grid Award 2021 Fall」で、チームコラボレーションとマニュアル作成部門において「Leader」を5期連続でW受賞! - PR TIMES メモ・ドキュメント・wiki・プロジェクト管理などオールインワンのワークスペース「Notion」が日本語ベータ版提供開始 - TechCrunch Japan 【ギアジェネ】リセマラ当たりランキング【コードギアス】 - ギアジェネ攻略Wiki - Gamerch(ゲーマチ) モンスターファーム2(MF2)攻略wiki|アプリ・Switch移植版 - AppMedia(アップメディア) 【ブラサジ】最強キャラTierランキング【ブラックサージナイト】 - Gamerch(ゲーマチ) 【パワプロ】鬼滅の刃コラボ情報まとめ - Gamerch(ゲーマチ) 【SPAJAM2021】第3回予選大会は「クイズ!WIKIにゃんず!」を開発したチーム「かよちゃんず」が最優秀賞! | gamebiz - SocialGameInfo 検索結果における「ナレッジパネル」の役割とは・・・ウィキメディア財団とDuckDuckGoの共同調査 - Media Innovation ナレッジ共有・社内wikiツール「NotePM」が「BOXIL SaaS AWARD 2021 Autumn」にて「コラボレーション部門」を受賞! - PR TIMES 【ポケモンユナイト】カメックスの評価と立ち回り【UNITE】 - Gamerch(ゲーマチ) 「ゼルダの伝説 BotW」のマラソンで23秒? 驚きの速さで完走した方法が話題(リアルサウンド) - Yahoo!ニュース - Yahoo!ニュース Wikipediaが「中国人編集者の身の安全を守るため」に一部の編集者アカウントをBANに - GIGAZINE 【ドッカンバトル】3.5億ダウンロードキャンペーン最新情報 - ドッカンバトル攻略Wiki - Gamerch(ゲーマチ) BTS(防弾少年団)のV、8月のWikipedia閲覧数が韓国アーティストで1位!グループでは4ヶ月連続トップ - Kstyle 【イース6オンライン】リセマラ当たりランキング|召喚ガチャの開放条件は? - Gamerch(ゲーマチ) BacklogからNotePMへwiki情報を自動API連携する「Backlog to NotePM」をSaaStainerに掲載開始 - PR TIMES ライザのアトリエ2攻略Wiki - AppMedia(アップメディア) 真女神転生3リマスター攻略Wiki|メガテン3 - AppMedia(アップメディア) ガーディアンテイルズ(ガデテル)攻略Wiki - Gamerch(ゲーマチ) タスクも文書もWikiもデータベースもまとめて管理できる「Notion」とは? - ASCII.jp ナレッジ共有・社内wikiツール「NotePM」が、見るだけ専用ユーザー『無料』の新プランを発表! - ヨコハマ経済新聞 【かのぱず】リセマラ当たりランキング【彼女お借りします】 - Gamerch(ゲーマチ) 【乃木フラ】リセマラの必要はある?【乃木坂的フラクタル】 - Gamerch(ゲーマチ) メトロイド ドレッド攻略Wiki - Gamerch(ゲーマチ) 【パワプロ】生放送まとめ|パワフェス2021 - パワプロ攻略Wiki - Gamerch(ゲーマチ) ルーンファクトリー5攻略wiki|ルンファク5 - AppMedia(アップメディア) X-Legendが新作『Dragonicle:ドラゴンガーディアン』を発表。事前登録も受付開始! - 電撃オンライン 簡単操作で自分専用Wikiを構築できるMarkdownエディタ「Obsidian」のモバイル版を使ってみた - GIGAZINE 情報マネジメントツール「Huddler」がwiki機能を刷新 - PR TIMES シェアエコ配送アプリ「DIAq(ダイヤク)」のアンカーアプリで、高層ビル・商業施設の入館方法などお役立ち情報をまとめた「DIAqwiki」を公開 - アットプレス(プレスリリース) 異常熱波のカナダで49.6度、いま北米で起きていること(森さやか) - 個人 - Yahoo!ニュース - Yahoo!ニュース 【アイプラ】才能開花のやり方【アイドリープライド】 - AppMedia(アップメディア) 【ツイステ】マスターシェフの攻略~辛味のふるさと~【料理イベント】 - Gamerch(ゲーマチ) 【ラグナロクオリジン】リセマラは不要?おすすめ職業は?【ラグオリ】 - Gamerch(ゲーマチ) 白夜極光攻略wiki - AppMedia(アップメディア) 【バイオミュータント】2.02アプデ|アップデート1.4情報 - バイオミュータント攻略Wiki - Gamerch(ゲーマチ) ニーアレプリカントリメイク攻略wiki|ver.1.22 - AppMedia(アップメディア) アイプラ攻略Wiki|アイドリープライド - AppMedia(アップメディア) 【ウマ娘】ゴルシウィークはいつから?キャンペーン情報まとめ - Gamerch(ゲーマチ) シーズン66 - 【超速GP】ミニ四駆 超速グランプリ攻略まとめwiki - 電撃オンライン コロプラ新作『ユージェネ』謎ゲー説…からの神ゲー説。遊んでわかった3つの高評価ポイント【ユージェネ日記#1】 - 電撃オンライン 乃木坂的フラクタル攻略Wiki - Gamerch(ゲーマチ) 「こんなことになるとは…」13年前のエイプリルフールについた“嘘”がネットで… ある男の告白(BuzzFeed Japan) - Yahoo!ニュース - Yahoo!ニュース 整理不要の情報共有ツール(社内Wiki)「Nerve」シードラウンドで総額約3500万円の資金調達を実施 - PR TIMES 【ウマ娘】隠しイベントの発生条件と効果まとめ - Gamerch(ゲーマチ) Nerve - 整理不要の情報共有ツール(社内Wiki) ローンチカスタマー募集開始のお知らせ - PR TIMES Among Us攻略Wiki【アマングアス・アモングアス】 - Gamerch(ゲーマチ) 【ひなこい】最強ひな写ランキング - ひなこい攻略Wiki - Gamerch(ゲーマチ) 稲作アクションRPG『天穂のサクナヒメ』における「農林水産省攻略wiki説」は本当なのか? - AUTOMATON スタスマ攻略Wiki【スタースマッシュ】 - Gamerch(ゲーマチ) 無料とは思えない多機能っぷりなWikiインフラ「Wiki.js」レビュー、自前でホスト&外部サービスと連携可能 - GIGAZINE Microsoft Teamsの基本と活用(24) TeamsのWikiを使う - マイナビニュース 「エイリアンのたまご」,自動周回機能と公式wikiが登場 - 4Gamer.net 【リゼロス】Re ゼロから始める異世界生活 Lost in Memories攻略まとめwiki - 電撃オンライン ヌーラボ、「Backlog」の絵文字入力の補完機能やWiki編集の自動マージ機能を改善 - CodeZine(コードジン) ヌーラボ、プロジェクト管理ツール「Backlog」の絵文字入力の補完機能・Wiki編集の自動マージ機能を修正改善 - PR TIMES ニジレンジャー育成はどの色がおすすめ? - 【ディスガイアRPG】魔界戦記ディスガイアRPG攻略まとめwiki - 電撃オンライン Backlog、Wikiにファイル添付が容易にできる機能をリリース -- グローバルバーの視認性改善なども実施 - PR TIMES ツムツム攻略Wiki|ゲームエイト - Game8[ゲームエイト]