12.4.17.2 Recorded database
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • Foreign Language Interface
        • The Foreign Include File
          • Miscellaneous
            • Recorded database
              • PL_record()
              • PL_duplicate_record()
              • PL_recorded()
              • PL_erase()
              • PL_record_external()
              • PL_recorded_external()
              • PL_erase_external()
    • Packages
Availability:C-language interface function
char * PL_record_external(term_t +t, size_t *len)
Record the term t into the Prolog database as recorda/3 and return an opaque handle to the term. The returned handle remains valid until PL_erase_external() is called on it. Currently aborts the process with a fatal error on failure. Future versions may raise a resource exception and return (record_t)0.

It is allowed to copy the data and use PL_recorded_external() on the copy. The user is responsible for the memory management of the copy. After copying, the original may be discarded using PL_erase_external().

PL_recorded_external() is used to copy such recorded terms back to the Prolog stack.