DOC: add the documentation about internal circular lists

This file was recovered from the first project where it was born 12 years
ago, but it's still convenient to understand how our circular lists work,
so let's add it.
This commit is contained in:
Willy Tarreau 2003-07-29 01:16:05 +02:00
parent 71503d32a7
commit 2f5cd60ed0

698
doc/internals/list.fig Normal file
View File

@ -0,0 +1,698 @@
#FIG 3.2
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
6 720 8325 1080 9135
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
990 8765 765 8765
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
765 8415 990 8415 990 9090 765 9090 765 8415
4 1 0 50 0 14 10 0.0000 4 90 90 880 8967 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 878 8640 N\001
-6
6 1170 8325 1530 9135
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1440 8765 1215 8765
2 2 0 2 0 7 53 0 20 0.000 0 0 -1 0 0 5
1215 8415 1440 8415 1440 9090 1215 9090 1215 8415
4 1 0 50 0 14 10 0.0000 4 90 90 1330 8967 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 1328 8640 N\001
-6
6 1620 8325 1980 9135
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1890 8765 1665 8765
2 2 0 2 0 4 53 0 20 0.000 0 0 -1 0 0 5
1665 8415 1890 8415 1890 9090 1665 9090 1665 8415
4 1 0 50 0 14 10 0.0000 4 90 90 1780 8967 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 1778 8640 N\001
-6
6 2700 8055 3420 9225
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3150 8675 2925 8675
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
2925 8325 3150 8325 3150 9000 2925 9000 2925 8325
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
3150 8505 3375 8505 3375 8100 2700 8100 2700 8505 2925 8505
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
3150 8820 3375 8820 3375 9225 2700 9225 2700 8820 2925 8820
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 0 14 10 0.0000 4 90 90 3040 8877 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 3038 8550 N\001
-6
6 2115 8100 2655 9180
6 2115 8100 2655 9180
6 2295 8235 2655 9045
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2565 8675 2340 8675
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
2340 8325 2565 8325 2565 9000 2340 9000 2340 8325
4 1 0 50 0 14 10 0.0000 4 90 90 2455 8877 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 2453 8550 N\001
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2565 8325 2115 8325
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
2115 9000 2565 9000
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2115 8100 2565 8100 2565 9180 2115 9180 2115 8100
4 1 0 50 0 14 12 0.0000 4 120 105 2250 8730 L\001
-6
-6
6 3420 8100 4095 9225
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3870 8675 3645 8675
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3645 8325 3870 8325 3870 9000 3645 9000 3645 8325
3 0 0 1 0 7 50 0 -1 0.000 0 1 0 6
1 1 1.00 60.00 120.00
3870 8505 4095 8505 4095 8100 3420 8100 3420 8505 3645 8505
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
3870 8820 4095 8820 4095 9225 3420 9225 3420 8820 3645 8820
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 0 14 10 0.0000 4 90 90 3760 8877 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 3758 8550 N\001
-6
6 4275 8190 4725 9090
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4275 8190 4725 8190 4725 9090 4275 9090 4275 8190
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4275 8640 4725 8640
4 1 0 50 0 16 24 0.0000 4 285 270 4500 8550 N\001
4 1 0 50 0 16 24 0.0000 4 285 240 4500 9000 P\001
-6
6 5175 8115 5655 8595
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5190 8130 5640 8130 5640 8580 5190 8580 5190 8130
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5640 8355 5190 8355
4 1 0 50 0 16 9 0.0000 4 90 90 5415 8490 P\001
4 1 0 50 0 16 9 0.0000 4 90 90 5415 8310 N\001
-6
6 4995 8655 5925 9135
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5010 8895 5910 8895
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5010 8670 5910 8670 5910 9120 5010 9120 5010 8670
4 1 0 50 0 14 10 0.0000 4 105 630 5460 8850 list *N\001
4 1 0 50 0 14 10 0.0000 4 105 630 5460 9075 list *P\001
-6
6 270 8325 630 9135
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
540 8765 315 8765
2 2 0 2 0 2 53 0 20 0.000 0 0 -1 0 0 5
315 8415 540 8415 540 9090 315 9090 315 8415
4 1 0 50 0 14 10 0.0000 4 90 90 430 8967 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 428 8640 N\001
-6
6 4860 3420 5220 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5130 3860 4905 3860
2 2 0 2 0 6 53 0 20 0.000 0 0 -1 0 0 5
4905 3510 5130 3510 5130 4185 4905 4185 4905 3510
4 1 0 50 0 14 10 0.0000 4 90 90 5020 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 5018 3735 N\001
-6
6 5850 3420 6210 4230
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6120 3860 5895 3860
2 2 0 2 0 7 53 0 20 0.000 0 0 -1 0 0 5
5895 3510 6120 3510 6120 4185 5895 4185 5895 3510
4 1 0 50 0 14 10 0.0000 4 90 90 6010 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 6008 3735 N\001
-6
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 90 90 4120 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 4345 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 5245 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 6145 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 7045 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 610 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 1510 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 2410 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 3310 6222 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 880 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 2860 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 1780 4062 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 10825 4107 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 7450 3882 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 8350 3882 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 105 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 90 90 9835 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 10825 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 10823 1395 N\001
4 1 0 50 0 14 10 0.0000 4 90 90 11815 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 6505 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 7495 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 8485 1722 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 4030 1812 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 4930 1812 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 90 90 2545 1812 P\001
4 1 0 50 0 14 10 0.0000 4 90 90 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 630 990 1545 list *N\001
4 1 0 50 0 14 10 0.0000 4 105 630 990 1770 list *P\001
-6
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
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
12600 6840 12600 4725 7785 4725 7785 6840 12600 6840
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
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
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
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
4 1 0 50 0 14 10 0.0000 4 135 3240 5805 4950 Asymmetrical list starting at R(red)\001
4 0 0 50 0 12 10 0.0000 4 135 3780 7875 5715 - FOREACH_ITEM(it, R, end, struct foo*, L)\001
4 0 0 50 0 12 10 0.0000 4 105 2610 7875 5490 - last element has R->P == &L\001
4 1 0 50 0 14 10 0.0000 4 135 3510 10215 4950 Symmetrical lists vs Asymmetrical lists\001
4 0 0 50 0 12 10 0.0000 4 135 4680 7875 6165 - FOREACH_ITEM_SAFE(it, bck, R, end, struct foo*, L)\001
4 0 0 50 0 12 10 0.0000 4 135 4500 7875 6390 does the same except that <bck> allows to delete\001
4 0 0 50 0 12 10 0.0000 4 135 2340 7875 6570 any node, including <it>\001
4 1 0 50 0 12 10 0.0000 4 135 450 5130 5355 foo_0\001
4 1 0 50 0 12 10 0.0000 4 135 450 6030 5355 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 450 6930 5355 foo_2\001
4 1 0 50 0 14 10 0.0000 4 135 3150 2070 4950 Symmetrical list starting at R(red)\001
4 1 0 50 0 12 10 0.0000 4 135 450 3195 5355 foo_2\001
4 1 0 50 0 12 10 0.0000 4 135 450 2295 5355 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 450 1395 5355 foo_0\001
4 1 0 50 0 12 10 0.0000 4 105 270 9855 3420 foo\001
4 1 0 50 0 12 10 0.0000 4 90 90 9990 3825 E\001
4 1 0 50 0 12 10 0.0000 4 135 2520 4905 3015 Replaces W with Y, returns W\001
4 1 0 50 0 14 10 0.0000 4 135 1440 7785 2655 Linking elements\001
4 1 0 50 0 12 10 0.0000 4 135 450 8235 3015 foo_1\001
4 1 0 50 0 12 10 0.0000 4 135 450 7335 3015 foo_0\001
4 1 0 50 0 12 10 0.0000 4 135 3060 7425 810 adds Y(yellow) just after G(green)\001
4 1 0 50 0 12 10 0.0000 4 135 1170 4500 855 adds W(white)\001
4 1 0 50 0 12 10 0.0000 4 135 2700 10755 810 adds Y at the queue (before G)\001
4 1 0 50 0 12 12 0.0000 4 165 630 990 1080 P=prev\001
4 1 0 50 0 14 12 0.0000 4 135 1155 945 585 struct list\001
4 1 0 50 0 12 12 0.0000 4 120 630 990 855 N=next\001
4 1 0 50 0 12 10 0.0000 4 105 1080 2565 900 Terminates G\001
4 1 0 50 0 14 10 0.0000 4 105 1260 2565 675 struct list *G\001
4 1 0 50 0 14 10 0.0000 4 135 1260 2565 495 LIST_INIT(G):G\001
4 1 0 50 0 14 10 0.0000 4 135 1350 4500 495 LIST_ADD(G,W):W\001
4 1 0 50 0 14 10 0.0000 4 135 1440 4500 675 LIST_ADDQ(G,W):W\001
4 1 0 50 0 14 10 0.0000 4 135 1350 7425 540 LIST_ADD(G,Y):Y\001
4 1 0 50 0 14 10 0.0000 4 135 1440 10755 540 LIST_ADDQ(G,Y):Y\001
4 1 0 50 0 12 10 0.0000 4 135 2610 1755 3060 unlinks and returns Y(yellow)\001
4 1 0 50 0 14 10 0.0000 4 135 1170 1755 2790 LIST_DEL(Y):Y\001
4 1 0 50 0 14 10 0.0000 4 135 1440 4905 2745 LIST_RIWI(W,Y):W\001
4 1 0 50 0 12 10 0.0000 4 135 2790 10665 3105 containing header E as member L\001
4 1 0 50 0 14 10 0.0000 4 135 2880 10665 2700 foo=LIST_ELEM(E, struct foo*, L)\001
4 1 0 50 0 12 10 0.0000 4 135 2880 10665 2925 Returns a pointer to struct foo*\001
4 0 0 50 0 12 10 0.0000 4 135 2610 7875 5265 - both are empty if R->P == R\001
4 0 0 50 0 12 10 0.0000 4 135 3960 7875 5940 iterates <it> through foo{0,1,2} and stops\001