82 lines
2.4 KiB
Bash
82 lines
2.4 KiB
Bash
# sefindif - Find interface definitions that have a string that matches the
|
|
# given regular expression
|
|
sefindif() {
|
|
REGEXP="$1";
|
|
if [ -d ${POLICY_LOCATION}/policy/modules ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/policy/modules > /dev/null 2>&1;
|
|
elif [ -d ${POLICY_LOCATION}/include ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/include > /dev/null 2>&1;
|
|
else
|
|
echo "Variable POLICY_LOCATION is not properly defined.";
|
|
return 1;
|
|
fi
|
|
for FILE in */*.if;
|
|
do
|
|
awk "BEGIN { P=1 } /(interface\(|template\()/ { NAME=\$0; P=0 }; /${REGEXP}/ { if (P==0) {P=1; print NAME}; if (NAME!=\$0) print };" ${FILE} | sed -e "s:^:${FILE}\: :g";
|
|
done
|
|
popd > /dev/null 2>&1;
|
|
}
|
|
|
|
# seshowif - Show the interface definition
|
|
seshowif() {
|
|
INTERFACE="$1";
|
|
if [ -d ${POLICY_LOCATION}/policy/modules ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/policy/modules > /dev/null 2>&1;
|
|
elif [ -d ${POLICY_LOCATION}/include ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/include > /dev/null 2>&1;
|
|
else
|
|
echo "Variable POLICY_LOCATION is not properly defined.";
|
|
return 1;
|
|
fi
|
|
for FILE in */*.if;
|
|
do
|
|
grep -A 9999 "\(interface(\`${INTERFACE}'\|template(\`${INTERFACE}'\)" ${FILE} | grep -B 9999 -m 1 "^')";
|
|
done
|
|
popd > /dev/null 2>&1;
|
|
}
|
|
|
|
# sefinddef - Find macro definitions that have a string that matches the given
|
|
# regular expression
|
|
sefinddef() {
|
|
REGEXP="$1";
|
|
if [ -d ${POLICY_LOCATION}/policy/support ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/policy/support > /dev/null 2>&1;
|
|
elif [ -d ${POLICY_LOCATION}/include/support ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/include/support > /dev/null 2>&1;
|
|
else
|
|
echo "Variable POLICY_LOCATION is not properly defined.";
|
|
return 1;
|
|
fi
|
|
for FILE in *;
|
|
do
|
|
awk "BEGIN { P=1; } /(define\(\`[^\`]*\`$)/ { NAME=\$0; P=0 }; /${REGEXP}/ { if (P==0) {P=1; print NAME}; if (NAME!=\$0) print };" ${FILE};
|
|
done
|
|
popd > /dev/null 2>&1;
|
|
}
|
|
|
|
# seshowdef - Show the macro definition
|
|
seshowdef() {
|
|
MACRONAME="$1";
|
|
if [ -d ${POLICY_LOCATION}/policy/support ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/policy/support > /dev/null 2>&1;
|
|
elif [ -d ${POLICY_LOCATION}/include/support ];
|
|
then
|
|
pushd ${POLICY_LOCATION}/include/support > /dev/null 2>&1;
|
|
else
|
|
echo "Variable POLICY_LOCATION is not properly defined.";
|
|
return 1;
|
|
fi
|
|
for FILE in *.spt;
|
|
do
|
|
grep -A 9999 "define(\`${MACRONAME}'" ${FILE} | grep -B 999 -m 1 "')";
|
|
done
|
|
popd > /dev/null 2>&1;
|
|
}
|