XPRMloadmod, XPRMloadmodsec
XPRMloadmod, XPRMloadmodsec |
Purpose
Synopsis
XPRMmodel XPRMloadmod(const char *bname, const char *intname);
XPRMmodel XPRMloadmodsec(const char *bname, const char *intname, const char *flags, const char *passfile, const char *privkey, const char *keys);
Arguments
bname
|
Name of a binary model file
|
||||||||||||
intname
|
Internal name (may be
NULL)
|
||||||||||||
flags
|
Loading options (may be
NULL, options may be separated by spaces or
'-' symbols):
|
||||||||||||
passfile
|
Password or password file (for encrypted BIM files)
|
||||||||||||
privkey
|
Private key file (for encrypted BIM files)
|
||||||||||||
keys
|
File of public keys
|
Return value
Reference to the model that has been loaded or
NULL.
Further information
1. This function returns the reference of a new model instance created from a binary model file. The second form of the function will be used to load encrypted and/or signed BIM files if additional information has to be provided. While loading a model from a file, Mosel also automatically opens any additional modules and loads packages that are required by this model. If an internal name is provided, it is used in place of the name stored in the BIM file. If a model already existing in core memory (
i.e. with the same internal name) is loaded a second time, the first instance of this model is deleted and a reference to the newly created model is returned. If model name or provided internal name is
"*", a unique name is automatically generated using pattern
"model_\#" where
\# is a hexadecimal number. If the loaded model has no name (empty string) and no internal name is provided, string
"(none)" is used as a default.
2. Both BIM files referring to models and packages can be loaded by this function but only a model can be executed with
XPRMrunmod.
3. The argument
keys is a list of public key files (
i.e. each line of the file is a key file name): when a signed BIM file is loaded, its signature is checked with the keys listed in this file. If this argument is not specified, the signing key is searched in the default public keys directory located at
getparam("ssl_dir")+"/pubkeys".
4. When the options
"-l" or
"-h" are used only the requested file is loaded and the resulting model cannot be executed. These options are typically used to inspect the dependencies of a BIM file (see
XPRMgetnextdep).
5. If the flags have the special value
"!CLONE!", the internal name is
"*", the file name consists in a sequence of digits and all other parameters are empty this routine will interpret the file name as a model number (see
XPRMgetmodprop, property
XPRM_PROP_ID) and create a copy of the corresponding model (without using any bim file). The returned model reference can be used just like it had been loaded from a bim file but it will share with its reference model all constant information (like constant strings or the code segment). As a consequence, during a debugging session, setting a breakpoint in a model loaded this way also installs the same breakpoint in all other models coming from the same source (including the reference model).
Related topics