haproxy/doc/internals/list.fig

600 lines
20 KiB
Plaintext
Raw Normal View History

[RELEASE] Released version 2.4-dev17 Released version 2.4-dev17 with the following main changes : - MINOIR: mux-pt/trace: Register a new trace source with its events - BUG/MINOR: mux-pt: Fix a possible UAF because of traces in mux_pt_io_cb - CI: travis: Drastically clean up .travis.yml - CLEANUP: pattern: make all pattern tables read-only - MINOR: trace: replace the trace() inline function with an equivalent macro - MINOR: initcall: uniformize the section names between MacOS and other unixes - CLEANUP: initcall: rename HA_SECTION to HA_INIT_SECTION - MINOR: compiler: add macros to declare section names - CLEANUP: initcall: rely on HA_SECTION_* instead of defining its own - MINOR: global: declare a read_mostly section - MINOR: fd: move a few read-mostly variables to their own section - MINOR: epoll: move epoll_fd to read_mostly - MINOR: kqueue: move kqueue_fd to read_mostly - MINOR: pool: move pool declarations to read_mostly - MINOR: threads: mark all_threads_mask as read_mostly - MINOR: server: move idle_conn_task to read_mostly - MINOR: protocol: move __protocol_by_family to read_mostly - MINOR: pattern: make the pat_lru_seed read_mostly - MINOR: trace: make trace sources read_mostly - MINOR: freq_ctr: add a generic function to report the total value - MEDIUM: freq_ctr: make read_freq_ctr_period() use freq_ctr_total() - MEDIUM: freq_ctr: reimplement freq_ctr_remain_period() from freq_ctr_total() - MINOR: freq_ctr: add the missing next_event_delay_period() - MINOR: freq_ctr: unify freq_ctr and freq_ctr_period into freq_ctr - MEDIUM: freq_ctr: replace the per-second counters with the generic ones - MINOR: freq_ctr: add cpu_relax in the rotation loop of update_freq_ctr_period() - MINOR: freq_ctr: simplify and improve the update function - CLEANUP: time: remove the now unused ms_left_scaled - MINOR: time: move the time initialization out of tv_update_date() - MINOR: time: remove useless variable copies in tv_update_date() - MINOR: time: change the global timeval and the the global tick at once - MEDIUM: time: make the clock offset global and no per-thread - MINOR: atomic: reimplement the relaxed version of x86 BTS/BTR - MINOR: trace: Add the checks as a possible trace source - MINOIR: checks/trace: Register a new trace source with its events - MINOR: hlua: Add function to release a lua function - BUG/MINOR: hlua: Fix memory leaks on error path when registering a task - BUG/MINOR: hlua: Fix memory leaks on error path when registering a converter - BUG/MINOR: hlua: Fix memory leaks on error path when registering a fetch - BUG/MINOR: hlua: Fix memory leaks on error path when parsing a lua action - BUG/MINOR: hlua: Fix memory leaks on error path when registering an action - BUG/MINOR: hlua: Fix memory leaks on error path when registering a service - BUG/MINOR: hlua: Fix memory leaks on error path when registering a cli keyword - BUG/MINOR: cfgparse/proxy: Fix some leaks during proxy section parsing - BUG/MINOR: listener: Handle allocation error when allocating a new bind_conf - BUG/MINOR: cfgparse/proxy: Hande allocation errors during proxy section parsing - MINOR: cfgparse/proxy: Group alloc error handling during proxy section parsing - DOC: internals: update the SSL architecture schema - BUG/MEDIUM: sample: Fix adjusting size in field converter - MINOR: sample: add ub64dec and ub64enc converters - CLEANUP: sample: align samples list in sample.c - MINOR: ist: Add `istclear(struct ist*)` - CI: cirrus: install "pcre" package - MINOR: opentracing: correct calculation of the number of arguments in the args[] - MINOR: opentracing: transfer of context names without prefix - MINOR: sample: converter: Add mjson library. - MINOR: sample: converter: Add json_query converter - CI: travis-ci: enable weekly graviton2 builds - DOC: ssl: Certificate hot update only works on fronted certificates - DOC: ssl: Certificate hot update works on server certificates - BUG/MEDIUM: threads: Ignore current thread to end its harmless period - MINOR: threads: Only consider running threads to end a thread harmeless period - BUG/MINOR: checks: Set missing id to the dummy checks frontend - MINOR: logs: Add support of checks as session origin to format lf strings - BUG/MINOR: connection: Fix fc_http_major and bc_http_major for TCP connections - MINOR: connection: Make bc_http_major compatible with tcp-checks - BUG/MINOR: ssl-samples: Fix ssl_bc_* samples when called from a health-check - BUG/MINOR: http-fetch: Make method smp safe if headers were already forwarded - MINOR: tcp_samples: Add samples to get src/dst info of the backend connection - MINOR: tcp_samples: Be able to call bc_src/bc_dst from the health-checks - BUG/MINOR: http_htx: Remove BUG_ON() from http_get_stline() function - BUG/MINOR: logs: Report the true number of retries if there was no connection - BUILD: makefile: Redirect stderr to /dev/null when probing options - MINOR: uri_normalizer: Add uri_normalizer module - MINOR: uri_normalizer: Add `enum uri_normalizer_err` - MINOR: uri_normalizer: Add `http-request normalize-uri` - MINOR: uri_normalizer: Add a `merge-slashes` normalizer to http-request normalize-uri - MINOR: uri_normalizer: Add a `dotdot` normalizer to http-request normalize-uri - MINOR: uri_normalizer: Add support for supressing leading `../` for dotdot normalizer - MINOR: uri_normalizer: Add a `sort-query` normalizer - MINOR: uri_normalizer: Add a `percent-upper` normalizer - MEDIUM: http_act: Rename uri-normalizers - DOC: Add introduction to http-request normalize-uri - DOC: Note that URI normalization is experimental - BUG/MINOR: pools: maintain consistent ->allocated count on alloc failures - BUG/MINOR: pools/buffers: make sure to always reserve the required buffers - MINOR: pools: drop the unused static history of artificially failed allocs - CLEANUP: pools: remove unused arguments to pool_evict_from_cache() - MEDIUM: pools: move the cache into the pool header - MINOR: pool: remove the size field from pool_cache_head - MINOR: pools: rename CONFIG_HAP_LOCAL_POOLS to CONFIG_HAP_POOLS - MINOR: pools: enable the fault injector in all allocation modes - MINOR: pools: make the basic pool_refill_alloc()/pool_free() update needed_avg - MEDIUM: pools: unify pool_refill_alloc() across all models - CLEANUP: pools: re-merge pool_refill_alloc() and __pool_refill_alloc() - MINOR: pools: call pool_alloc_nocache() out of the pool's lock - CLEANUP: pools: move the lock to the only __pool_get_first() that needs it - CLEANUP: pools: rename __pool_get_first() to pool_get_from_shared_cache() - CLEANUP: pools: rename pool_*_{from,to}_cache() to *_local_cache() - CLEANUP: pools: rename __pool_free() to pool_put_to_shared_cache() - MINOR: tools: add statistical_prng_range() to get a random number over a range - MINOR: pools: use cheaper randoms for fault injections - MINOR: pools: move the fault injector to __pool_alloc() - MINOR: pools: split the OS-based allocator in two - MINOR: pools: always use atomic ops to maintain counters - MINOR: pools: move pool_free_area() out of the lock in the locked version - MINOR: pools: factor the release code into pool_put_to_os() - MEDIUM: pools: make CONFIG_HAP_POOLS control both local and shared pools - MINOR: pools: create unified pool_{get_from,put_to}_cache() - MINOR: pools: evict excess objects using pool_evict_from_local_cache() - MEDIUM: pools: make pool_put_to_cache() always call pool_put_to_local_cache() - CLEANUP: pools: make the local cache allocator fall back to the shared cache - CLEANUP: pools: merge pool_{get_from,put_to}_local_caches with generic ones - CLEANUP: pools: uninline pool_put_to_cache() - CLEANUP: pools: declare dummy pool functions to remove some ifdefs - BUILD: pools: fix build with DEBUG_FAIL_ALLOC - BUG/MINOR: server: make srv_alloc_lb() allocate lb_nodes for consistent hash - CONTRIB: mod_defender: import the minimal number of includes - CONTRIB: mod_defender: make the code build with the embedded includes - CONTRIB: modsecurity: import the minimal number of includes - CONTRIB: modsecurity: make the code build with the embedded includes - CLEANUP: sample: Improve local variables in sample_conv_json_query - CLEANUP: sample: Explicitly handle all possible enum values from mjson - CLEANUP: sample: Use explicit return for successful `json_query`s - CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion - CONTRIB: move spoa_example out of the tree - BUG/MINOR: server: free srv.lb_nodes in free_server - BUG/MINOR: logs: free logsrv.conf.file on exit - BUG/MEDIUM: server: ensure thread-safety of server runtime creation - MINOR: server: add log on dynamic server creation - MINOR: server: implement delete server cli command - CONTRIB: move spoa_server out of the tree - CONTRIB: move modsecurity out of the tree - BUG/MINOR: server: fix potential null gcc error in delete server - BUG/MAJOR: mux-h2: Properly detect too large frames when decoding headers - BUG/MEDIUM: mux-h2: Fix dfl calculation when merging CONTINUATION frames - BUG/MINOR: uri_normalizer: Use delim parameter when building the sorted query in uri_normalizer_query_sort - CLEANUP: uri_normalizer: Remove trailing whitespace - MINOR: uri_normalizer: Add a `strip-dot` normalizer - CONTRIB: move mod_defender out of the tree - CLEANUP: contrib: remove the last references to the now dead contrib/ directory - BUG/MEDIUM: config: fix cpu-map notation with both process and threads - MINOR: config: add a diag for invalid cpu-map statement - BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases - BUG/MINOR: mworker: don't use oldpids[] anymore for reload - BUILD: makefile: fix the "make clean" target on strict bourne shells - IMPORT: slz: import slz into the tree - BUILD: compression: switch SLZ from out-of-tree to in-tree - CI: github: do not build libslz any more - CLEANUP: compression: remove calls to SLZ init functions - BUG/MEDIUM: mux-h2: Properly handle shutdowns when received with data - MINOR: cpuset: define a platform-independent cpuset type - MINOR: cfgparse: use hap_cpuset for parse_cpu_set - MEDIUM: config: use platform independent type hap_cpuset for cpu-map - MINOR: thread: implement the detection of forced cpu affinity - MINOR: cfgparse: support the comma separator on parse_cpu_set - MEDIUM: cfgparse: detect numa and set affinity if needed - MINOR: global: add option to disable numa detection - BUG/MINOR: haproxy: fix compilation on macOS - BUG/MINOR: cpuset: fix compilation on platform without cpu affinity - MINOR: time: avoid unneeded updates to now_offset - MINOR: time: avoid overwriting the same values of global_now - CLEANUP: time: use __tv_to_ms() in tv_update_date() instead of open-coding - MINOR: time: avoid u64 needlessly expensive computations for the 32-bit now_ms - BUG/MINOR: peers: remove useless table check if initial resync is finished - BUG/MEDIUM: peers: re-work connection to new process during reload. - BUG/MEDIUM: peers: re-work refcnt on table to protect against flush - BUG/MEDIUM: config: fix missing initialization in numa_detect_topology()
2021-04-23 17:11:10 +00:00
#FIG 3.2 Produced by xfig version 2.4
Landscape
Center
Metric
A4
119.50
Single
-2
1200 2
6 3960 3420 4320 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4230 3860 4005 3860
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
4005 3510 4230 3510 4230 4185 4005 4185 4005 3510
4 1 0 50 0 14 10 0.0000 4 105 105 4120 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 4118 3735 N\001
-6
6 4185 5580 4545 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4455 6020 4230 6020
2 2 0 2 0 4 53 0 20 0.000 0 0 -1 0 0 5
4230 5670 4455 5670 4455 6345 4230 6345 4230 5670
4 1 0 50 0 14 10 0.0000 4 105 105 4345 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 4343 5895 N\001
-6
6 4905 5445 5445 6525
6 4905 5445 5445 6525
6 5085 5580 5445 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5355 6020 5130 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
5130 5670 5355 5670 5355 6345 5130 6345 5130 5670
4 1 0 50 0 14 10 0.0000 4 105 105 5245 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 5243 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5355 5670 4905 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4905 6345 5355 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4905 5445 5355 5445 5355 6525 4905 6525 4905 5445
4 1 0 50 0 14 12 0.0000 4 120 120 5040 6075 L\001
-6
-6
6 5805 5445 6345 6525
6 5805 5445 6345 6525
6 5985 5580 6345 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6255 6020 6030 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
6030 5670 6255 5670 6255 6345 6030 6345 6030 5670
4 1 0 50 0 14 10 0.0000 4 105 105 6145 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 6143 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6255 5670 5805 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5805 6345 6255 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5805 5445 6255 5445 6255 6525 5805 6525 5805 5445
4 1 0 50 0 14 12 0.0000 4 120 120 5940 6075 L\001
-6
-6
6 6705 5445 7245 6525
6 6705 5445 7245 6525
6 6885 5580 7245 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7155 6020 6930 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
6930 5670 7155 5670 7155 6345 6930 6345 6930 5670
4 1 0 50 0 14 10 0.0000 4 105 105 7045 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 7043 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7155 5670 6705 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6705 6345 7155 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6705 5445 7155 5445 7155 6525 6705 6525 6705 5445
4 1 0 50 0 14 12 0.0000 4 120 120 6840 6075 L\001
-6
-6
6 450 5580 810 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
720 6020 495 6020
2 2 0 2 0 4 53 0 20 0.000 0 0 -1 0 0 5
495 5670 720 5670 720 6345 495 6345 495 5670
4 1 0 50 0 14 10 0.0000 4 105 105 610 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 608 5895 N\001
-6
6 1170 5445 1710 6525
6 1170 5445 1710 6525
6 1350 5580 1710 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1620 6020 1395 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
1395 5670 1620 5670 1620 6345 1395 6345 1395 5670
4 1 0 50 0 14 10 0.0000 4 105 105 1510 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 1508 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1620 5670 1170 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1170 6345 1620 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1170 5445 1620 5445 1620 6525 1170 6525 1170 5445
4 1 0 50 0 14 12 0.0000 4 120 120 1305 6075 L\001
-6
-6
6 2070 5445 2610 6525
6 2070 5445 2610 6525
6 2250 5580 2610 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2520 6020 2295 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
2295 5670 2520 5670 2520 6345 2295 6345 2295 5670
4 1 0 50 0 14 10 0.0000 4 105 105 2410 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 2408 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2520 5670 2070 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2070 6345 2520 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2070 5445 2520 5445 2520 6525 2070 6525 2070 5445
4 1 0 50 0 14 12 0.0000 4 120 120 2205 6075 L\001
-6
-6
6 2970 5445 3510 6525
6 2970 5445 3510 6525
6 3150 5580 3510 6390
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3420 6020 3195 6020
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
3195 5670 3420 5670 3420 6345 3195 6345 3195 5670
4 1 0 50 0 14 10 0.0000 4 105 105 3310 6222 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 3308 5895 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3420 5670 2970 5670
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2970 6345 3420 6345
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2970 5445 3420 5445 3420 6525 2970 6525 2970 5445
4 1 0 50 0 14 12 0.0000 4 120 120 3105 6075 L\001
-6
-6
6 720 3420 1080 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
990 3860 765 3860
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
765 3510 990 3510 990 4185 765 4185 765 3510
4 1 0 50 0 14 10 0.0000 4 105 105 880 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 878 3735 N\001
-6
6 2700 3420 3060 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2970 3860 2745 3860
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
2745 3510 2970 3510 2970 4185 2745 4185 2745 3510
4 1 0 50 0 14 10 0.0000 4 105 105 2860 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 2858 3735 N\001
-6
6 1620 3465 1935 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1890 3860 1665 3860
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1665 3510 1890 3510 1890 4185 1665 4185 1665 3510
4 1 0 50 0 14 10 0.0000 4 105 105 1780 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 1778 3735 N\001
-6
6 10485 3330 11025 4410
6 10665 3465 11025 4275
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
10935 3905 10710 3905
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
10710 3555 10935 3555 10935 4230 10710 4230 10710 3555
4 1 0 50 0 14 10 0.0000 4 105 105 10825 4107 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 10823 3780 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
10935 3555 10485 3555
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
10485 4230 10935 4230
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
10485 3330 10935 3330 10935 4410 10485 4410 10485 3330
4 1 0 50 0 14 12 0.0000 4 120 120 10620 3960 L\001
-6
6 7110 3105 7650 4185
6 7110 3105 7650 4185
6 7290 3240 7650 4050
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7560 3680 7335 3680
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
7335 3330 7560 3330 7560 4005 7335 4005 7335 3330
4 1 0 50 0 14 10 0.0000 4 105 105 7450 3882 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 7448 3555 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7560 3330 7110 3330
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7110 4005 7560 4005
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
7110 3105 7560 3105 7560 4185 7110 4185 7110 3105
4 1 0 50 0 14 12 0.0000 4 120 120 7245 3735 L\001
-6
-6
6 8010 3105 8550 4185
6 8010 3105 8550 4185
6 8190 3240 8550 4050
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8460 3680 8235 3680
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
8235 3330 8460 3330 8460 4005 8235 4005 8235 3330
4 1 0 50 0 14 10 0.0000 4 105 105 8350 3882 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 8348 3555 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8460 3330 8010 3330
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8010 4005 8460 4005
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8010 3105 8460 3105 8460 4185 8010 4185 8010 3105
4 1 0 50 0 14 12 0.0000 4 120 120 8145 3735 L\001
-6
-6
6 9315 990 12195 2160
6 9675 1080 10035 1890
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9945 1520 9720 1520
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
9720 1170 9945 1170 9945 1845 9720 1845 9720 1170
4 1 0 50 0 14 10 0.0000 4 105 105 9835 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 9833 1395 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
10935 1520 10710 1520
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
11925 1520 11700 1520
2 2 0 2 0 7 52 0 20 0.000 0 0 -1 0 0 5
10710 1170 10935 1170 10935 1845 10710 1845 10710 1170
2 2 0 2 0 6 52 0 20 0.000 0 0 -1 0 0 5
11700 1170 11925 1170 11925 1845 11700 1845 11700 1170
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
9945 1350 10665 1350
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
10935 1350 11655 1350
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
11925 1350 12105 1350 12195 1350 12195 990 9315 990 9315 1350
9495 1350 9675 1350
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
9675 1710 9495 1710 9315 1710 9405 2160 12195 2160 12195 1710
12105 1710 11925 1710
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
11655 1710 10935 1710
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
10665 1710 9945 1710
0.000 0.000
4 1 0 50 0 14 10 0.0000 4 105 105 10825 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 10823 1395 N\001
4 1 0 50 0 14 10 0.0000 4 105 105 11815 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 11813 1395 N\001
-6
6 6345 1080 6705 1890
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6615 1520 6390 1520
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
6390 1170 6615 1170 6615 1845 6390 1845 6390 1170
4 1 0 50 0 14 10 0.0000 4 105 105 6505 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 6503 1395 N\001
-6
6 7335 1080 7695 1890
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7605 1520 7380 1520
2 2 0 2 0 6 52 0 20 0.000 0 0 -1 0 0 5
7380 1170 7605 1170 7605 1845 7380 1845 7380 1170
4 1 0 50 0 14 10 0.0000 4 105 105 7495 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 7493 1395 N\001
-6
6 8325 1080 8685 1890
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8595 1520 8370 1520
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8370 1170 8595 1170 8595 1845 8370 1845 8370 1170
4 1 0 50 0 14 10 0.0000 4 105 105 8485 1722 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 8483 1395 N\001
-6
6 3870 1215 4185 1980
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4140 1610 3915 1610
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
3915 1260 4140 1260 4140 1935 3915 1935 3915 1260
4 1 0 50 0 14 10 0.0000 4 105 105 4030 1812 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 4028 1485 N\001
-6
6 4770 1215 5085 1980
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5040 1610 4815 1610
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4815 1260 5040 1260 5040 1935 4815 1935 4815 1260
4 1 0 50 0 14 10 0.0000 4 105 105 4930 1812 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 4928 1485 N\001
-6
6 2205 990 2925 2160
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2655 1610 2430 1610
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
2430 1260 2655 1260 2655 1935 2430 1935 2430 1260
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
2655 1440 2880 1440 2880 1035 2205 1035 2205 1440 2430 1440
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
2655 1755 2880 1755 2880 2160 2205 2160 2205 1755 2430 1755
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 0 14 10 0.0000 4 105 105 2545 1812 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 2543 1485 N\001
-6
6 525 1350 1455 1830
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
540 1590 1440 1590
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
540 1365 1440 1365 1440 1815 540 1815 540 1365
4 1 0 50 0 14 10 0.0000 4 105 735 990 1545 list *N\001
4 1 0 50 0 14 10 0.0000 4 105 735 990 1770 list *P\001
-6
6 4815 3420 5175 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5085 3860 4860 3860
2 2 0 2 0 7 53 0 20 0.000 0 0 -1 0 0 5
4860 3510 5085 3510 5085 4185 4860 4185 4860 3510
4 1 0 50 0 14 10 0.0000 4 105 105 4975 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 4973 3735 N\001
-6
6 5715 3285 6390 4410
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6165 3860 5940 3860
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
5940 3510 6165 3510 6165 4185 5940 4185 5940 3510
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
6165 3690 6390 3690 6390 3285 5715 3285 5715 3690 5940 3690
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
6165 4005 6390 4005 6390 4410 5715 4410 5715 4005 5940 4005
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 0 14 10 0.0000 4 105 105 6055 4062 P\001
4 1 0 50 0 14 10 0.0000 4 105 105 6053 3735 N\001
-6
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
4050 4725 7605 4725 7605 6840 4050 6840 4050 4725
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
315 4725 3870 4725 3870 6840 315 6840 315 4725
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
3150 4500 315 4500 315 2475 3150 2475 3150 4500
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
6660 2475 8910 2475 8910 4500 6660 4500 6660 2475
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
10035 3375 10485 3330
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
10080 3735 10485 3555
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
9135 2475 12285 2475 12285 4500 9135 4500 9135 2475
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
9270 270 12285 270 12285 2250 9270 2250 9270 270
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
5760 270 9045 270 9045 2250 5760 2250 5760 270
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
3465 270 5535 270 5535 2250 3465 2250 3465 270
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
1845 270 3240 270 3240 2250 1845 2250 1845 270
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
315 270 1620 270 1620 2250 315 2250 315 270
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
3330 2475 6435 2475 6435 4500 3330 4500 3330 2475
2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
12285 6840 12285 4725 7785 4725 7785 6840 12285 6840
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4230 3690 4860 3690
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4860 4050 4230 4050
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
3960 4050 3780 4050 3600 4050 3600 4410 5580 4410 5580 4050
5130 4050
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
6261 5805 6711 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4461 5805 4911 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
5358 5805 5808 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
6705 6210 6255 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
5805 6210 5355 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4905 6210 4455 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
4320 6345 4320 6525 4320 6750 7470 6750 7470 6480 7470 6210
7155 6210
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
7155 5850 7335 5850 7470 5850 7470 5355 7470 5085 4590 5085
4590 5355 4860 5625
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
2526 5805 2976 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
726 5805 1176 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
1623 5805 2073 5670
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
2970 6210 2520 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
2070 6210 1620 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
1170 6210 720 6210
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
585 6345 585 6525 585 6750 3735 6750 3735 6480 3735 6210
3420 6210
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
3420 5850 3600 5850 3735 5850 3735 5355 3735 5085 585 5085
585 5265 585 5670
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
990 3690 1620 3690
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
1620 4050 990 4050
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
1890 3690 2340 3690 2340 3240 360 3240 360 3690 540 3690
720 3690
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
720 4050 540 4050 360 4050 360 4410 2340 4410 2340 4050
1890 4050
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
7560 3465 8010 3330
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
7560 3915 8010 3375
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
8460 3465 8775 3465 8820 3060 8730 2745 6750 2745 6705 3330
7110 3330
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
8460 3870 8820 3870 8820 4230 8640 4365 6930 4365 6750 4230
6705 3510 7065 3375
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
6615 1350 7335 1350
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
7605 1350 8325 1350
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
8595 1350 8775 1350 8865 1350 8865 990 5985 990 5985 1350
6165 1350 6345 1350
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 8
1 1 1.00 60.00 120.00
6345 1710 6165 1710 5985 1710 6075 2160 8865 2160 8865 1710
8775 1710 8595 1710
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
8325 1710 7605 1710
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
7335 1710 6615 1710
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4140 1440 4770 1440
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
4770 1800 4140 1800
0.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
5040 1440 5490 1440 5490 990 3510 990 3510 1440 3690 1440
3870 1440
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
3870 1800 3690 1800 3510 1800 3510 2160 5490 2160 5490 1800
5040 1800
0.000 1.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 7
1 1 1.00 60.00 120.00
5130 3690 5580 3690 5580 3240 3600 3240 3600 3690 3780 3690
3960 3690
0.000 1.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 0 14 10 0.0000 4 135 3780 5805 4950 Asymmetrical list starting at R(red)\001
4 1 0 50 0 14 10 0.0000 4 135 4095 10215 4950 Symmetrical lists vs Asymmetrical lists\001
4 1 0 50 0 12 10 0.0000 4 135 525 5130 5355 foo_0\001
4 1 0 50 0 12 10 0.0000 4 135 525 6030 5355 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 525 6930 5355 foo_2\001
4 1 0 50 0 14 10 0.0000 4 135 3675 2070 4950 Symmetrical list starting at R(red)\001
4 1 0 50 0 12 10 0.0000 4 135 525 3195 5355 foo_2\001
4 1 0 50 0 12 10 0.0000 4 135 525 2295 5355 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 525 1395 5355 foo_0\001
4 1 0 50 0 12 10 0.0000 4 105 315 9855 3420 foo\001
4 1 0 50 0 12 10 0.0000 4 105 105 9990 3825 E\001
4 1 0 50 0 14 10 0.0000 4 135 1680 7785 2655 Linking elements\001
4 1 0 50 0 12 10 0.0000 4 135 525 8235 3015 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 525 7335 3015 foo_0\001
4 1 0 50 0 14 10 0.0000 4 105 1470 2565 675 struct list *G\001
4 1 0 50 0 14 10 0.0000 4 135 1470 2565 495 LIST_INIT(G):G\001
4 1 0 50 0 14 10 0.0000 4 135 1890 4500 495 LIST_INSERT(G,W):W\001
4 1 0 50 0 14 10 0.0000 4 135 3360 10665 2700 foo=LIST_ELEM(E, struct foo*, L)\001
4 1 0 50 0 14 10 0.0000 4 135 1890 4500 675 LIST_APPEND(G,W):W\001
4 1 0 50 0 14 10 0.0000 4 135 1890 7425 540 LIST_INSERT(G,Y):Y\001
4 1 0 50 0 14 10 0.0000 4 135 1890 10755 540 LIST_APPEND(G,Y):Y\001
4 1 0 50 0 14 10 0.0000 4 135 1680 1755 2790 LIST_DELETE(Y):Y\001
4 1 0 50 0 14 10 0.0000 4 135 1890 4905 2745 LIST_DEL_INIT(Y):Y\001
4 1 0 50 0 12 9 0.0000 4 120 2880 10665 2925 Returns a pointer to struct foo*\001
4 1 0 50 0 12 9 0.0000 4 120 2790 10665 3105 containing header E as member L\001
4 1 0 50 0 12 9 0.0000 4 120 2700 10755 810 adds Y at the queue (before G)\001
4 1 0 50 0 12 9 0.0000 4 120 3060 7425 810 adds Y(yellow) just after G(green)\001
4 1 0 50 0 12 9 0.0000 4 120 1170 4500 855 adds W(white)\001
4 1 0 50 0 12 9 0.0000 4 105 1080 2565 900 Terminates G\001
4 1 0 50 0 12 9 0.0000 4 90 540 990 855 N=next\001
4 1 0 50 0 12 9 0.0000 4 105 540 990 1080 P=prev\001
4 1 0 50 0 12 9 0.0000 4 120 2610 1755 3060 unlinks and returns Y(yellow)\001
4 1 0 50 0 12 9 0.0000 4 120 2610 4905 3060 unlinks, inits, and returns Y\001
4 0 0 50 0 12 8 0.0000 4 105 2175 7875 5265 - both are empty if R->P == R\001
4 0 0 50 0 12 8 0.0000 4 90 2175 7875 5490 - last element has R->P == &L\001
4 0 0 50 0 12 8 0.0000 4 105 3150 7875 5715 - FOREACH_ITEM(it, R, end, struct foo*, L)\001
4 0 0 50 0 12 8 0.0000 4 105 3300 7875 5940 iterates <it> through foo{0,1,2} and stops\001
4 0 0 50 0 12 8 0.0000 4 105 3900 7875 6165 - FOREACH_ITEM_SAFE(it, bck, R, end, struct foo*, L)\001
4 0 0 50 0 12 8 0.0000 4 105 3750 7875 6390 does the same except that <bck> allows to delete\001
4 0 0 50 0 12 8 0.0000 4 105 1950 7875 6570 any node, including <it>\001
4 1 0 50 0 14 11 0.0000 4 135 1155 945 585 struct list\001