/usr/src/ndiswrapper-1.59/mkexport.sh is in ndiswrapper-dkms 1.59-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #! /bin/sh
# Generate exports symbol table from C files
input="$1"
output="$2"
exports=$(basename "$output" .h)
exec >"$output"
echo "/* automatically generated from src */";
sed -n -e '/^\(wstdcall\|wfastcall\|noregparm\|regparm3\|__attribute__\)/{
:more
N
s/\([^{]\)$/\1/
t more
s/\n{$/;/
p
}' $input
echo "#ifdef CONFIG_X86_64";
sed -n \
-e 's/.*WIN_FUNC(\([^\,]\+\) *\, *\([0-9]\+\)).*/'\
'WIN_FUNC_DECL(\1, \2)/p' \
-e 's/.*WIN_FUNC_PTR(\([^\,]\+\) *\, *\([0-9]\+\)).*/'\
'WIN_FUNC_DECL(\1, \2)/p' $input | sort -u
echo "#endif"
echo "extern struct wrap_export $exports[];"
echo "struct wrap_export $exports[] = {"
sed -n \
-e 's/.*WIN_FUNC(_win_\([^\,]\+\) *\, *\([0-9]\+\)).*/'\
' WIN_WIN_SYMBOL(\1, \2),/p' \
-e 's/.*WIN_FUNC(\([^\,]\+\) *\, *\([0-9]\+\)).*/'\
' WIN_SYMBOL(\1, \2),/p' \
-e 's/.*WIN_SYMBOL_MAP(\("[^"]\+"\)[ ,\n]\+\([^)]\+\)).*/'\
' {\1, (generic_func)\2},/p' $input | sort -u
echo " {NULL, NULL}"
echo "};"
|