=================================================================== RCS file: /home/cvs/OpenXM/src/ox_math/mlo.h,v retrieving revision 1.5 retrieving revision 1.9 diff -u -p -r1.5 -r1.9 --- OpenXM/src/ox_math/mlo.h 2000/03/10 12:38:47 1.5 +++ OpenXM/src/ox_math/mlo.h 2003/03/30 08:07:10 1.9 @@ -1,10 +1,15 @@ -/* $OpenXM: OpenXM/src/ox_math/mlo.h,v 1.4 2000/01/22 06:30:23 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_math/mlo.h,v 1.8 2003/03/23 21:56:11 ohara Exp $ */ #ifndef _MLO_H_ #define _MLO_H_ #include +#define RESERVE_INTERRUPTION 1 +#define INTERRUPTED 2 +#define RESERVE_ABORTION 4 +#define ABORTED 8 + /* definitions of Mathlink Local Objects. */ typedef struct { int tag; @@ -26,18 +31,27 @@ cmo *receive_mlo_function(); cmo *convert_mlo_to_cmo(mlo *m); cmo *receive_mlo_function_newer(); cmo *receive_mlo_symbol(); +mlo *receive_mlo_error(); +mlo *receive_mlo_real(); int send_mlo(cmo *m); -int send_mlo_int32(cmo *m); -int send_mlo_string(cmo *m); -int send_mlo_zz(cmo *m); -int send_mlo_list(cmo *c); +int ml_abort(); +int ml_interrupt(); +int ml_next_packet(); +int ml_new_packet(); +int ml_read_packet(); int ml_init(); int ml_exit(); int ml_flush(); int ml_select(); int ml_evaluateStringByLocalParser(char *str); int ml_executeFunction(char *function, int argc, cmo *argv[]); +mlo *ml_return(); +/* state management for the OpenXM robust interruption */ +unsigned ml_state_set(unsigned fl); +unsigned ml_state_clear(unsigned fl); +unsigned ml_state(unsigned fl); +void ml_state_clear_all(); #endif