Diff for /rpl/src/rpl.h between versions 1.259 and 1.286

version 1.259, 2015/01/27 22:35:44 version 1.286, 2016/03/15 16:31:15
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.20    RPL/2 (R) version 4.1.25
   Copyright (C) 1989-2015 Dr. BERTRAND Joël    Copyright (C) 1989-2016 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 38 Line 38
 #   ifdef OpenBSD  #   ifdef OpenBSD
 #       define _BSD_SOURCE  #       define _BSD_SOURCE
 #   endif  #   endif
   
   #   ifdef FreeBSD
   #       define __BSD_VISIBLE    1
   #   endif
 #endif  #endif
   
 #ifdef OS2  #ifdef OS2
Line 60 Line 64
 #   define SA_ONSTACK   0  #   define SA_ONSTACK   0
 #endif  #endif
   
   #define DEBUG_TRACE     uprintf("[%d/%X] %s(%d)\n", \
           getpid(), pthread_self(), __FILE__, __LINE__);
   
 /*  /*
 ================================================================================  ================================================================================
Line 212 Line 218
 #       undef HAVE_STACK_OVERFLOW_RECOVERY  #       undef HAVE_STACK_OVERFLOW_RECOVERY
 #   endif  #   endif
   
 #   define HAVE_INLINE  
 #   define GSL_RANGE_CHECK_OFF  #   define GSL_RANGE_CHECK_OFF
 #   include "gsl/gsl_cdf.h"  #   include "gsl/gsl_cdf.h"
 #   include "gsl/gsl_cblas.h"  #   include "gsl/gsl_cblas.h"
Line 323  typedef struct queue_signaux Line 328  typedef struct queue_signaux
     volatile logical1           requete_arret;      volatile logical1           requete_arret;
   
     pthread_t                   thread_signaux;      pthread_t                   thread_signaux;
       pid_t                       controle;
   
     volatile struct      volatile struct
     {      {
Line 511  union semun Line 517  union semun
   
     __EXTERN__ pid_t                pid_processus_pere;      __EXTERN__ pid_t                pid_processus_pere;
   
     __EXTERN__ pthread_mutex_t      mutex_liste_threads      __EXTERN__ pthread_mutex_t      mutex_liste_threads;
                                             __STATIC_MUTEX_INITIALIZATION__;  
     __EXTERN__ pthread_mutex_t      mutex_creation_variable_partagee      __EXTERN__ pthread_mutex_t      mutex_creation_variable_partagee
                                             __STATIC_MUTEX_INITIALIZATION__;                                              __STATIC_MUTEX_INITIALIZATION__;
     __EXTERN__ pthread_mutex_t      mutex_sections_critiques;      __EXTERN__ pthread_mutex_t      mutex_sections_critiques;
Line 769  pid_t debug_fork(); Line 774  pid_t debug_fork();
 #define d_SPH                   "Semaphore $n 'name'"  #define d_SPH                   "Semaphore $n 'name'"
 #define d_TAB                   "<[ table ]>"  #define d_TAB                   "<[ table ]>"
 #define d_MTX                   "Mutex $n"  #define d_MTX                   "Mutex $n"
   #define d_REC                   "Record /'name_1', ..., 'name_n'/"
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
Line 1021  pid_t debug_fork(); Line 1027  pid_t debug_fork();
 #define NOM __RPL_NOM  #define NOM __RPL_NOM
 #define NON __RPL_NON  #define NON __RPL_NON
 #define PRC __RPL_PRC  #define PRC __RPL_PRC
   #define REC __RPL_REC
 #define REL __RPL_REL  #define REL __RPL_REL
 #define RPN __RPL_RPN  #define RPN __RPL_RPN
 #define SCK __RPL_SCK  #define SCK __RPL_SCK
Line 1035  pid_t debug_fork(); Line 1042  pid_t debug_fork();
 enum t_rplcas_commandes     { RPLCAS_INTEGRATION = 0, RPLCAS_LIMITE };  enum t_rplcas_commandes     { RPLCAS_INTEGRATION = 0, RPLCAS_LIMITE };
   
 enum t_type     { ADR = 0, ALG, BIN, CHN, CPL, FCH, FCT, INT, LST,  enum t_type     { ADR = 0, ALG, BIN, CHN, CPL, FCH, FCT, INT, LST,
                 MCX, MIN, MRL, MTX, NOM, NON, PRC, REL, RPN, SCK,                  MCX, MIN, MRL, MTX, NOM, NON, PRC, REC, REL, RPN, SCK,
                 SLB, SPH, SQL, TBL, VCX, VIN, VRL };                  SLB, SPH, SQL, TBL, VCX, VIN, VRL };
   
     /*      /*
Line 1309  typedef struct connecteur_sql Line 1316  typedef struct connecteur_sql
 */  */
   
 #ifndef RPLARGS  #ifndef RPLARGS
   
   #   define                      d_BIND_TO_DEVICE        0
   #   define                      d_BROADCAST             1
   #   define                      d_DONT_ROUTE            2
   #   define                      d_KEEP_ALIVE            3
   #   define                      d_PRIORITY              4
   #   define                      d_RECEIVE_BUFFER        5
   #   define                      d_FORCE_RECEIVE_BUFFER  6
   #   define                      d_SEND_BUFFER           7
   #   define                      d_FORCE_SEND_BUFFER     8
   #   define                      d_RECEIVING_TIMEOUT     9
   #   define                      d_SENDING_TIMEOUT       10
   #   define                      d_REUSE_ADDRESS         11
   
 typedef struct socket  typedef struct socket
 {  {
     int                         domaine;      int                         domaine;
Line 1327  typedef struct socket Line 1348  typedef struct socket
     unsigned char               protection;      unsigned char               protection;
     unsigned char               type[19 + 1];      unsigned char               type[19 + 1];
   
       integer8                    options;
       int                         priorite;
       int                         buffer_reception;
       int                         buffer_emission;
       int                         timeout_emission;
       int                         timeout_reception;
   
     struct_objet                *format;      struct_objet                *format;
 } struct_socket;  } struct_socket;
 #endif  #endif
