version 1.1, 2010/01/26 15:22:44
|
version 1.18, 2011/03/06 16:44:15
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.9 |
RPL/2 (R) version 4.0.21 |
Copyright (C) 1989-2010 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 39
|
Line 39
|
================================================================================ |
================================================================================ |
*/ |
*/ |
|
|
#define allocation(a) allocation((*rpl_arguments).s_etat_processus, a) |
#define allocation(a) librpl_allocation((*rpl_arguments).s_etat_processus, a) |
#define copie_objet(a, b) copie_objet((*rpl_arguments).s_etat_processus, a, b) |
#define copie_objet(a, b) librpl_copie_objet( \ |
#define liberation(a) liberation((*rpl_arguments).s_etat_processus, a) |
(*rpl_arguments).s_etat_processus, a, b) |
|
#define liberation(a) librpl_liberation((*rpl_arguments).s_etat_processus, a) |
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Line 193
|
Line 194
|
#define logger(...) do { syslog(LOG_NOTICE, __VA_ARGS__); } while(0) |
#define logger(...) do { syslog(LOG_NOTICE, __VA_ARGS__); } while(0) |
|
|
#define exportExternalFunctions(...) \ |
#define exportExternalFunctions(...) \ |
char **__external_symbols(unsigned long *nb_symbols) { \ |
char **__external_symbols(unsigned long *nb_symbols, \ |
|
const char *version) { \ |
char arguments[] = #__VA_ARGS__; \ |
char arguments[] = #__VA_ARGS__; \ |
char **tableau; \ |
char **tableau; \ |
char *ptr1, *ptr2; \ |
char *ptr1, *ptr2; \ |
int drapeau; \ |
int drapeau; \ |
unsigned long i; \ |
unsigned long i; \ |
|
if (strcmp(version, _d_version_rpl) != 0) \ |
|
{ \ |
|
notice(stdout, "Versions mismatch : library %s, expected %s\n", \ |
|
_d_version_rpl, version); \ |
|
(*nb_symbols) = -1; return(NULL); \ |
|
} \ |
(*nb_symbols) = 0; ptr1 = arguments; drapeau = 0; \ |
(*nb_symbols) = 0; ptr1 = arguments; drapeau = 0; \ |
while((*ptr1) != 0) \ |
while((*ptr1) != 0) \ |
{ \ |
{ \ |
Line 1035
|
Line 1043
|
|
|
#define intrinsic(function) { \ |
#define intrinsic(function) { \ |
int __status; \ |
int __status; \ |
__status = wrapper_instruction_intrinseque(instruction_##function, \ |
__status = wrapper_instruction_intrinseque( \ |
rpl_arguments); \ |
instruction_##function, rpl_arguments); \ |
if (__status == 1) executionError(#function); \ |
if (__status == 1) executionError(#function); \ |
if (__status == 2) systemError(#function); \ |
if (__status == 2) systemError(#function); \ |
} while(0) |
} while(0) |