#include int babel_wrapper_foo(int n) { int return_value; int func; PlTerm arg[2]; PlBool res; func = Pl_Find_Atom("foo"); Pl_Query_Begin(PL_FALSE); arg[0] = Pl_Mk_Integer(n); arg[1] = Pl_Mk_Variable(); res = Pl_Query_Call(func, 2, arg); return_value = Pl_Rd_Integer(arg[1]); Pl_Query_End(PL_KEEP_FOR_PROLOG); return return_value; } int main(int argc , char **argv ) { Pl_Start_Prolog(argc, argv); babel_wrapper_foo(1); Pl_Stop_Prolog(); return (0); }