Browse code

modules: readme files regenerated - textopsx ... [skip ci]

Kamailio Dev authored on 30/07/2021 10:31:15
Showing 1 changed files
... ...
@@ -41,6 +41,10 @@ Daniel-Constantin Mierla
41 41
               2.20. hf_iterator_rm(iname)
42 42
               2.21. hf_iterator_append(iname, htext)
43 43
               2.22. hf_iterator_insert(iname, htext)
44
+              2.23. bl_iterator_start(iname)
45
+              2.24. bl_iterator_end(iname)
46
+              2.25. textopsx.f.bl_iterator_next(iname)
47
+              2.26. bl_iterator_rm(iname)
44 48
 
45 49
         3. Selects
46 50
 
... ...
@@ -72,7 +76,11 @@ Daniel-Constantin Mierla
72 76
    1.20. hf_iterator_rm usage
73 77
    1.21. hf_iterator_append usage
74 78
    1.22. hf_iterator_insert usage
75
-   1.23. @hf_value select usage
79
+   1.23. bl_iterator_start usage
80
+   1.24. bl_iterator_end usage
81
+   1.25. bl_iterator_next usage
82
+   1.26. bl_iterator_rm usage
83
+   1.27. @hf_value select usage
76 84
 
77 85
 Chapter 1. Admin Guide
78 86
 
... ...
@@ -103,6 +111,10 @@ Chapter 1. Admin Guide
103 111
         2.20. hf_iterator_rm(iname)
104 112
         2.21. hf_iterator_append(iname, htext)
105 113
         2.22. hf_iterator_insert(iname, htext)
114
+        2.23. bl_iterator_start(iname)
115
+        2.24. bl_iterator_end(iname)
116
+        2.25. textopsx.f.bl_iterator_next(iname)
117
+        2.26. bl_iterator_rm(iname)
106 118
 
107 119
    3. Selects
108 120
 
... ...
@@ -144,6 +156,10 @@ Chapter 1. Admin Guide
144 156
    2.20. hf_iterator_rm(iname)
145 157
    2.21. hf_iterator_append(iname, htext)
146 158
    2.22. hf_iterator_insert(iname, htext)
159
+   2.23. bl_iterator_start(iname)
160
+   2.24. bl_iterator_end(iname)
161
+   2.25. textopsx.f.bl_iterator_next(iname)
162
+   2.26. bl_iterator_rm(iname)
147 163
 
148 164
 2.1.  msg_apply_changes()
149 165
 
... ...
@@ -452,7 +468,7 @@ hf_iterator_start("i1");
452 468
 2.17.  hf_iterator_end(iname)
453 469
 
454 470
    Close the iterator identified by iname parameter. The iname value must
455
-   be the same used for sht_iterator_start().
471
+   be the same used for hf_iterator_start().
456 472
 
457 473
    The parameter can be dynamic string with variables.
458 474
 
... ...
@@ -466,7 +482,7 @@ hf_iterator_end("i1");
466 482
 2.18.  textopsx.f.hf_iterator_next(iname)
467 483
 
468 484
    Move the iterator to the next header. It must be called also after
469
-   sht_iterator_start() to get the first header.
485
+   bl_iterator_start() to get the first header.
470 486
 
471 487
    The return code is false when there is no other header in the list.
472 488
 
... ...
@@ -489,7 +505,7 @@ hf_iterator_end("i1");
489 505
 2.19.  textopsx.f.hf_iterator_prev(iname)
490 506
 
491 507
    Move the iterator to the previous header. It must be called also after
492
-   sht_iterator_start() and sht_iterator_next().
508
+   hf_iterator_start() and hf_iterator_next().
493 509
 
494 510
    The parameter can be dynamic string with variables.
495 511
 
... ...
@@ -566,6 +582,77 @@ hf_iterator_end("i1");
566 582
     hf_iterator_end("i1");
567 583
 ...
568 584
 
585
+2.23.  bl_iterator_start(iname)
586
+
587
+   Start an iterator for lines in the body of the current SIP message. The
588
+   parameter iname is used to identify the iterator. There can be up to 4
589
+   iterators at the same time, with different name.
590
+
591
+   The parameter can be a dynamic string with variables.
592
+
593
+   This function can be used from ANY_ROUTE.
594
+
595
+   Example 1.23. bl_iterator_start usage
596
+...
597
+bl_iterator_start("b1");
598
+...
599
+
600
+2.24.  bl_iterator_end(iname)
601
+
602
+   Close the iterator identified by iname parameter. The iname value must
603
+   be the same used for bl_iterator_start().
604
+
605
+   The parameter can be dynamic string with variables.
606
+
607
+   This function can be used from ANY_ROUTE.
608
+
609
+   Example 1.24. bl_iterator_end usage
610
+...
611
+bl_iterator_end("b1");
612
+...
613
+
614
+2.25.  textopsx.f.bl_iterator_next(iname)
615
+
616
+   Move the iterator to the next line in the body. It must be called also
617
+   after bl_iterator_start() to get the first header.
618
+
619
+   The return code is false when there is no other header in the list.
620
+
621
+   The body line accessible via variable $blitval(iname) - it contains
622
+   also the EOL chars.
623
+
624
+   The parameter can be dynamic string with variables.
625
+
626
+   This function can be used from ANY_ROUTE.
627
+
628
+   Example 1.25. bl_iterator_next usage
629
+...
630
+    bl_iterator_start("b1");
631
+    while(hf_iterator_next("b1")) {
632
+        xlog("body line: hdr[$hfitname(b1)]\n");
633
+    }
634
+    bl_iterator_end("b1");
635
+...
636
+
637
+2.26.  bl_iterator_rm(iname)
638
+
639
+   Remove the body line at the current iterator position.
640
+
641
+   The parameter can be dynamic string with variables.
642
+
643
+   This function can be used from ANY_ROUTE.
644
+
645
+   Example 1.26. bl_iterator_rm usage
646
+...
647
+    bl_iterator_start("b1");
648
+    while(bl_iterator_next("b1")) {
649
+        if($blitval(b1)=~"abc") {
650
+            bl_iterator_rm("b1");
651
+        }
652
+    }
653
+    bl_iterator_end("b1");
654
+...
655
+
569 656
 3. Selects
570 657
 
571 658
    3.1. @hf_value
... ...
@@ -601,7 +688,7 @@ hf_iterator_end("i1");
601 688
      * IDX - Value index, negative value counts from bottom
602 689
      * PARAM_NAME - name of parameter
603 690
 
604
-   Example 1.23. @hf_value select usage
691
+   Example 1.27. @hf_value select usage
605 692
 ...
606 693
 $a = @hf_value.my_header[1].my_param;
607 694
 xplog("L_ERR", "$sel(@hf_value.via[-1]), $sel(@hf_value.from.tag)\n");