 
 
B.7  Passing Control and Data to ECLiPSe from C++
These are the functions needed to embed ECLiPSe into C++ code.
- 
void post_goal(const EC_word)
-  
 
- void post_goal(const char *)
-  
 post a goal (constraint) that will be executed when ECLiPSe	is resumed.
- int EC_resume(EC_word FromC, EC_ref& ToC)
-  
 
- int EC_resume(EC_word FromC)
-  
 
- int EC_resume()
-  
 resume execution of the ECLiPSe engine: All posted goals will
	be executed. The return value will be EC_succeed if the goals succeed
	(in this case the ToC argument returns a cut value that can be
	used to discard alternative solutions). EC_fail is returned if the
	goals fail, and EC_yield if control was yielded because of a
	yield/2 predicate call in the ECLiPSe code (in this case, ToC
	contains the data passed by the first argument of yield/2).
	If a writable queue stream with yield-option
	(see open/4)
	was flushed, the return value is PFLUSHIO and ToC contains the
	associated stream number.
	If there was an attempt to read from an empty queue stream with
	yield-option, the return value is PWAITIO and ToC contains the
	associated stream number.
	Moreover, if the previous EC_resume yielded
	due to a yield/2 predicate call, The term FromC is passed
	as input into the second argument of yield/2 on resuming.
- void EC_ref::cut_to()
-  
 Should be applied to the ToC cut return value of an EC_resume().
	Cut all choicepoints created by the batch of goals whose execution
	succeeded.
- int post_event(EC_word Name)
-  
 Post an event to the ECLiPSe engine. This will lead to the
	execution of the corresponding event handler once the ECLiPSe	execution is resumed. See also event/1 and the User Manual
	chapter on event handling for more information. Name should be 
	an ECLiPSe atom.
 
