=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/ox_toolkit.h,v retrieving revision 1.41 retrieving revision 1.47 diff -u -p -r1.41 -r1.47 --- OpenXM/src/ox_toolkit/ox_toolkit.h 2016/04/01 18:12:39 1.41 +++ OpenXM/src/ox_toolkit/ox_toolkit.h 2022/03/28 09:11:19 1.47 @@ -1,11 +1,12 @@ /* -*- mode: C -*- */ -/* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.40 2015/08/27 03:03:33 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.46 2020/11/01 10:28:22 noro Exp $ */ #ifndef _OX_TOOLKIT_H_ #define _OX_TOOLKIT_H_ #include +#include #include #include #include @@ -15,6 +16,8 @@ #if defined(_MSC_VER) #include +#else +#include #endif #define MALLOC(x) GC_MALLOC((x)) @@ -40,6 +43,7 @@ typedef struct { typedef struct mathcap { table *cmotbl; table *smtbl; + char **opts; } mathcap; /* OpenXM File Descripter */ @@ -59,6 +63,18 @@ typedef struct OXFILE{ double (*receive_double)(struct OXFILE *oxfp); } OXFILE; +#if 0 +#define OX_FD_SETSIZE FD_SETSIZE +#else +#define OX_FD_SETSIZE 32 +#endif + +typedef struct { + int count; + fd_set fdset; + OXFILE *p[OX_FD_SETSIZE]; +} OXFILE_set; + typedef struct cmo { int tag; } cmo; @@ -217,6 +233,7 @@ cmo_distributed_polynomial* new_cmo_distributed_polyno cmo_dms_generic* new_cmo_dms_generic(); cmo_ring_by_name* new_cmo_ring_by_name(cmo* ob); cmo_indeterminate* new_cmo_indeterminate(cmo* ob); +cmo_indeterminate* new_cmo_indeterminate_set_name(char *s); cmo_polynomial_in_one_variable* new_cmo_polynomial_in_one_variable(int var); cmo_recursive_polynomial* new_cmo_recursive_polynomial(cmo_list* ringdef, cmo* coef); cmo_tree* new_cmo_tree(cmo_string* name, cmo_list *attributes, cmo_list *leaves); @@ -271,7 +288,9 @@ cmo_list* list_append_monomial(cmo_list* , cm cmo_list* list_appendl(cmo_list*, ...); int list_length(cmo_list* ); cmo* list_nth(cmo_list* , int n); +cell* list_nth_cell(cmo_list* , int n); cmo* list_first_cmo(cmo_list *); +char* cmo_indeterminate_get_name(cmo_indeterminate *); int cmolen_cmo(cmo* m); void dump_buffer_init(char *s); @@ -304,6 +323,7 @@ char* get_symbol_by_tag(int tag); /* for mathcap database */ mathcap *new_mathcap(); void mathcap_init(int ver, char *vstr, char *sysname, int cmos[], int sms[]); +void mathcap_init2(int ver, char *vstr, char *sysname, int cmos[], int sms[], char *options[]); cmo_mathcap* mathcap_get(mathcap *); mathcap *mathcap_update(mathcap *, cmo_mathcap *mc); int mathcap_allowQ_cmo(mathcap *, cmo *ob); @@ -328,6 +348,7 @@ void oxf_determine_byteorder_server(OXFILE *oxfp); OXFILE *oxf_execute_cmd(OXFILE *oxfp, char *cmd); cmo_mathcap *oxf_cmo_mathcap(OXFILE *oxfp); void oxf_mathcap_update(OXFILE *oxfp, cmo_mathcap *ob); +int oxf_setbuffer(OXFILE *oxfp, char *buf, int size); /* example: which("xterm", getenv("PATH")); */ char *which(char *exe, const char *env); @@ -335,6 +356,13 @@ char *generate_otp(); int ox_stderr_init(FILE *fp); int ox_printf(char *format, ...); + +int gclose(); +int gopen(); +int gFlush(); +int moveto(int x, int y); +int lineto(int x, int y); +int setpixel(int x, int y); #ifdef __cplusplus }