To be able to call a servant from C, you must first have created a saved state that will run as the servant. This is done using save_ipc_servant/1. Run Prolog on the machine on which the servant is to be run, and load (that is, compile, consult, or assert) everything that the servant will need. This includes all the external/3 facts that define the interface, as well as the predicates that the C program will call. Then call save_ipc_servant(SavedState), where SavedState is the name of the file in which to save the state.