Diff for /rpl/src/rpl.h between versions 1.12 and 1.21

version 1.12, 2010/03/04 10:17:55 version 1.21, 2010/04/07 13:45:10
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.12    RPL/2 (R) version 4.0.14
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2010 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 26 Line 26
 #define _GNU_SOURCE  #define _GNU_SOURCE
 #define _REENTRANT  #define _REENTRANT
   
 // Nécessaire pour les systèmes qui ne comprennent pas _GNU_SOURCE  
 #define _XOPEN_SOURCE 500  
   
 /*  /*
 ================================================================================  ================================================================================
Line 42 Line 40
 #include <strings.h>  #include <strings.h>
 #include <syslog.h>  #include <syslog.h>
 #include <errno.h>  #include <errno.h>
   #include <stdarg.h>
   
 #ifndef RPLARGS  #ifndef RPLARGS
 #   include <sys/resource.h>  #   include <sys/resource.h>
Line 75 Line 74
 #   include "termcap.h"  #   include "termcap.h"
 #   include "iconv.h"  #   include "iconv.h"
   
   #   include "openssl/evp.h"
   #   include "sqlite3.h"
   
 #   define HAVE_INLINE  #   define HAVE_INLINE
 #   define GSL_RANGE_CHECK_OFF  #   define GSL_RANGE_CHECK_OFF
 #   include "gsl/gsl_cdf.h"  #   include "gsl/gsl_cdf.h"
Line 484  void debug_memoire_retrait(void *ptr); Line 486  void debug_memoire_retrait(void *ptr);
 #   define d_es_nombre_max_descripteurs         2011  #   define d_es_nombre_max_descripteurs         2011
 #   define d_es_interruption_invalide           2012  #   define d_es_interruption_invalide           2012
 #   define d_es_contexte                        2013  #   define d_es_contexte                        2013
   #   define d_es_somme_controle                  2014
   #   define d_es_nom_implicite                   2015
 #endif  #endif
   
 /*  /*
Line 616  void debug_memoire_retrait(void *ptr); Line 620  void debug_memoire_retrait(void *ptr);
 #   define d_ex_locales                         76  #   define d_ex_locales                         76
 #   define d_ex_representation                  77  #   define d_ex_representation                  77
 #   define d_ex_erreur_profilage                78  #   define d_ex_erreur_profilage                78
   #   define d_ex_enregistrement_inexistant       79
   #   define d_ex_clef_inexistante                80
 #endif  #endif
   
 /*  
 --------------------------------------------------------------------------------  
   Erreurs de la ligne de commande  
 --------------------------------------------------------------------------------  
 */  
   
 #ifndef RPLARGS  
 #   define d_os                                 4000  
 #   define d_os_ligne_de_commande               4001  
 #   define d_os_fichier_introuvable             4002  
 #endif  
   
 /*  /*
 ================================================================================  ================================================================================
Line 844  typedef struct descripteur_fichier Line 839  typedef struct descripteur_fichier
     unsigned long               identifiant;      unsigned long               identifiant;
   
     unsigned char               effacement;      unsigned char               effacement;
       unsigned char               type; // C (file *) ou S (sqlite *)
     unsigned char               *nom;      unsigned char               *nom;
   
     pid_t                       pid;      pid_t                       pid;
     pthread_t                   tid;      pthread_t                   tid;
   
     file                        *descripteur;      file                        *descripteur_c;
       sqlite3                     *descripteur_sqlite;
 } struct_descripteur_fichier;  } struct_descripteur_fichier;
 #endif  #endif
   
Line 1020  typedef struct descripteur_thread Line 1017  typedef struct descripteur_thread
   
     struct_objet                *argument;      struct_objet                *argument;
   
     pid_t                   pid;      pid_t                       pid;
     volatile pthread_t      tid;      volatile pthread_t          tid;
   
     pthread_t                   thread_pere;      pthread_t                   thread_pere;
   
Line 1358  typedef struct processus Line 1355  typedef struct processus
     unsigned char               autorisation_conversion_chaine;     /*Y/N*/      unsigned char               autorisation_conversion_chaine;     /*Y/N*/
     unsigned char               autorisation_empilement_programme;  /*Y/N*/      unsigned char               autorisation_empilement_programme;  /*Y/N*/
     unsigned char               autorisation_evaluation_nom;        /*Y/N*/      unsigned char               autorisation_evaluation_nom;        /*Y/N*/
       unsigned char               autorisation_nom_implicite;         /*Y/N*/
     unsigned char               evaluation_forcee;                  /*Y/N*/      unsigned char               evaluation_forcee;                  /*Y/N*/
     unsigned char               instruction_valide;                 /*Y/N*/      unsigned char               instruction_valide;                 /*Y/N*/
     unsigned char               instruction_intrinseque;            /*Y/I/N*/      unsigned char               instruction_intrinseque;            /*Y/I/N*/
