Diff for /rpl/src/rpl.h between versions 1.128 and 1.150

version 1.128, 2011/09/20 08:56:24 version 1.150, 2011/12/01 15:23:49
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.3    RPL/2 (R) version 4.1.5
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 43 Line 43
 #ifdef OS2  #ifdef OS2
 #   ifndef __RPLCAS  #   ifndef __RPLCAS
 #       define _BSD_SOURCE  #       define _BSD_SOURCE
 #       define _XOPEN_SOURCE    600  
 #   endif  #   endif
   
 #   include <types.h>  #   include <types.h>
Line 92 Line 91
 #   include <dlfcn.h>  #   include <dlfcn.h>
 #   include <fcntl.h>  #   include <fcntl.h>
 #   include <pthread.h>  #   include <pthread.h>
   #   include <regex.h>
   
 #   ifdef OS2  #   ifdef OS2
 #       undef pthread_mutexattr_settype  #       undef pthread_mutexattr_settype
Line 99 Line 99
 #   endif  #   endif
   
 #   include <pwd.h>  #   include <pwd.h>
 #   include <sys/shm.h>  #   ifdef SHARED_MEMORY
   #       include <sys/shm.h>
   #   endif
   
 #   ifndef __RPLCAS  #   ifndef IPCS_SYSV
 #       ifndef IPCS_SYSV  #       include <semaphore.h>
 #           include <semaphore.h>  #   else
 #       else  #       include <sys/ipc.h>
 #           include <sys/ipc.h>  #       include <sys/sem.h>
 #           include <sys/sem.h>  
   
 #           ifdef OS2  #       ifdef OS2
 #               define INCL_DOSSEMAPHORES  #           define INCL_DOSSEMAPHORES
 #               define INCL_DOSMEMMGR  #           define INCL_DOSMEMMGR
 #               define INCL_DOSERRORS  #           define INCL_DOSERRORS
 #               include <os2.h>  #           include <os2.h>
   
                 typedef struct _OS2SEM              typedef struct _OS2SEM
                 {              {
                     HMTX    hmtx;                  HMTX    hmtx;
                     HEV     hev;                  HEV     hev;
                     ULONG   shared;                  ULONG   shared;
                     ULONG   *cnt;                  ULONG   *cnt;
                     ULONG   *nopened;                  ULONG   *nopened;
                     ULONG   allocated;                  ULONG   allocated;
                 } sem_t;              } sem_t;
 #           else // IPCS_SYSV  #       else // IPCS_SYSV
                 typedef struct              typedef struct
                 {              {
                     int             sem;                  int             sem;
                     int             alloue;                  int             alloue;
                     unsigned char   *path;                  unsigned char   *path;
                     pid_t           pid;                  pid_t           pid;
                 } sem_t;                  pthread_t       tid;
 #           endif              } sem_t;
   
 #           ifndef SEM_FAILED  
 #               define SEM_FAILED   NULL  
 #           endif  
   
             sem_t *sem_open_SysV(const char *nom, int oflag, ...);  
             int sem_init_SysV(sem_t *sem, int shared, unsigned int value);  
             int sem_close_SysV(sem_t *sem);  
             int sem_wait_SysV(sem_t *sem);  
             int sem_trywait_SysV(sem_t *sem);  
             int sem_post_SysV(sem_t *sem);  
             int sem_getvalue_SysV(sem_t *sem, int *value);  
             int sem_unlink_SysV(const char *nom);  
             int sem_destroy_SysV(sem_t *sem);  
 #       endif  #       endif
   
   #       ifndef SEM_FAILED
   #           define SEM_FAILED   NULL
   #       endif
   
           sem_t *sem_open_SysV(const char *nom, int oflag, ...);
           int sem_init_SysV(sem_t *sem, int shared, unsigned int value);
           int sem_close_SysV(sem_t *sem);
           int sem_wait_SysV(sem_t *sem);
           int sem_trywait_SysV(sem_t *sem);
           int sem_post_SysV(sem_t *sem);
           int sem_getvalue_SysV(sem_t *sem, int *value);
           int sem_unlink_SysV(const char *nom);
           int sem_destroy_SysV(sem_t *sem);
 #   endif  #   endif
   
 #   include <setjmp.h>  #   include <setjmp.h>
Line 163 Line 164
   
 #   include "openssl/evp.h"  #   include "openssl/evp.h"
 #   include "sqlite3.h"  #   include "sqlite3.h"
   #   include "sigsegv.h"
   #   ifdef OS2
           // Bug de libsigsegv
   #       undef HAVE_STACK_OVERFLOW_RECOVERY
   #   endif
   
 #   define HAVE_INLINE  #   define HAVE_INLINE
 #   define GSL_RANGE_CHECK_OFF  #   define GSL_RANGE_CHECK_OFF
Line 242  enum signaux_rpl Line 248  enum signaux_rpl
 // Elle est projetée dans un segment de mémoire partagée pour qu'elle soit  // Elle est projetée dans un segment de mémoire partagée pour qu'elle soit
 // accessible à la fois du père et des fils.  // accessible à la fois du père et des fils.
   
   #ifndef RPLARGS
 typedef struct queue_signaux  typedef struct queue_signaux
 {  {
 #   ifndef IPCS_SYSV  #   ifndef IPCS_SYSV
Line 262  typedef struct queue_signaux Line 269  typedef struct queue_signaux
     }                           queue[LONGUEUR_QUEUE_SIGNAUX];      }                           queue[LONGUEUR_QUEUE_SIGNAUX];
 } struct_queue_signaux;  } struct_queue_signaux;
   
 #ifndef RPLARGS  
 #   ifndef MAIN_RPL  #   ifndef MAIN_RPL
         extern struct_queue_signaux         *s_queue_signaux;          extern struct_queue_signaux         *s_queue_signaux;
         extern int                          f_queue_signaux;          extern int                          f_queue_signaux;
