1064f039fSPatrick Williams#!/bin/sh 29a61b4f4STom Joseph 39a61b4f4STom Joseph# Ensure some files have been passed. 4064f039fSPatrick Williamsif [ -z "$*" ]; then 5*3aaddc7bSPatrick Williams echo "Usage: $0 [allowlist_files+]" >&2 6064f039fSPatrick Williams exit 1 79a61b4f4STom Josephfi 89a61b4f4STom Joseph 99a61b4f4STom Josephcat << EOF 1068d9d405SMatt Simmering#include <ipmiallowlist.hpp> 119a61b4f4STom Joseph 12deeceae3SKonstantin Aladyshevconst std::vector<netfncmd_pair> allowlist = { 139a61b4f4STom Joseph 149a61b4f4STom JosephEOF 159a61b4f4STom Joseph 16*3aaddc7bSPatrick Williams# Output each row of allowlist 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