            (c-indent-line-or-region)
            (insert "/* *INDENT-ON* */"))))
 
+(defun fix-pool-foreach () (interactive)
+       (fix-initializer "pool_foreach *("))
+
+(defun fix-hash-foreach () (interactive)
+       (fix-initializer "hash_foreach *("))
+
+(defun fix-hash-foreach-pair () (interactive)
+       (fix-initializer "hash_foreach_pair *("))
+
+(defun fix-clib-fifo-foreach () (interactive)
+       (fix-initializer "clib_fifo_foreach *("))
+
+(defun fix-clib-bitmap-foreach () (interactive)
+       (fix-initializer "clib_bitmap_foreach *("))
+
+(defun fix-foreach-ip-interface-address () (interactive)
+       (fix-initializer "foreach_ip_interface_address *("))
+
 (defun fix-vlib-register-thread () (interactive)
        (fix-initializer "VLIB_REGISTER_THREAD *("))
 

       (fix-initializer "VLIB_REGISTER_NODE *("))


;; Driver routine which runs the set of keyboard macros
;; defined above, as well as the bottom boilerplate lisp fn.

(defun fd-io-styleify () (interactive)
       (fix-foreach)
       (fix-vlib-register-thread)
       (fix-vlib-cli-command)
       (fix-vlib-register-node)
       (insert-style-boilerplate))

(setq index 0)
(while (elt argv index)
  (message "Processing %s..." (elt argv index))
  (find-file (elt argv index))
  (fd-io-styleify)
  (setq index (1+ index)))
(save-buffers-kill-emacs t)

#!/usr/bin/emacs --script

;; Insert style boilerplate
;;
;; Breaking the string in half keeps emacs
;; from trying to interpret the local variable
;; settings e.g. when it reads the lisp source code

(defun insert-style-boilerplate () (interactive)
       (save-excursion (goto-char (point-max))
                       (insert "
/*
 * fd.io coding-style-patch-verification: ON
 *
 * Local Var" "iables:
 * eval: (c-set-style \"gnu\")
 * End:
 */")))

;; Insert indent-off ... indent-on brackets around
;; a certain xxx_foreach macro, etc. which "indent"
;; completely screws up. Doesn't handle nesting, of which there
;; are few examples (fortunately).

(defun fix-initializer (what) (interactive)
       (save-excursion 
