1064f039fSPatrick Williams#!/bin/sh 29a61b4f4STom Joseph 39a61b4f4STom Joseph# Ensure some files have been passed. 4064f039fSPatrick Williamsif [ -z "$*" ]; then 59a61b4f4STom Joseph echo "Usage: $0 [whitelist_files+]" >&2 6064f039fSPatrick Williams exit 1 79a61b4f4STom Josephfi 89a61b4f4STom Joseph 99a61b4f4STom Josephcat << EOF 10*68d9d405SMatt Simmering#include <ipmiallowlist.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>" 22064f039fSPatrick Williamssed "s/#.*//" "$*" | sed '/^$/d' | sort -n | uniq | sed "s/^/ { /" | \ 239a61b4f4STom Joseph sed "s/\:\(....\)\(.*\)/ , \1 }, \2/" 249a61b4f4STom Joseph 259a61b4f4STom Josephcat << EOF 269a61b4f4STom Joseph}; 279a61b4f4STom JosephEOF 28