Arnold license system information. More...
Data Structures | |
struct | AtLicenseInfo |
License info structure. More... | |
Functions | |
AI_API void | AiSetLicenseString (const char *lic) |
Set a license string (which is the content of a node-locked license file) for later use. More... | |
Variables | |
bool | AtLicenseInfo::used |
true if this is the license used by the current Arnold installation | |
char | AtLicenseInfo::name [64] |
product name | |
char | AtLicenseInfo::ver [64] |
product version | |
char | AtLicenseInfo::exp [64] |
expiration date | |
char | AtLicenseInfo::options [64] |
product options | |
int | AtLicenseInfo::count |
license count | |
int | AtLicenseInfo::current_inuse |
license count in use | |
int | AtLicenseInfo::current_resuse |
number of reservations in use | |
int | AtLicenseInfo::hbased |
HOST-BASED count | |
int | AtLicenseInfo::hold |
license hold time | |
int | AtLicenseInfo::max_roam |
maximum roam time | |
int | AtLicenseInfo::max_share |
maximum number of processes that can share this license | |
int | AtLicenseInfo::min_remove |
minimum rlmremove time | |
int | AtLicenseInfo::min_checkout |
license minimum checkout time | |
int | AtLicenseInfo::min_timeout |
minimum timeout time | |
int | AtLicenseInfo::nres |
number of license reservations | |
int | AtLicenseInfo::num_roam_allowed |
number of roaming licenses allowed | |
int | AtLicenseInfo::roaming |
number of licenses currently roaming (for roaming licenses) | |
int | AtLicenseInfo::share |
license share flags (share flags RLM_LA_SHARE_xxx are defined in license.h) | |
int | AtLicenseInfo::soft_limit |
license soft limit | |
int | AtLicenseInfo::thisroam |
1 if this license is a roaming license | |
int | AtLicenseInfo::timeout |
current license timeout | |
int | AtLicenseInfo::tz |
license timezone specification. More... | |
int | AtLicenseInfo::tokens |
if 0, this is a normal license. More... | |
int | AtLicenseInfo::type |
license type (license type flags RLM_LA__xxx_TYPE are defined in license.h) | |
int | AtLicenseInfo::ubased |
USER_BASED count | |
Error Codes | |
AI_API int | AiLicenseGetInfo (AtLicenseInfo *&licenses, unsigned int &n) |
Check the status of the license servers provided through the environment variables solidangle_LICENSE, RLM_LICENSE and ARNOLD_LICENSE_[HOST|PORT] and get information about all the installed licenses in those servers. More... | |
AI_API bool | AiLicenseIsAvailable () |
Check if licenses are available. More... | |
#define | AI_LIC_SUCCESS 0 |
no error | |
#define | AI_LIC_ERROR_CANTCONNECT 1 |
can't connect to any RLM server | |
#define | AI_LIC_ERROR_INIT 2 |
error on initialization | |
#define | AI_LIC_ERROR_NOTFOUND 3 |
no licenses found (expired or not loaded) | |
#define | AI_LIC_ERROR_NOTAVAILABLE 4 |
no licenses available (all in use) | |
#define | AI_LIC_ERROR -1 |
generic license error | |
Arnold license system information.
AI_API void AiSetLicenseString | ( | const char * | lic | ) |
Set a license string (which is the content of a node-locked license file) for later use.
[in] | lic | A LICENSE line enclosed within angle brackets |
AI_API int AiLicenseGetInfo | ( | AtLicenseInfo *& | licenses, |
unsigned int & | n | ||
) |
Check the status of the license servers provided through the environment variables solidangle_LICENSE, RLM_LICENSE and ARNOLD_LICENSE_[HOST|PORT] and get information about all the installed licenses in those servers.
This function checks both the connections, the RLM services and the existence of free licenses in the servers. If nothing fails and there are available licenses, the function will return with AI_LIC_SUCCESS status and 'licenses' will return all Arnold usable licenses, otherwise it will return an error code.
[out] | licenses | All usable licenses held by the RLM license servers |
[out] | n | number of elements returned in the licenses vector |
AI_API bool AiLicenseIsAvailable | ( | ) |
Check if licenses are available.
This can be useful for determining if arnold should be run in trial mode: plugin sets options.skip_license_check=true so renders aren't delayed attempting license checkouts that will always fail.
int AtLicenseInfo::tz |
license timezone specification.
int AtLicenseInfo::tokens |
if 0, this is a normal license.
If non-zero, this is a token-based license