version 1.179, 2012/10/03 14:53:12
|
version 1.185, 2012/12/13 16:59:43
|
Line 1553 typedef struct variable_partage
|
Line 1553 typedef struct variable_partage
|
union_position_variable variable_partagee; |
union_position_variable variable_partagee; |
|
|
struct_objet *objet; |
struct_objet *objet; |
} struct_variable_partagee; |
|
|
|
typedef struct table_variables_partagees |
|
{ |
|
pthread_mutex_t mutex; |
|
|
|
volatile struct_variable_partagee *table; |
pthread_mutex_t mutex; |
|
} struct_variable_partagee; |
volatile unsigned long nombre_variables; |
|
volatile unsigned long nombre_variables_allouees; |
|
|
|
unsigned long position_variable; |
|
} struct_table_variables_partagees; |
|
|
|
#endif |
#endif |
|
|
Line 1748 typedef struct arbre_variables
|
Line 1738 typedef struct arbre_variables
|
|
|
struct liste_variables *feuille; |
struct liste_variables *feuille; |
struct liste_variables_statiques *feuille_statique; |
struct liste_variables_statiques *feuille_statique; |
|
struct liste_variables_partagees **feuille_partagee; |
|
|
|
pthread_mutex_t mutex_feuille_partagee; |
} struct_arbre_variables; |
} struct_arbre_variables; |
|
|
|
#define INITIALISATION_MUTEX(mutex) \ |
|
do { \ |
|
pthread_mutexattr_t attributs_mutex; \ |
|
pthread_mutexattr_init(&attributs_mutex); \ |
|
pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); \ |
|
pthread_mutex_init(&(mutex), &attributs_mutex); \ |
|
pthread_mutexattr_destroy(&attributs_mutex); \ |
|
} while(0) |
|
|
typedef struct tableau_variables |
typedef struct tableau_variables |
{ |
{ |
unsigned char origine; |
unsigned char origine; |
Line 1761 typedef struct tableau_variables
|
Line 1763 typedef struct tableau_variables
|
// de l'objet. |
// de l'objet. |
|
|
logical1 variable_verrouillee; |
logical1 variable_verrouillee; |
|
logical1 variable_masquee; |
union_position_variable variable_statique; |
union_position_variable variable_statique; |
union_position_variable variable_partagee; |
union_position_variable variable_partagee; |
} struct_tableau_variables; |
} struct_tableau_variables; |
|
|
|
// La liste des variables est une liste doublement chaînée et circulaire. |
typedef struct liste_variables |
typedef struct liste_variables |
{ |
{ |
union |
union |
Line 1781 typedef struct liste_variables
|
Line 1785 typedef struct liste_variables
|
struct liste_variables *precedent; |
struct liste_variables *precedent; |
} struct_liste_variables; |
} struct_liste_variables; |
|
|
|
// La liste des variables statiques et une liste double chaînée et non |
|
// circulaire. |
typedef struct liste_variables_statiques |
typedef struct liste_variables_statiques |
{ |
{ |
struct liste_variables_statiques *suivant; |
struct liste_variables_statiques *suivant; |
|
struct liste_variables_statiques *precedent; |
|
struct liste_variables_statiques *reference; |
|
struct_arbre_variables *feuille; |
struct_variable_statique *variable; |
struct_variable_statique *variable; |
} struct_liste_variables_statiques; |
} struct_liste_variables_statiques; |
|
|
|
typedef struct liste_variables_partagees |
|
{ |
|
struct liste_variables_partagees *suivant; |
|
struct liste_variables_partagees *precedent; |
|
struct liste_variables_partagees *reference; |
|
struct_arbre_variables *feuille; |
|
struct_variable_partagee *variable; |
|
} struct_liste_variables_partagees; |
#endif |
#endif |
|
|
/* |
/* |
Line 1875 typedef struct processus
|
Line 1893 typedef struct processus
|
logical1 presence_fusible; |
logical1 presence_fusible; |
pthread_t thread_fusible; |
pthread_t thread_fusible; |
pthread_t thread_surveille_par_fusible; |
pthread_t thread_surveille_par_fusible; |
|
pthread_t thread_signaux; |
|
int pipe_signaux[2]; |
|
|
volatile int pointeur_signal_ecriture; |
volatile int pointeur_signal_ecriture; |
volatile int pointeur_signal_lecture; |
volatile int pointeur_signal_lecture; |
Line 1901 typedef struct processus
|
Line 1921 typedef struct processus
|
|
|
struct_arbre_variables *s_arbre_variables; |
struct_arbre_variables *s_arbre_variables; |
struct_liste_variables *l_liste_variables_par_niveau; |
struct_liste_variables *l_liste_variables_par_niveau; |
|
struct_liste_variables_statiques |
|
*l_liste_variables_statiques; |
|
struct_liste_variables_partagees |
|
*l_liste_variables_partagees; |
|
|
logical1 niveau_supprime; |
logical1 niveau_supprime; |
|
|
struct_variable *pointeur_variable_courante; |
struct_variable *pointeur_variable_courante; |
struct_liste_variables *pointeur_feuille_courante; |
struct_liste_variables *pointeur_feuille_courante; |
|
struct_variable_statique *pointeur_variable_statique_courante; |
|
struct_variable_partagee *pointeur_variable_partagee_courante; |
|
|
int *pointeurs_caracteres_variables; |
int *pointeurs_caracteres_variables; |
int nombre_caracteres_variables; |
int nombre_caracteres_variables; |
|
|
struct_variable_statique *s_liste_variables_statiques; |
|
unsigned long nombre_variables_statiques; |
|
unsigned long nombre_variables_statiques_allouees; |
|
|
|
struct_table_variables_partagees |
|
*s_liste_variables_partagees; |
|
|
|
unsigned long niveau_courant; |
unsigned long niveau_courant; |
unsigned long niveau_initial; |
unsigned long niveau_initial; |
unsigned long position_variable_statique_courante; |
|
|
|
logical1 creation_variables_statiques; |
logical1 creation_variables_statiques; |
logical1 creation_variables_partagees; |
logical1 creation_variables_partagees; |
Line 3000 void scrutation_interruptions(struct_pro
|
Line 3019 void scrutation_interruptions(struct_pro
|
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); |
void swap(void *variable_1, void *variable_2, unsigned long taille_octets); |
void swap(void *variable_1, void *variable_2, unsigned long taille_octets); |
|
void *thread_signaux(void *argument); |
void trace(struct_processus *s_etat_processus, FILE *flux); |
void trace(struct_processus *s_etat_processus, FILE *flux); |
void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus); |
void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus); |
void traitement_exceptions_gsl(const char *reason, const char *file, |
void traitement_exceptions_gsl(const char *reason, const char *file, |
Line 3169 unsigned char *transliteration(struct_pr
|
Line 3189 unsigned char *transliteration(struct_pr
|
|
|
#ifndef RPLARGS |
#ifndef RPLARGS |
logical1 analyse_syntaxique(struct_processus *s_etat_processus); |
logical1 analyse_syntaxique(struct_processus *s_etat_processus); |
|
logical1 arret_thread_signaux(struct_processus *s_etat_processus); |
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); |
Line 3199 logical1 initialisation_fichier_acces_di
|
Line 3220 logical1 initialisation_fichier_acces_di
|
sqlite3 *sqlite, logical1 binaire); |
sqlite3 *sqlite, logical1 binaire); |
logical1 initialisation_fichier_acces_indexe(struct_processus *s_etat_processus, |
logical1 initialisation_fichier_acces_indexe(struct_processus *s_etat_processus, |
sqlite3 *sqlite, integer8 position_clef, logical1 binaire); |
sqlite3 *sqlite, integer8 position_clef, logical1 binaire); |
|
logical1 lancement_thread_signaux(struct_processus *s_etat_processus); |
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); |
logical1 retrait_variable_par_niveau(struct_processus *s_etat_processus); |
logical1 retrait_variables_par_niveau(struct_processus *s_etat_processus); |
logical1 retrait_variable_partagee(struct_processus *s_etat_processus, |
logical1 retrait_variable_partagee(struct_processus *s_etat_processus, |
unsigned char *nom_variable, union_position_variable position); |
unsigned char *nom_variable, union_position_variable position); |
|
logical1 retrait_variables_statiques_locales( |
|
struct_processus *s_etat_processus); |
logical1 retrait_variable_statique(struct_processus *s_etat_processus, |
logical1 retrait_variable_statique(struct_processus *s_etat_processus, |
unsigned char *nom_variable, union_position_variable position); |
unsigned char *nom_variable, union_position_variable position); |
logical1 sequenceur(struct_processus *s_etat_processus); |
logical1 sequenceur(struct_processus *s_etat_processus); |
Line 3232 logical1 recherche_variable_globale(stru
|
Line 3256 logical1 recherche_variable_globale(stru
|
logical1 recherche_variable_partagee(struct_processus *s_etat_processus, |
logical1 recherche_variable_partagee(struct_processus *s_etat_processus, |
unsigned char *nom_variable, union_position_variable position, |
unsigned char *nom_variable, union_position_variable position, |
unsigned char origine); |
unsigned char origine); |
logical1 recherche_variable_statique(struct_processus *s_etat_processus, |
|
unsigned char *nom_variable, union_position_variable position, |
|
unsigned char origine); |
|
logical1 test_cfsf(struct_processus *s_etat_processus, |
logical1 test_cfsf(struct_processus *s_etat_processus, |
unsigned char indice_drapeau); |
unsigned char indice_drapeau); |
logical1 test_expression_rpn(unsigned char *chaine); |
logical1 test_expression_rpn(unsigned char *chaine); |
Line 3365 struct_objet *parametres_sql(struct_proc
|
Line 3386 struct_objet *parametres_sql(struct_proc
|
struct_objet *s_parametres); |
struct_objet *s_parametres); |
struct_objet *simplification(struct_processus *s_etat_processus, |
struct_objet *simplification(struct_processus *s_etat_processus, |
struct_objet *s_objet); |
struct_objet *s_objet); |
|
|
|
struct_arbre_variables *allocation_noeud(struct_processus *s_etat_processus); |
|
struct_arbre_variables **allocation_tableau_noeuds( |
|
struct_processus *s_etat_processus); |
|
|
|
/* |
|
-------------------------------------------------------------------------------- |
|
Fonctions renvoyant un pointeur sur une *struct_liste_variables_statiques |
|
-------------------------------------------------------------------------------- |
|
*/ |
|
|
|
struct_liste_variables_statiques *recherche_variable_statique(struct_processus |
|
*s_etat_processus, unsigned char *nom_variable, |
|
union_position_variable position, |
|
unsigned char origine); |
#endif |
#endif |
|
|
/* |
/* |
Line 3419 void f77multiplicationci_(complex16 *ca,
|
Line 3455 void f77multiplicationci_(complex16 *ca,
|
void f77multiplicationcr_(complex16 *ca, real8 *rb, complex16 *resultat); |
void f77multiplicationcr_(complex16 *ca, real8 *rb, complex16 *resultat); |
|
|
void f77puissancecc_(complex16 *ca, complex16 *cb, complex16 *resultat); |
void f77puissancecc_(complex16 *ca, complex16 *cb, complex16 *resultat); |
void f77puissanceci_(complex16 *ca, integer8 *ib, complex16 *resultat, |
void f77puissanceci_(complex16 *ca, integer8 *ib, complex16 *resultat); |
integer4 *troncature); |
|
void f77puissancecr_(complex16 *ca, real8 *rb, complex16 *resultat); |
void f77puissancecr_(complex16 *ca, real8 *rb, complex16 *resultat); |
void f77puissanceic_(integer8 *ia, complex16 *cb, complex16 *resultat); |
void f77puissanceic_(integer8 *ia, complex16 *cb, complex16 *resultat); |
void f77puissanceii_(integer8 *ia, integer8 *ib, integer8 *resultat); |
void f77puissanceii_(integer8 *ia, integer8 *ib, integer8 *resultat); |
void f77puissanceir_(integer8 *ia, real8 *rb, real8 *resultat); |
void f77puissanceir_(integer8 *ia, real8 *rb, real8 *resultat); |
void f77puissancerc_(real8 *ra, complex16 *cb, complex16 *resultat); |
void f77puissancerc_(real8 *ra, complex16 *cb, complex16 *resultat); |
void f77puissanceri_(real8 *ra, integer8 *ib, real8 *resultat, |
void f77puissanceri_(real8 *ra, integer8 *ib, real8 *resultat); |
integer4 *troncature); |
|
void f77puissancerr_(real8 *ra, real8 *rb, real8 *resultat); |
void f77puissancerr_(real8 *ra, real8 *rb, real8 *resultat); |
|
|
void f77racinecarreec_(complex16 *ca, complex16 *resultat); |
void f77racinecarreec_(complex16 *ca, complex16 *resultat); |