12.4.12.2 Initiating a query from C
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • Foreign Language Interface
        • The Foreign Include File
          • Calling Prolog from C
            • Initiating a query from C
              • PL_open_query()
              • PL_next_solution()
              • PL_cut_query()
              • PL_close_query()
              • PL_current_query()
              • PL_query_engine()
              • PL_query_arguments()
              • PL_set_query_data()
              • PL_query_data()
              • PL_call_predicate()
              • PL_call()
    • Packages
Availability:C-language interface function
int PL_next_solution(qid_t qid)
Generate the first (next) solution for the given query. The return value is TRUE if a solution was found, or FALSE to indicate the query could not be proven. This function may be called repeatedly until it fails to generate all solutions to the query. The return value PL_S_NOT_INNER is returned if qid is not the innermost query.

If the PL_open_query() had the flag PL_Q_EXT_STATUS, there are additional return values (see section 12.4.1.2).