namespace Packaging.Targets.IO
{
///
/// Specifies how the function loads
/// a dynamic link library.
///
internal enum DlOpenFlags : int
{
///
/// Perform lazy binding. Only resolve symbols as the code that references them is executed.
/// If the symbol is never referenced, then it is never resolved.
/// (Lazy binding is only performed for function references; references to variables are always
/// immediately bound when the library is loaded.)
///
RTLD_LAZY = 0x00001,
///
/// If this value is specified, or the environment variable LD_BIND_NOW is set to a nonempty string,
/// all undefined symbols in the library are resolved before returns.
/// If this cannot be done, an error is returned.
///
RTLD_NOW = 0x00002,
///
/// The symbols defined by this library will be made available for symbol resolution of subsequently
/// loaded libraries.
///
RTLD_GLOBAL = 0x00100,
///
/// This is the converse of , and the default if neither flag is specified.
/// Symbols defined in this library are not made available to resolve references in subsequently
/// loaded libraries.
///
RTLD_LOCAL = 0,
///
/// Do not unload the library during . Consequently, the library's
/// static variables are not reinitialized if the library is reloaded with
/// at a later time.
///
///
/// This flag is not specified in POSIX.1-2001.
///
RTLD_NODELETE = 4096,
///
/// Don't load the library. This can be used to test if the library is already resident
/// ( returns if it is not, or the library's
/// handle if it is resident). This flag can also be used to promote the flags on a library
/// that is already loaded. For example, a library that was previously loaded with
/// can be reopened with |
/// .
///
///
/// This flag is not specified in POSIX.1-2001.
///
RTLD_NOLOAD = 4,
///
/// Place the lookup scope of the symbols in this library ahead of the global scope.
/// This means that a self-contained library will use its own symbols in preference to global
/// symbols with the same name contained in libraries that have already been loaded.
///
///
/// This flag is not specified in POSIX.1-2001.
///
RTLD_DEEPBIND = 8
}
}