#!/bin/sh
out="$1"shiftin="$@"for i in$in;doeval$CPP $LINUXINCLUDE-dD -imacros"$i"-x c /dev/null
done | \
awk'$1== "#define" &&$2~ /__HYPERVISOR_[a-z][a-z_0-9]*/ { v[$3] =$2} END { print "/* auto-generated by scripts/xen-hypercall.sh */" for (i in v) if (!(v[i] in v)) print "HYPERCALL("substr(v[i], 14)")"}' | sort-u>$out