Return to ox.c CVS log | Up to [local] / OpenXM_contrib2 / asir2000 / io |
version 1.7, 2000/09/07 23:59:55 | version 1.9, 2000/11/07 06:35:38 | ||
---|---|---|---|
|
|
||
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY | * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY | ||
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, | ||
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. | ||
* $OpenXM: OpenXM_contrib2/asir2000/io/ox.c,v 1.6 2000/08/22 05:04:18 noro Exp $ | * $OpenXM: OpenXM_contrib2/asir2000/io/ox.c,v 1.8 2000/09/12 06:05:30 noro Exp $ | ||
*/ | */ | ||
#include "ca.h" | #include "ca.h" | ||
#include "parse.h" | #include "parse.h" | ||
|
|
||
static struct mathcap *remote_mc; | static struct mathcap *remote_mc; | ||
static int remote_mc_len; | static int remote_mc_len; | ||
#if defined(VISUAL) | |||
/* XXX : mainly used in engine2000/io.c, but declared here */ | |||
HANDLE hStreamNotify,hStreamNotify_Ack; | |||
void cleanup_events() | |||
{ | |||
/* ox_watch_stream may be waiting for hStreamNotify_Ack to be set */ | |||
ResetEvent(hStreamNotify); | |||
SetEvent(hStreamNotify_Ack); | |||
} | |||
#endif | |||
void ox_resetenv(s) | void ox_resetenv(s) | ||
char *s; | char *s; | ||
{ | { | ||
#if defined(VISUAL) | |||
cleanup_events(); | |||
#endif | |||
fprintf(stderr,"%s\n",s); | fprintf(stderr,"%s\n",s); | ||
longjmp(ox_env,1); | longjmp(ox_env,1); | ||
} | } | ||
|
|
||
void ox_send_data(int s,pointer p) | void ox_send_data(int s,pointer p) | ||
{ | { | ||
if ( ox_check && !ox_check_cmo(s,(Obj)p) ) | ERR err; | ||
error("ox_send_data : Mathcap violation"); | |||
if ( ox_check && !ox_check_cmo(s,(Obj)p) ) { | |||
create_error(&err,ox_serial,"ox_send_data : Mathcap violation"); | |||
p = (pointer)err; | |||
} | |||
begin_critical(); | begin_critical(); | ||
ox_write_int(s,OX_DATA); | ox_write_int(s,OX_DATA); | ||
ox_write_int(s,ox_serial++); | ox_write_int(s,ox_serial++); |