version 1.9, 2010/02/28 14:47:14
|
version 1.18, 2010/03/17 14:14:37
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.11 |
RPL/2 (R) version 4.0.13 |
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 22
|
Line 22
|
|
|
#ifndef INCLUSION_RPL |
#ifndef INCLUSION_RPL |
#define INCLUSION_RPL |
#define INCLUSION_RPL |
|
|
#define _GNU_SOURCE |
#define _GNU_SOURCE |
|
#define _REENTRANT |
|
|
|
// Nécessaire pour les systèmes qui ne comprennent pas _GNU_SOURCE |
|
#define _XOPEN_SOURCE 500 |
|
|
/* |
/* |
================================================================================ |
================================================================================ |
Line 37
|
Line 42
|
#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 70
|
Line 76
|
# 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 479 void debug_memoire_retrait(void *ptr);
|
Line 488 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 |
#endif |
#endif |
|
|
/* |
/* |
Line 611 void debug_memoire_retrait(void *ptr);
|
Line 621 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 839 typedef struct descripteur_fichier
|
Line 840 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 1015 typedef struct descripteur_thread
|
Line 1018 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 1415 typedef struct processus
|
Line 1418 typedef struct processus
|
pthread_t thread_fusible; |
pthread_t thread_fusible; |
pthread_t thread_surveille_par_fusible; |
pthread_t thread_surveille_par_fusible; |
|
|
|
# ifndef Cygwin |
stack_t pile_signal; |
stack_t pile_signal; |
|
# else |
|
# define SA_ONSTACK 0 |
|
# define RTLD_LOCAL 0 |
|
# endif |
|
|
/* Contextes */ |
/* Contextes */ |
|
|
Line 1691 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 2513 complex16 sommation_vecteur_complexe(com
|
Line 2523 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 2616 logical1 analyse_syntaxique(struct_proce
|
Line 2626 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 2635 logical1 empilement_pile_last(struct_pro
|
Line 2647 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 2757 struct_processus *copie_etat_processus(s
|
Line 2773 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 |
|
|
/* |
/* |