[BACK]Return to ox_toolkit.h CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

Diff for /OpenXM/src/ox_toolkit/ox_toolkit.h between version 1.2 and 1.14

version 1.2, 2000/10/10 05:23:20 version 1.14, 2003/03/23 20:17:35
Line 1 
Line 1 
 /* -*- mode: C -*- */  /* -*- mode: C -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.1 2000/03/10 12:24:39 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/ox_toolkit.h,v 1.13 2003/02/03 23:13:23 ohara Exp $ */
   
 #ifndef _OX_TOOLKIT_H_  #ifndef _OX_TOOLKIT_H_
   
 #define _OX_TOOLKIT_H_  #define _OX_TOOLKIT_H_
   
 #include <stdio.h>  #include <stdio.h>
 #include <gmp.h>  #if defined(WITH_GMP)
 #include "ox_toolkit_tags.h"  #include <gmp.h>
   #endif /* WITH_GMP */
   #include <ox/cmotag.h>
   #include <ox/oxMessageTag.h>
   #include <ox/smCommand.h>
   
 #if !defined(__GNUC__) && !defined(__inline__)  #if !defined(__GNUC__) && !defined(__inline__)
 #define __inline__  #define __inline__
 #endif  #endif
   
 /* functions related to ox.c */  /* Mathcap Local Database */
   typedef struct {
       int tag;
       int flag;
   } table;
   
 #define LOGOXFILE  "/tmp/oxtk.XXXXXX"  typedef struct mathcap {
       table *cmotbl;
       table *smtbl;
   } mathcap;
   
 #define MATHCAP_FLAG_DENY   0  /* OpenXM File Descripter */
 #define MATHCAP_FLAG_ALLOW  1  
   
 /* Open Xm File Descripter */  
 typedef struct OXFILE{  typedef struct OXFILE{
         int fd;      int fd;
 /*    FILE *fp; */      int (*send_int32)(struct OXFILE *oxfp, int int32);
         int (*send_int32)(struct OXFILE *oxfp, int int32);      int (*receive_int32)(struct OXFILE *oxfp);
         int (*receive_int32)(struct OXFILE *oxfp);      int serial_number;
         int serial_number;      int received_serial_number;
         struct OXFILE *control;  /* pointer to his control server. */      struct OXFILE *control;  /* pointer to his control server. */
       struct mathcap *mathcap;
       int error;
 } OXFILE;  } OXFILE;
   
 typedef struct {  typedef struct {
Line 83  typedef struct {
Line 93  typedef struct {
     cmo *coef;      cmo *coef;
 } cmo_monomial32;  } cmo_monomial32;
   
   #if defined(WITH_GMP)
 typedef struct {  typedef struct {
     int tag;      int tag;
     mpz_t mpz;      mpz_t mpz;
Line 93  typedef struct {
Line 104  typedef struct {
     cmo *num;  /* Bunshi (cmo_zz) */      cmo *num;  /* Bunshi (cmo_zz) */
     cmo *den;  /* Bunbo (cmo_zz) */      cmo *den;  /* Bunbo (cmo_zz) */
 } cmo_qq;  } cmo_qq;
   #endif /* WITH_GMP */
   
   typedef struct {
       int tag;
       double d; /* machine dependent */
   } cmo_double;
   
 /* The following is a derived class from cmo_list.  /* The following is a derived class from cmo_list.
    that is, list_append can be used. */     that is, list_append can be used. */
 typedef struct {  typedef struct {
Line 124  cmo_mathcap*       new_cmo_mathcap(cmo* ob);
Line 141  cmo_mathcap*       new_cmo_mathcap(cmo* ob);
 cmo_list*          new_cmo_list();  cmo_list*          new_cmo_list();
 cmo_monomial32*    new_cmo_monomial32();  cmo_monomial32*    new_cmo_monomial32();
 cmo_monomial32*    new_cmo_monomial32_size(int size);  cmo_monomial32*    new_cmo_monomial32_size(int size);
   #if defined(WITH_GMP)
 cmo_zz*            new_cmo_zz();  cmo_zz*            new_cmo_zz();
 cmo_zz*            new_cmo_zz_size(int size);  cmo_zz*            new_cmo_zz_size(int size);
 cmo_zz*            new_cmo_zz_set_si(int integer);  cmo_zz*            new_cmo_zz_set_si(int integer);
 cmo_zz*            new_cmo_zz_set_mpz(mpz_ptr z);  cmo_zz*            new_cmo_zz_set_mpz(mpz_ptr z);
 cmo_zz*            new_cmo_zz_noinit();  cmo_zz*            new_cmo_zz_noinit();
 cmo_zz*            new_cmo_zz_set_string(char* s);  cmo_zz*            new_cmo_zz_set_string(char* s);
   #endif /* WITH_GMP */
 cmo_zero*          new_cmo_zero();  cmo_zero*          new_cmo_zero();
   cmo_double*        new_cmo_double(double d);
 cmo_distributed_polynomial* new_cmo_distributed_polynomial();  cmo_distributed_polynomial* new_cmo_distributed_polynomial();
 cmo_dms_generic*   new_cmo_dms_generic();  cmo_dms_generic*   new_cmo_dms_generic();
 cmo_ring_by_name*  new_cmo_ring_by_name(cmo* ob);  cmo_ring_by_name*  new_cmo_ring_by_name(cmo* ob);
Line 144  ox_sync_ball*      new_ox_sync_ball();
Line 164  ox_sync_ball*      new_ox_sync_ball();
 char*              new_string_set_cmo(cmo* m);  char*              new_string_set_cmo(cmo* m);
   
 cmo_error2*        make_error_object(int err_code, cmo* ob);  cmo_error2*        make_error_object(int err_code, cmo* ob);
 cmo*               make_mathcap_object(int version, char *id_string);  
   
 /* Low level API */  /* Low level API */
 cmo*               receive_cmo(OXFILE *fp);  cmo*               receive_cmo(OXFILE *fp);
Line 190  void               dump_ox_command(ox_command* m);
Line 209  void               dump_ox_command(ox_command* m);
 void               dump_ox_data(ox_data* m);  void               dump_ox_data(ox_data* m);
   
 void               print_cmo(cmo* c);  void               print_cmo(cmo* c);
   #if defined(WITH_GMP)
 void               resize_mpz(mpz_ptr mpz, int size);  void               resize_mpz(mpz_ptr mpz, int size);
   #endif /* WITH_GMP */
   
 typedef cmo *(*hook_t)(OXFILE *, cmo *);  typedef cmo *(*hook_t)(OXFILE *, cmo *);
   
Line 211  symbol_t lookup_by_symbol(char *key);
Line 232  symbol_t lookup_by_symbol(char *key);
 symbol_t lookup_by_token(int tok);  symbol_t lookup_by_token(int tok);
 symbol_t lookup_by_tag(int tag);  symbol_t lookup_by_tag(int tag);
 symbol_t lookup(int i);  symbol_t lookup(int i);
 char *symbol_get_key(symbol_t sp);  char*    get_symbol_by_tag(int tag);
   
 /* for mathcap database */  /* for mathcap database */
 cmo_mathcap *mathcap_get();  mathcap *new_mathcap();
 int mathcap_cmo_isallow_cmo(cmo *ob);  void mathcap_init(int ver, char *vstr, char *sysname, int cmos[], int sms[]);
 void mathcap_cmo_allow(int tag);  cmo_mathcap* mathcap_get(mathcap *this);
 void mathcap_cmo_deny(int tag);  mathcap *mathcap_update(mathcap *this, cmo_mathcap *mc);
 void mathcap_cmo_deny_all();  int mathcap_allowQ_cmo(mathcap *this, cmo *ob);
 void mathcap_cmo_allow_all();  
 cmo_list *mathcap_cmo_get_allow_all();  
 cmo_list *mathcap_sm_get_all();  
 cmo_list *mathcap_sysinfo_get_all();  
 void mathcap_sysinfo_set(int version, char *id, char *sysname);  
   
   
   
 int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp);  int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp);
 int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp);  int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp);
   
 /* for OXFILE */  /* for OXFILE */
   int oxf_listen(short *portp);
 OXFILE *oxf_connect_active(char *hostname, short port);  OXFILE *oxf_connect_active(char *hostname, short port);
 OXFILE *oxf_connect_passive(int listened);  OXFILE *oxf_connect_passive(int listened);
 OXFILE *oxf_open(int fd);  OXFILE *oxf_open(int fd);
Line 243  void oxf_close(OXFILE *oxfp);
Line 258  void oxf_close(OXFILE *oxfp);
 void oxf_setopt(OXFILE *oxfp, int mode);  void oxf_setopt(OXFILE *oxfp, int mode);
 void oxf_determine_byteorder_client(OXFILE *oxfp);  void oxf_determine_byteorder_client(OXFILE *oxfp);
 void oxf_determine_byteorder_server(OXFILE *oxfp);  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 send_int32_lbo(OXFILE *oxfp, int int32);  
 int send_int32_nbo(OXFILE *oxfp, int int32);  
 int receive_int32_lbo(OXFILE *oxfp);  
 int receive_int32_nbo(OXFILE *oxfp);  
   
 /* example: which("xterm", getenv("PATH")); */  /* example: which("xterm", getenv("PATH")); */
 char *which(char *exe, const char *env);  char *which(char *exe, const char *env);
 char *generate_otp();  char *generate_otp();
   
   int ox_stderr_init(FILE *fp);
   int ox_printf(char *format, ...);
 #endif /* _OX_TOOLKIT_H_ */  #endif /* _OX_TOOLKIT_H_ */

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.14

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>