00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _H_bload
00025 #define _H_bload
00026
00027 #ifndef _H_utility
00028 #include "utility.h"
00029 #endif
00030 #ifndef _H_extnfunc
00031 #include "extnfunc.h"
00032 #endif
00033 #ifndef _H_exprnbin
00034 #include "exprnbin.h"
00035 #endif
00036 #ifndef _H_symbol
00037 #include "symbol.h"
00038 #endif
00039 #ifndef _H_sysdep
00040 #include "sysdep.h"
00041 #endif
00042 #ifndef _H_symblbin
00043 #include "symblbin.h"
00044 #endif
00045
00046 #define BLOAD_DATA 38
00047
00048 struct bloadData
00049 {
00050 char *BinaryPrefixID;
00051 char *BinaryVersionID;
00052 struct FunctionDefinition **FunctionArray;
00053 int BloadActive;
00054 struct callFunctionItem *BeforeBloadFunctions;
00055 struct callFunctionItem *AfterBloadFunctions;
00056 struct callFunctionItem *ClearBloadReadyFunctions;
00057 struct callFunctionItem *AbortBloadFunctions;
00058 };
00059
00060 #define BloadData(theEnv) ((struct bloadData *) GetEnvironmentData(theEnv,BLOAD_DATA))
00061
00062 #ifdef LOCALE
00063 #undef LOCALE
00064 #endif
00065 #ifdef _BLOAD_SOURCE_
00066 #define LOCALE
00067 #else
00068 #define LOCALE extern
00069 #endif
00070
00071 #define FunctionPointer(i) ((struct FunctionDefinition *) (((i) == -1L) ? NULL : BloadData(theEnv)->FunctionArray[i]))
00072
00073 #define Bload(theEnv,a) EnvBload(theEnv,a)
00074
00075 LOCALE void InitializeBloadData(void *);
00076 LOCALE int BloadCommand(void *);
00077 LOCALE intBool EnvBload(void *,char *);
00078 LOCALE void BloadandRefresh(void *,long,size_t,void (*)(void *,void *,long));
00079 LOCALE intBool Bloaded(void *);
00080 LOCALE void AddBeforeBloadFunction(void *,char *,void (*)(void *),int);
00081 LOCALE void AddAfterBloadFunction(void *,char *,void (*)(void *),int);
00082 LOCALE void AddBloadReadyFunction(void *,char *,int (*)(void),int);
00083 LOCALE void AddClearBloadReadyFunction(void *,char *,int (*)(void *),int);
00084 LOCALE void AddAbortBloadFunction(void *,char *,void (*)(void *),int);
00085 LOCALE void CannotLoadWithBloadMessage(void *,char *);
00086
00087 #endif
00088