Line 278  typedef struct queue_signaux Line 284  typedef struct queue_signaux
 #   endif  #   endif
 #endif  #endif
   
 #ifdef OpenBSD  
 #   ifdef PTHREAD_SCOPE_SYSTEM  
 #       undef PTHREAD_SCOPE_SYSTEM  
 #   endif  
 #   define PTHREAD_SCOPE_SYSTEM 0  
 #endif  
   
 #ifdef OS2  #ifdef OS2
 #   define readline(s) readline_wrapper(s)  #   define readline(s) readline_wrapper(s)
     unsigned char *readline_wrapper(unsigned char *s);      unsigned char *readline_wrapper(unsigned char *s);
Line 300  union semun Line 299  union semun
 };  };
 #endif  #endif
   
   #ifndef RTLD_LOCAL
   #   define RTLD_LOCAL       0
   #endif
   
   #ifndef SIGSTKSZ
   #   define SIGSTKSZ         65536
   #endif
   
 /*  /*
 ================================================================================  ================================================================================
Line 332  union semun Line 338  union semun
 //  SIGINT  //  SIGINT
 //  SIGTSTP  //  SIGTSTP
 //  SIGCONT  //  SIGCONT
 //  SIGURG  
 //  SIGPIPE  //  SIGPIPE
 //  SIGALRM  //  SIGUSR1 et SIGUSR2 sont utilisé par libsigsegv.
   
 #   define SIGTEST                  SIGUSR1  #   define SIGTEST                  SIGUSR1
   
Line 404  typedef unsigned char   t_8_bits; Line 409  typedef unsigned char   t_8_bits;
 #   endif  #   endif
   
 #   ifndef MAIN_RPL  #   ifndef MAIN_RPL
         extern jmp_buf              contexte;          extern jmp_buf              contexte_ecriture;
           extern jmp_buf              contexte_impression;
         extern jmp_buf              contexte_initial;          extern jmp_buf              contexte_initial;
         extern jmp_buf              contexte_processus;          extern jmp_buf              contexte_processus;
         extern jmp_buf              contexte_thread;          extern jmp_buf              contexte_thread;
Line 425  typedef unsigned char   t_8_bits; Line 431  typedef unsigned char   t_8_bits;
             *              *
 #       endif  #       endif
                                     semaphore_gestionnaires_signaux;                                      semaphore_gestionnaires_signaux;
   
           extern volatile int         routine_recursive;
 #   else  #   else
         jmp_buf                     contexte;          jmp_buf                     contexte_ecriture;
           jmp_buf                     contexte_impression;
         jmp_buf                     contexte_initial;          jmp_buf                     contexte_initial;
         jmp_buf                     contexte_processus;          jmp_buf                     contexte_processus;
         jmp_buf                     contexte_thread;          jmp_buf                     contexte_thread;
Line 450  typedef unsigned char   t_8_bits; Line 459  typedef unsigned char   t_8_bits;
             *              *
 #       endif  #       endif
                                     semaphore_gestionnaires_signaux;                                      semaphore_gestionnaires_signaux;
   
           volatile int                routine_recursive;
 #   endif  #   endif
 #endif  #endif
   
 #ifdef SEMAPHORES_NOMMES  #ifdef SEMAPHORES_NOMMES
 sem_t *sem_init2(unsigned int valeur, pid_t pid);  #define SEM_FORK            0
 int sem_destroy2(sem_t *semaphore_p, pid_t pid);  #define SEM_QUEUE           1
   #define SEM_SIGNAUX         2
   sem_t *sem_init2(unsigned int valeur, pid_t pid, int ordre);
   sem_t *sem_init3(unsigned int valeur, pid_t pid, pthread_t tid, int ordre);
   int sem_destroy2(sem_t *semaphore_p, pid_t pid, int ordre);
   int sem_destroy3(sem_t *semaphore_p, pid_t pid, pthread_t tid, int ordre);
 int sem_getvalue2(sem_t *semaphore, int *valeur);  int sem_getvalue2(sem_t *semaphore, int *valeur);
 sem_t *sem_open2(pid_t pid);  sem_t *sem_open2(pid_t pid, int ordre);
   
 // Le mutex est là uniquement pour pouvoir émuler le comportement  // Le mutex est là uniquement pour pouvoir émuler le comportement
 // de sem_getvalue() sur un système comme MacOS X qui ne possède pas  // de sem_getvalue() sur un système comme MacOS X qui ne possède pas
Line 740  pid_t debug_fork(); Line 756  pid_t debug_fork();
   Erreurs système    Erreurs système
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
 #define DEBUG_ERREURS  
 #ifdef DEBUG_ERREURS  #ifdef DEBUG_ERREURS
 #   ifdef MESSAGES  #   ifdef MESSAGES
 #       define __erreur(i)  i  #       define __erreur(i)  i
Line 781  pid_t debug_fork(); Line 797  pid_t debug_fork();
 #   define d_es_contexte                        __erreur(2013)  #   define d_es_contexte                        __erreur(2013)
 #   define d_es_somme_controle                  __erreur(2014)  #   define d_es_somme_controle                  __erreur(2014)
 #   define d_es_semaphore                       __erreur(2015)  #   define d_es_semaphore                       __erreur(2015)
   #   define d_es_mutex_acquis_autre_thread       __erreur(2016)
 #endif  #endif
   
 /*  /*
Line 919  pid_t debug_fork(); Line 936  pid_t debug_fork();
 #   define d_ex_version_bibliotheque            __erreur(82)  #   define d_ex_version_bibliotheque            __erreur(82)
 #   define d_ex_creation_variable_globale       __erreur(83)  #   define d_ex_creation_variable_globale       __erreur(83)
 #   define d_ex_erreur_interne_rplcas           __erreur(84)  #   define d_ex_erreur_interne_rplcas           __erreur(84)
   #   define d_ex_fichier_corrompu                __erreur(85)
   #   define d_ex_mutex_acquis_autre_thread       __erreur(86)
   #   define d_ex_expression_reguliere            __erreur(87)
 #endif  #endif
   
   
Line 1106  typedef struct fichier Line 1126  typedef struct fichier
 typedef struct rpl_mutex  typedef struct rpl_mutex
 {  {
     pthread_mutex_t     mutex;      pthread_mutex_t     mutex;
       pthread_t           tid;
 } struct_mutex;  } struct_mutex;
 #endif  #endif
   
Line 1816  typedef struct processus Line 1837  typedef struct processus
     pthread_t                   thread_fusible;      pthread_t                   thread_fusible;
     pthread_t                   thread_surveille_par_fusible;      pthread_t                   thread_surveille_par_fusible;
   
 #   if !defined(Cygwin)  
 #       if !(OpenBSD)  
             stack_t             pile_signal;  
 #       else  
 #           ifdef SA_ONSTACK  
 #               undef SA_ONSTACK  
 #           endif  
 #           define SA_ONSTACK   0  
 #       endif  
 #   else  
 #       define SA_ONSTACK       0  
 #       define RTLD_LOCAL       0  
 #   endif  
   
     volatile int                pointeur_signal_ecriture;      volatile int                pointeur_signal_ecriture;
     volatile int                pointeur_signal_lecture;      volatile int                pointeur_signal_lecture;
     volatile enum signaux_rpl   signaux_en_queue[LONGUEUR_QUEUE_SIGNAUX];      volatile enum signaux_rpl   signaux_en_queue[LONGUEUR_QUEUE_SIGNAUX];
Line 2050  typedef struct processus Line 2057  typedef struct processus
   
 /* Traitement des erreurs                               */  /* Traitement des erreurs                               */
   
     unsigned int                compteur_violation_d_acces;  
     unsigned int                erreur_compilation;      unsigned int                erreur_compilation;
     unsigned int                erreur_execution;      unsigned int                erreur_execution;
     unsigned int                erreur_systeme;      unsigned int                erreur_systeme;
