

x=`pwd`
cd $AUBITDIR/lib/libaubit4gl
(
echo "char *name;"
echo "char *ifname;"
echo "char *api;"
echo "void *libptr;"
echo " " 
echo "int chk_interface(char *f) {"
echo "void *func;"
echo "int missing=0;"
echo "func=(void *)A4GL_find_func_allow_missing(libptr,f);"
echo "if (func==0||A4GL_isnullfunc(func)) missing=1;"
echo "if (missing) printf(\"%-40s - %s\n\",f,(missing==0)?\"Exists\":\"Missing <------------\");"
echo "return missing;"
echo "}"
echo "main(int argc,char *argv[]) {"
echo "int cnt_bad=0;"
echo "if (argc!=4) {printf(\"Usage : %s class api interface\neg %s  UI ui HL_TUI\n\",argv[0],argv[0]);exit(2);}"
echo "name=argv[1];"
echo "api=argv[2];"
echo "ifname=argv[3];"
echo "libptr=(void *)A4GL_dl_openlibrary(name,ifname);"
echo "if (libptr==0) {printf(\"Unable to open library\n\");exit(1);}"

for a in API_*.o
do
name=`expr $a : "API_\(.*\)\.o"`
prefix=`awk ' /^LIB_PREFIX/ {print $2}' <API_$name.spec`
echo "/* $prefix */"
nm -a API_$name.o | grep " T " | grep -v "_clrlibptr$" | grep -v "_initlib$" | awk -vname=$name -vprefix="$prefix" '
BEGIN {

	print "if (strcmp(api,\"" name "\")==0) {"
}


{ 

print "   cnt_bad+=chk_interface(\"" prefix $3 "\");"
}

END {
	print "}"
}

' 
done
echo "if (cnt_bad) exit(1);"
echo "exit(0);"
echo "}"

) > chk1.c

gcc chk1.c -o $x/chk1 -L$AUBITDIR/lib -laubit4gl

