19a61b4f4STom Joseph#/bin/sh 29a61b4f4STom Joseph 39a61b4f4STom Joseph# Ensure some files have been passed. 49a61b4f4STom Josephif [ "x$*" == "x" ]; then 59a61b4f4STom Joseph echo "Usage: $0 [whitelist_files+]" >&2 69a61b4f4STom Joseph exit -1 79a61b4f4STom Josephfi 89a61b4f4STom Joseph 99a61b4f4STom Josephcat << EOF 10*4b9efaa0SPatrick Williams#include <ipmiwhitelist.hpp> 119a61b4f4STom Joseph 129a61b4f4STom Josephconst std::vector<netfncmd_pair> whitelist = { 139a61b4f4STom Joseph 149a61b4f4STom JosephEOF 159a61b4f4STom Joseph 169a61b4f4STom Joseph# Output each row of whitelist vector. 179a61b4f4STom Joseph# Concatenate all the passed files. 189a61b4f4STom Joseph# Remove comments and empty lines. 199a61b4f4STom Joseph# Sort the list [numerically]. 209a61b4f4STom Joseph# Remove any duplicates. 219a61b4f4STom Joseph# Turn "a:b //<NetFn>:<Command>" -> "{ a, b }, //<NetFn>:<Command>" 229a61b4f4STom Josephcat $* | sed "s/#.*//" | sed '/^$/d' | sort -n | uniq | sed "s/^/ { /" | \ 239a61b4f4STom Joseph sed "s/\:\(....\)\(.*\)/ , \1 }, \2/" 249a61b4f4STom Joseph 259a61b4f4STom Josephcat << EOF 269a61b4f4STom Joseph}; 279a61b4f4STom JosephEOF 28