Line 2178  typedef struct processus Line 2184  typedef struct processus
     pthread_mutex_t             mutex_allocation;      pthread_mutex_t             mutex_allocation;
   
     // Mutex autorisant les fork()      // Mutex autorisant les fork()
     sem_t                       semaphore_fork;      sem_t
   #   ifdef SEMAPHORES_NOMMES
           *
   #   endif
                                   semaphore_fork;
   
 /* Mutexes                                          */  /* Mutexes                                          */
   
     struct_liste_chainee        *liste_mutexes;      struct_liste_chainee        *liste_mutexes;
     pthread_mutex_t             protection_liste_mutexes;      pthread_mutex_t             protection_liste_mutexes;
   
   /* Drapeau nécessaire à RESTART                 */
   
       volatile logical1           requete_redemarrage;
   
 /* Gestion optimisée de la mémoire                  */  /* Gestion optimisée de la mémoire                  */
   
     double                      estimation_taille_pile_tampon;      double                      estimation_taille_pile_tampon;
Line 2628  void instruction_read(struct_processus * Line 2642  void instruction_read(struct_processus *
 void instruction_recode(struct_processus *s_etat_processus);  void instruction_recode(struct_processus *s_etat_processus);
 void instruction_recv(struct_processus *s_etat_processus);  void instruction_recv(struct_processus *s_etat_processus);
 void instruction_redraw(struct_processus *s_etat_processus);  void instruction_redraw(struct_processus *s_etat_processus);
   void instruction_regex(struct_processus *s_etat_processus);
 void instruction_relax(struct_processus *s_etat_processus);  void instruction_relax(struct_processus *s_etat_processus);
 void instruction_remove(struct_processus *s_etat_processus);  void instruction_remove(struct_processus *s_etat_processus);
 void instruction_res(struct_processus *s_etat_processus);  void instruction_res(struct_processus *s_etat_processus);
   void instruction_restart(struct_processus *s_etat_processus);
 void instruction_recall(struct_processus *s_etat_processus);  void instruction_recall(struct_processus *s_etat_processus);
 void instruction_regv(struct_processus *s_etat_processus);  void instruction_regv(struct_processus *s_etat_processus);
 void instruction_repeat(struct_processus *s_etat_processus);  void instruction_repeat(struct_processus *s_etat_processus);
Line 2823  void appel_gnuplot(struct_processus *s_e Line 2839  void appel_gnuplot(struct_processus *s_e
 void cf(struct_processus *s_etat_processus, unsigned char indice_drapeau);  void cf(struct_processus *s_etat_processus, unsigned char indice_drapeau);
 void cond(struct_processus *s_etat_processus,  void cond(struct_processus *s_etat_processus,
         struct_matrice *s_matrice, real8 *condition);          struct_matrice *s_matrice, real8 *condition);
   void conversion_chaine(struct_processus *s_etat_processus,
           unsigned char *chaine, unsigned char type);
 void conversion_decimal_vers_hms(real8 *angle);  void conversion_decimal_vers_hms(real8 *angle);
 void conversion_degres_vers_radians(real8 *angle);  void conversion_degres_vers_radians(real8 *angle);
 void conversion_element_tex(unsigned char **element, unsigned char *fonction);  void conversion_element_tex(unsigned char **element, unsigned char *fonction);
Line 2898  void interruption2(int signal); Line 2916  void interruption2(int signal);
 void interruption3(int signal);  void interruption3(int signal);
 void interruption4(int signal);  void interruption4(int signal);
 void interruption5(int signal);  void interruption5(int signal);
   void interruption6(int signal);
   void interruption_depassement_pile(int urgence, stackoverflow_context_t scp);
 void inversion_matrice(struct_processus *s_etat_processus,  void inversion_matrice(struct_processus *s_etat_processus,
         struct_matrice *s_matrice);          struct_matrice *s_matrice);
 void lancement_daemon(struct_processus *s_etat_processus);  void lancement_daemon(struct_processus *s_etat_processus);
Line 2931  void retrait_thread(struct_processus *s_ Line 2951  void retrait_thread(struct_processus *s_
 void retrait_thread_surveillance(struct_processus *s_etat_processus,  void retrait_thread_surveillance(struct_processus *s_etat_processus,
         struct_descripteur_thread *s_argument_thread);          struct_descripteur_thread *s_argument_thread);
 void rplcore(struct_processus *s_etat_processus);  void rplcore(struct_processus *s_etat_processus);
   #endif
   
 void scrutation_injection(struct_processus *s_etat_processus);  void scrutation_injection(struct_processus *s_etat_processus);
   
   #ifndef RPLARGS
 void scrutation_interruptions(struct_processus *s_etat_processus);  void scrutation_interruptions(struct_processus *s_etat_processus);
 void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau);  void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau);
 void *surveillance_processus(void *argument);  void *surveillance_processus(void *argument);
Line 2994  complex16 sommation_vecteur_complexe(com Line 3018  complex16 sommation_vecteur_complexe(com
 */  */
   
 #ifndef RPLARGS  #ifndef RPLARGS
 int rplinit(int argc, char *argv[], unsigned char ***resultats, char *rpl_home);  int rplinit(int argc, char *argv[], char *envp[],
           unsigned char ***resultats, char *rpl_home);
 #endif  #endif
   
 /*  /*
Line 3058  unsigned char *compactage(unsigned char Line 3083  unsigned char *compactage(unsigned char
 unsigned char *conversion_majuscule(unsigned char *chaine);  unsigned char *conversion_majuscule(unsigned char *chaine);
 unsigned char *creation_nom_fichier(struct_processus *s_etat_processus,  unsigned char *creation_nom_fichier(struct_processus *s_etat_processus,
         unsigned char *chemin);          unsigned char *chemin);
   unsigned char *date_compilation();
 unsigned char *extraction_chaine(unsigned char *chaine, unsigned long i,  unsigned char *extraction_chaine(unsigned char *chaine, unsigned long i,
         unsigned long j);          unsigned long j);
 unsigned char *formateur(struct_processus *s_etat_processus, long offset,  unsigned char *formateur(struct_processus *s_etat_processus, long offset,
Line 3071  unsigned char *formateur_flux(struct_pro Line 3097  unsigned char *formateur_flux(struct_pro
 unsigned char *formateur_fichier_nombre(struct_processus *s_etat_processus,  unsigned char *formateur_fichier_nombre(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type,          void *valeur_numerique, unsigned char type,
         long longueur, long longueur_champ, unsigned char format);          long longueur, long longueur_champ, unsigned char format);
   unsigned char *formateur_fichier_binaire_nombre(struct_processus
           *s_etat_processus, void *valeur_numerique, unsigned char type,
           long longueur, long *longueur_conversion);
 unsigned char *formateur_fichier_reel(struct_processus *s_etat_processus,  unsigned char *formateur_fichier_reel(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type,          void *valeur_numerique, unsigned char type,
         long longueur, long longueur_champ, unsigned char format);          long longueur, long longueur_champ, unsigned char format);
Line 3079  unsigned char *formateur_nombre(struct_p Line 3108  unsigned char *formateur_nombre(struct_p
 unsigned char *formateur_reel(struct_processus *s_etat_processus,  unsigned char *formateur_reel(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type);          void *valeur_numerique, unsigned char type);
 unsigned char *messages(struct_processus *s_etat_processus);  unsigned char *messages(struct_processus *s_etat_processus);
   unsigned char *pointeur_ieme_caractere(struct_processus *s_etat_processus,
           unsigned char *chaine, integer8 position);
 unsigned char *purification_chaine(unsigned char *chaine);  unsigned char *purification_chaine(unsigned char *chaine);
 unsigned char *reencodage(struct_processus *s_etat_processus,  unsigned char *reencodage(struct_processus *s_etat_processus,
         unsigned char *chaine_entree, unsigned char *codage_entree,          unsigned char *chaine_entree, unsigned char *codage_entree,
Line 3101  logical1 caracteristiques_fichier(struct Line 3132  logical1 caracteristiques_fichier(struct
         unsigned long *unite);          unsigned long *unite);
 logical1 controle(struct_processus *s_etat_processus, unsigned char *fichier,  logical1 controle(struct_processus *s_etat_processus, unsigned char *fichier,
         unsigned char *type, unsigned char *somme_candidate);          unsigned char *type, unsigned char *somme_candidate);
   logical1 controle_integrite(struct_processus *s_etat_processus,
           unsigned char *executable_candidat, unsigned char *executable);
 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 3164  logical1 test_cfsf(struct_processus *s_e Line 3197  logical1 test_cfsf(struct_processus *s_e
         unsigned char indice_drapeau);          unsigned char indice_drapeau);
 logical1 test_expression_rpn(unsigned char *chaine);  logical1 test_expression_rpn(unsigned char *chaine);
 logical1 test_fonction(unsigned char *chaine);  logical1 test_fonction(unsigned char *chaine);
   logical1 validation_chaine(unsigned char *chaine);
 #endif  #endif
   
 /*  /*
Line 3186  ssize_t write_atomic(struct_processus *s Line 3220  ssize_t write_atomic(struct_processus *s
 */  */
   
 int alsprintf(unsigned char **strp, const char *fmt, ...);  int alsprintf(unsigned char **strp, const char *fmt, ...);
   int interruption_violation_access(void *adresse_fautive, int gravite);
   #ifndef RPLARGS
 int liste_variables(struct_processus *s_etat_processus,  int liste_variables(struct_processus *s_etat_processus,
         struct_tableau_variables *tableau, int position,          struct_tableau_variables *tableau, int position,
         struct_arbre_variables *l_element_courant);          struct_arbre_variables *l_element_courant);
 int nombre_variables(struct_processus *s_etat_processus,  int nombre_variables(struct_processus *s_etat_processus,
         struct_arbre_variables *l_element_courant);          struct_arbre_variables *l_element_courant);
   #endif
 int tex_fprintf(struct_processus *s_etat_processus,  int tex_fprintf(struct_processus *s_etat_processus,
         file *flux, const char *format, ...);          file *flux, const char *format, ...);
 int transliterated_fprintf(struct_processus *s_etat_processus, file *flux,  int transliterated_fprintf(struct_processus *s_etat_processus, file *flux,
Line 3207  int wrapper_instruction_intrinseque(void Line 3244  int wrapper_instruction_intrinseque(void
   
 #ifndef RPLARGS  #ifndef RPLARGS
 unsigned char longueur_entiers_binaires(struct_processus *s_etat_processus);  unsigned char longueur_entiers_binaires(struct_processus *s_etat_processus);
 unsigned char recherche_longueur_optimale(integer8 parametre);  
 #endif  #endif
   
 /*  /*
Line 3228  logical8 masque_entiers_binaires(struct_ Line 3264  logical8 masque_entiers_binaires(struct_
   
 #ifndef RPLARGS  #ifndef RPLARGS
 integer8 occupation_memoire(struct_objet *s_objet);  integer8 occupation_memoire(struct_objet *s_objet);
   integer8 longueur_chaine(struct_processus *s_etat_processus,
           unsigned char *chaine);
   integer8 position_caractere_de_chaine(struct_processus *s_etat_processus,
           unsigned char *chaine, unsigned char *position);
 #endif  #endif
   
 /*  /*
Line 3272  struct_descripteur_fichier *descripteur_ Line 3312  struct_descripteur_fichier *descripteur_
 struct_objet *copie_objet(struct_processus *s_etat_processus,  struct_objet *copie_objet(struct_processus *s_etat_processus,
         struct_objet *s_objet, unsigned char type);          struct_objet *s_objet, unsigned char type);
   
 #ifndef RPLARGS  
 struct_objet *allocation(struct_processus *s_etat_processus, enum t_type type);  struct_objet *allocation(struct_processus *s_etat_processus, enum t_type type);
   #ifndef RPLARGS
 struct_objet *formateur_date(struct_processus *s_etat_processus,  struct_objet *formateur_date(struct_processus *s_etat_processus,
         struct timeval *temps);          struct timeval *temps);
 struct_objet *lecture_pipe(struct_processus *s_etat_processus, int pipe);  struct_objet *lecture_pipe(struct_processus *s_etat_processus, int pipe);

Removed from v.1.128  
changed lines
  Added in v.1.150


CVSweb interface <joel.bertrand@systella.fr>