Line 1701  typedef struct processus Line 1699  typedef struct processus
   
 /* Autres                                               */  /* Autres                                               */
   
       char                        *rpl_home;
   
     gsl_rng                     *generateur_aleatoire;      gsl_rng                     *generateur_aleatoire;
     const gsl_rng_type          *type_generateur_aleatoire;      const gsl_rng_type          *type_generateur_aleatoire;
   
Line 2034  void instruction_ifft(struct_processus * Line 2034  void instruction_ifft(struct_processus *
 void instruction_ift(struct_processus *s_etat_processus);  void instruction_ift(struct_processus *s_etat_processus);
 void instruction_ifte(struct_processus *s_etat_processus);  void instruction_ifte(struct_processus *s_etat_processus);
 void instruction_im(struct_processus *s_etat_processus);  void instruction_im(struct_processus *s_etat_processus);
   void instruction_implicit(struct_processus *s_etat_processus);
 void instruction_in(struct_processus *s_etat_processus);  void instruction_in(struct_processus *s_etat_processus);
 void instruction_incr(struct_processus *s_etat_processus);  void instruction_incr(struct_processus *s_etat_processus);
 void instruction_indep(struct_processus *s_etat_processus);  void instruction_indep(struct_processus *s_etat_processus);
Line 2523  complex16 sommation_vecteur_complexe(com Line 2524  complex16 sommation_vecteur_complexe(com
 */  */
   
 #ifndef RPLARGS  #ifndef RPLARGS
 int rplinit(int argc, char *argv[], unsigned char ***resultats);  int rplinit(int argc, char *argv[], unsigned char ***resultats, char *rpl_home);
 #endif  #endif
   
 /*  /*
Line 2626  logical1 analyse_syntaxique(struct_proce Line 2627  logical1 analyse_syntaxique(struct_proce
 logical1 caracteristiques_fichier(struct_processus *s_etat_processus,  logical1 caracteristiques_fichier(struct_processus *s_etat_processus,
         unsigned char *nom, logical1 *existence, logical1 *ouverture,          unsigned char *nom, logical1 *existence, logical1 *ouverture,
         unsigned long *unite);          unsigned long *unite);
   logical1 controle(struct_processus *s_etat_processus, unsigned char *fichier,
           unsigned char *type, unsigned char *somme_candidate);
 logical1 creation_variable(struct_processus *s_etat_processus,  logical1 creation_variable(struct_processus *s_etat_processus,
         struct_variable *s_variable,          struct_variable *s_variable,
         unsigned char autorisation_creation_variable_statique,          unsigned char autorisation_creation_variable_statique,
Line 2645  logical1 empilement_pile_last(struct_pro Line 2648  logical1 empilement_pile_last(struct_pro
         unsigned long nombre_arguments);          unsigned long nombre_arguments);
 logical1 evaluation(struct_processus *s_etat_processus, struct_objet *s_objet,  logical1 evaluation(struct_processus *s_etat_processus, struct_objet *s_objet,
         unsigned char type_evaluation);          unsigned char type_evaluation);
   logical1 initialisation_fichier_acces_direct(struct_processus *s_etat_processus,
           sqlite3 *sqlite, logical1 binaire);
   logical1 initialisation_fichier_acces_indexe(struct_processus *s_etat_processus,
           sqlite3 *sqlite, integer8 position_clef, logical1 binaire);
 logical1 recherche_instruction_suivante(struct_processus *s_etat_processus);  logical1 recherche_instruction_suivante(struct_processus *s_etat_processus);
 logical1 retrait_variable(struct_processus *s_etat_processus,  logical1 retrait_variable(struct_processus *s_etat_processus,
         unsigned char *nom_variable, unsigned char type);          unsigned char *nom_variable, unsigned char type);
Line 2767  struct_processus *copie_etat_processus(s Line 2774  struct_processus *copie_etat_processus(s
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Fonctions renvoyant un pointeur sur un fichier (file *)    Fonctions renvoyant un pointeur sur un fichier (file *) ou un descripteur
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
 #ifndef RPLARGS  #ifndef RPLARGS
 file *creation_fichier_tex(struct_processus *s_etat_processus);  file *creation_fichier_tex(struct_processus *s_etat_processus);
 file *descripteur_fichier(struct_processus *s_etat_processus,  struct_descripteur_fichier *descripteur_fichier(struct_processus
         struct_fichier *s_fichier);          *s_etat_processus, struct_fichier *s_fichier);
 #endif  #endif
   
 /*  /*

Removed from v.1.12  
changed lines
  Added in v.1.21


CVSweb interface <joel.bertrand@systella.fr>