=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/Attic/ox.h,v retrieving revision 1.1 retrieving revision 1.6 diff -u -p -r1.1 -r1.6 --- OpenXM/src/ox_toolkit/Attic/ox.h 1999/12/09 22:44:56 1.1 +++ OpenXM/src/ox_toolkit/Attic/ox.h 2000/01/17 19:55:55 1.6 @@ -1,5 +1,5 @@ /* -*- mode: C; coding: euc-japan -*- */ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/ox_toolkit/ox.h,v 1.5 1999/12/16 06:58:01 ohara Exp $ */ #ifndef _OX_H_ @@ -18,9 +18,9 @@ (3) send_cmo ´Ø¿ô¤ÏCMO¥¿¥°¤È¥Ç¡¼¥¿ËÜÂΤòÁ÷¿®¤¹¤ë. (4) send_cmo_XXX ´Ø¿ô¤ÏCMO¥¿¥°¤ò¿Æ¤Î´Ø¿ô¤ÇÁ÷¿®¤·¤Æ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ç¡¢ ¥Ç¡¼¥¿ËÜÂΤΤߤòÁ÷¿®¤¹¤ë. +(5) receive_ox_XXX ´Ø¿ô¤Ï¸ºß¤·¤Ê¤¤(ºî¤é¤Ê¤¤). receive_cmo ¤òÍøÍѤ¹¤ë. ---- -(5) receive_ox_XXX ´Ø¿ô¤Ï¸ºß¤·¤Ê¤¤(ºî¤é¤Ê¤¤). receive_cmo ¤òÍøÍѤ¹¤ë. (6) send_ox_XXX ´Ø¿ô¤Ï OX ¥¿¥°¤ò´Þ¤á¤ÆÁ÷¿®¤¹¤ë. (7) ox_XXX ´Ø¿ô¤Ï°ìÏ¢¤ÎÁ÷¼õ¿®¤ò´Þ¤à¤è¤êÃê¾ÝŪ¤ÊÁàºî¤òɽ¸½¤¹¤ë. ox_XXX ´Ø¿ô¤Ï¡¢Âè°ì°ú¿ô¤È¤·¤Æ¡¢ox_file_t·¿¤ÎÊÑ¿ô sv ¤ò¤È¤ë. @@ -31,7 +31,7 @@ YYY_cmo_XXX ´Ø¿ô¤¬½èÍý¤¹¤ë¡£cmo ¤ÎÆâÉô¤Ë cmo_ZZZ ¤Ø¤Î¥ ¤¢¤ë¤È¤­¤Ë¤Ï¡¢¤½¤Î¼ïÎà¤Ë¤è¤é¤º¤Ë YYY_cmo ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹ */ -#define DEFAULT_LOGFILE "/tmp/result" +#define LOGFILE "/tmp/oxtk.XXXXXX" /* Open Xm File Descripter */ typedef int oxfd; @@ -39,8 +39,7 @@ typedef int oxfd; #if 0 /* ¤½¤Î¤¦¤Á¤³¤Á¤é¤Ë°Ü¹Ô¤·¤¿¤¤... */ typedef struct { - int fd_read; - int fd_write; + int fd; int byteorder; } oxfile; typedef oxfile *oxfd; @@ -157,7 +156,9 @@ cmo_monomial32* new_cmo_monomial32_size(int size); cmo_zz* new_cmo_zz(); cmo_zz* new_cmo_zz_size(int size); cmo_zz* new_cmo_zz_set_si(int integer); +cmo_zz* new_cmo_zz_set_mpz(mpz_ptr z); cmo_zz* new_cmo_zz_noinit(); +cmo_zz* new_cmo_zz_set_string(char* s); cmo_zero* new_cmo_zero(); cmo_distributed_polynomial* new_cmo_distributed_polynomial(); cmo_dms_generic* new_cmo_dms_generic(); @@ -167,56 +168,63 @@ cmo_error2* new_cmo_error2(cmo* ob); ox_data* new_ox_data(cmo* c); ox_command* new_ox_command(int sm_code); +ox_sync_ball* new_ox_sync_ball(); -cmo_error2* make_error_object(int err_code, cmo *ob); +char* new_string_set_cmo(cmo* m); + +cmo_error2* make_error_object(int err_code, cmo* ob); cmo* make_mathcap_object(int version, char *id_string); +/* Äã¿å½à API */ cmo* receive_cmo(int fd); -cmo* receive_cmo2(int fd); int receive_int32(int fd); int receive_ox_tag(int fd); -int send_cmo(int fd, cmo* m); -int send_int32(int fd, int integer); -int send_ox(ox_file_t s, ox* m); -int send_ox_cmo(int fd, cmo* m); -void send_ox_command(int fd, int sm_command); -int send_ox_tag(int fd, int tag); +int send_cmo(int fd, cmo* m); +int send_int32(int fd, int integer); +int send_ox(int fd, ox* m); +int send_ox_cmo(int fd, cmo* m); +void send_ox_command(int fd, int sm_command); +int send_ox_tag(int fd, int tag); -int append_cmo_list(cmo_list* this, cmo *ob); -int length_cmo_list(cmo_list* this); -cell* next_cell(cell *this); -int cmolen_cmo(cmo* m); +int decideByteOrderClient(int fd, int order); +int decideByteOrderServer(int fd, int order); +int next_serial(); +void setCmotypeDisable(int type); +cell* new_cell(); +cmo* nth_cmo_list(cmo_list* this, int n); +int set_current_fd(int fd); -void ox_close(ox_file_t sv); -void ox_executeStringByLocalParser(ox_file_t sv, char* str); -cmo_mathcap* ox_mathcap(ox_file_t sv); -char* ox_popString(ox_file_t sv, int fd); -cmo* ox_pop_cmo(ox_file_t sv, int fd); -void ox_reset(ox_file_t sv); -ox_file_t ox_start(char* host, char* prog1, char* prog2); -ox_file_t ox_start_insecure_nonreverse(char* host, short portControl, short portStream); +/* ¹â¿å½à API */ +ox_file_t ox_start(char* host, char* prog1, char* prog2); +ox_file_t ox_start_insecure_nonreverse(char* host, short portControl, short portStream); +void ox_close(ox_file_t sv); +void ox_shutdown(ox_file_t sv); +void ox_reset(ox_file_t sv); +void ox_execute_string(ox_file_t sv, char* str); +cmo_mathcap* ox_mathcap(ox_file_t sv); +char* ox_popString(ox_file_t sv); +int ox_pops(ox_file_t sv, int num); +cmo* ox_pop_cmo(ox_file_t sv); +void ox_push_cmo(ox_file_t sv, cmo *c); +void ox_push_cmd(ox_file_t sv, int sm_code); +int ox_cmo_rpc(ox_file_t sv, char *function, int argc, cmo *argv[]); +int ox_flush(ox_file_t sv); -int init_dump_buff(char *buff); -int dump_cmo(cmo* m); -int dump_ox_command(ox_command* m); -int dump_ox_data(ox_data* m); +int append_cmo_list(cmo_list* this, cmo *ob); +int length_cmo_list(cmo_list* this); +cell* next_cell(cell *this); +int cmolen_cmo(cmo* m); +int init_dump_buff(char *buff); +int dump_cmo(cmo* m); +int dump_ox_command(ox_command* m); +int dump_ox_data(ox_data* m); -int print_cmo(cmo* c); -int print_cmo_int32(cmo_int32* c); -int print_cmo_list(cmo_list* li); -int print_cmo_mathcap(cmo_mathcap* c); -int print_cmo_string(cmo_string* c); +int print_cmo(cmo* c); -int decideByteOrderClient(oxfd fd, int order); -int decideByteOrderServer(oxfd fd, int order); -int next_serial(); -void setCmotypeDisable(int type); +typedef cmo *(*hook_t)(int, cmo *); -cmo_zz* new_cmo_zz_set_string(char *s); -char* convert_zz_to_string(cmo_zz *c); -char* convert_cmo_to_string(cmo *m); -char* convert_null_to_string(); -char* convert_int_to_string(int integer); +int add_hook_before_send_cmo(hook_t func); +int add_hook_after_send_cmo(hook_t func); #endif /* _OX_H_ */