8#ifndef PXR_ARCH_LIBRARY_H
9#define PXR_ARCH_LIBRARY_H
11#include "pxr/arch/pxr.h"
12#include "pxr/arch/api.h"
16#if defined(ARCH_OS_WINDOWS)
17# define ARCH_LIBRARY_LAZY 0
18# define ARCH_LIBRARY_NOW 0
19# define ARCH_LIBRARY_LOCAL 0
20# define ARCH_LIBRARY_GLOBAL 0
21# define ARCH_LIBRARY_SUFFIX ".dll"
22# define ARCH_STATIC_LIBRARY_SUFFIX ".lib"
25# define ARCH_LIBRARY_LAZY RTLD_LAZY
26# define ARCH_LIBRARY_NOW RTLD_NOW
27# define ARCH_LIBRARY_LOCAL RTLD_LOCAL
28# define ARCH_LIBRARY_GLOBAL RTLD_GLOBAL
29# if defined(ARCH_OS_DARWIN)
30# define ARCH_LIBRARY_SUFFIX ".dylib"
32# define ARCH_LIBRARY_SUFFIX ".so"
34# define ARCH_STATIC_LIBRARY_SUFFIX ".a"
41#if defined(ARCH_OS_DARWIN)
42# define ARCH_PLUGIN_SUFFIX ".so"
44# define ARCH_PLUGIN_SUFFIX ARCH_LIBRARY_SUFFIX
47ARCH_NAMESPACE_OPEN_SCOPE
76ARCH_NAMESPACE_CLOSE_SCOPE
int ArchLibraryClose(void *handle)
Closes an object opened with ArchLibraryOpen.
void * ArchLibraryOpen(const std::string &filename, int flag)
library.h Architecture dependent loading and unloading of dynamic libraries.
void * ArchLibraryGetSymbolAddress(void *handle, const char *name)
Obtain the address of a symbol defined within an object opened with ArchLibraryOpen.
std::string ArchLibraryError()
Obtain a description of the most recent error that occurred from ArchLibraryOpen.