Line 1948  typedef struct processus Line 1976  typedef struct processus
     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*/
       unsigned char               instruction_sensible;               /*Y/N*/
     unsigned char               test_instruction;                   /*Y/N*/      unsigned char               test_instruction;                   /*Y/N*/
     unsigned char               affichage_arguments;                /*Y/N*/      unsigned char               affichage_arguments;                /*Y/N*/
     unsigned char               constante_symbolique;               /*Y/N*/      unsigned char               constante_symbolique;               /*Y/N*/
Line 2357  typedef struct processus Line 2386  typedef struct processus
     struct timeval              horodatage_profilage;      struct timeval              horodatage_profilage;
   
     pthread_mutex_t             mutex_allocation;      pthread_mutex_t             mutex_allocation;
       pthread_mutex_t             mutex_allocation_buffer;
     pthread_mutex_t             mutex_interruptions;      pthread_mutex_t             mutex_interruptions;
     pthread_mutex_t             mutex_pile_processus;      pthread_mutex_t             mutex_pile_processus;
     pthread_mutex_t             mutex_signaux;      pthread_mutex_t             mutex_signaux;
Line 2391  typedef struct processus Line 2421  typedef struct processus
     integer8                    taille_pile_objets;      integer8                    taille_pile_objets;
     struct_objet                *pile_objets;      struct_objet                *pile_objets;
   
 #   define TAILLE_CACHE 1024  #   define TAILLE_CACHE         1024
 #   define CACHE(type, nom) \  #   define CACHE(type, nom) \
     type                        *objets_##nom[TAILLE_CACHE]; \      type                        *objets_##nom[TAILLE_CACHE]; \
     int                         pointeur_##nom;      volatile int                pointeur_##nom;
   
 #   define CACHE2(type, nom) \  #   define CACHE2(type, nom) \
     type                        *nom[TAILLE_CACHE]; \      type                        *nom[TAILLE_CACHE]; \
     int                         pointeur_##nom;      volatile int                pointeur_##nom;
   
     CACHE(integer8, adr)      CACHE(integer8, adr)
     CACHE(logical8, bin)      CACHE(logical8, bin)
Line 2442  void *rpl_malloc(struct_processus *s_eta Line 2472  void *rpl_malloc(struct_processus *s_eta
 void *rpl_realloc(struct_processus *s_etat_processus, void *ptr, size_t s);  void *rpl_realloc(struct_processus *s_etat_processus, void *ptr, size_t s);
 void rpl_free(struct_processus *s_etat_processus, void *ptr);  void rpl_free(struct_processus *s_etat_processus, void *ptr);
 void *sys_malloc(size_t s);  void *sys_malloc(size_t s);
   void *sys_realloc(void *ptr, size_t s);
 void sys_free(void *ptr);  void sys_free(void *ptr);
   
 /*  /*

Removed from v.1.259  
changed lines
  Added in v.1.286


CVSweb interface <joel.bertrand@systella.fr>