version 1.132, 2011/09/21 09:09:22
|
version 1.143, 2011/11/24 11:34:21
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.3 |
RPL/2 (R) version 4.1.4 |
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 99
|
Line 98
|
# endif |
# endif |
|
|
# include <pwd.h> |
# include <pwd.h> |
# include <sys/shm.h> |
# ifdef SHARED_MEMORY |
|
# include <sys/shm.h> |
|
# endif |
|
|
# ifndef IPCS_SYSV |
# ifndef IPCS_SYSV |
# include <semaphore.h> |
# include <semaphore.h> |
Line 163
|
Line 164
|
# include "openssl/evp.h" |
# include "openssl/evp.h" |
# include "sqlite3.h" |
# include "sqlite3.h" |
# include "sigsegv.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 247 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 268 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 283 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 339 union semun
|
Line 337 union semun
|
// SIGINT |
// SIGINT |
// SIGTSTP |
// SIGTSTP |
// SIGCONT |
// SIGCONT |
// SIGURG |
|
// SIGPIPE |
// SIGPIPE |
// SIGALRM |
|
|
|
# define SIGTEST SIGUSR1 |
# define SIGTEST SIGUSR1 |
|
|
Line 937 pid_t debug_fork();
|
Line 933 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) |
#endif |
#endif |
|
|
|
|
Line 2830 void appel_gnuplot(struct_processus *s_e
|
Line 2827 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 2939 void retrait_thread(struct_processus *s_
|
Line 2938 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 3066 unsigned char *compactage(unsigned char
|
Line 3069 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 3079 unsigned char *formateur_flux(struct_pro
|
Line 3083 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 3087 unsigned char *formateur_nombre(struct_p
|
Line 3094 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 3172 logical1 test_cfsf(struct_processus *s_e
|
Line 3181 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 3195 ssize_t write_atomic(struct_processus *s
|
Line 3205 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); |
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 3216 int wrapper_instruction_intrinseque(void
|
Line 3228 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 3237 logical8 masque_entiers_binaires(struct_
|
Line 3248 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 3281 struct_descripteur_fichier *descripteur_
|
Line 3296 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); |