![]() |
Zentitle SDK and Library
|
NILM is a command line tool built for cross-platform testing without the need for a UI or an application. We recommend NILM command line testing for your initial, quick testing. It will give you an idea of how all the parts work and allow you to see the results sent from client to the server.
Command | Description |
---|---|
NSLGetLicenseCode | Current license code on system |
NSLGetLicenseStatus | Current license status |
NSLGetLicenseInfo | Information about current license |
NSLGetLibraryOptions | Information about library stamping |
NSLGetVMInfo | Virtual machine details |
NSLGetComputerID | Retrieve computer ID |
NSLGetLeaseExpDate | Get Lease expiration date |
NSLGetLeaseExpSec | Get seconds until Lease expiration |
NSLGetTrialExpDate | Get Trial expiration date |
NSLGetTrialExpSec | Get seconds until Trial expiration |
NSLGetMaintExpDate | Get Maintenance expiration date |
NSLGetMaintExpSec | Get seconds until Maintenance expiration |
NSLGetSubExpDate | Get Subscription expiration date |
NSLGetSubExpSec | Get seconds until Subscription expiration |
NSLGetAvailProcesses | Get number of processes allowed to run |
NSLGetHostName | The hostname of the licensing server |
NSLGetLicense | Retrieve a license from licensing server |
NSLReturnLicense | Return current license to licensing server |
NSLImportCert | Import an activation certificate (offline act) |
NSLRequestActivationCert | Generate an activation request |
NSLGetDeactivationCertReq | Generate a deactivation request |
NSLGetUDF | Get the value of an Application Agility field |
NSLGetTimeStamp | Get the current time from the licensing server |
NSLGetVersion | Library version |
NSLTestConnection2 | Test the connection to the licensing server |
[NSLSetCredentials] | Set user/passwd for account based license |
[NSLGetCredentials] | Get information from/about the last setcredentials call |
[NSLCheckCredentials] | Validate credentials against those passed into the library with setcrendentials |
[NSLClearCredentials] | clear user/passwd for account based license |
NSLValidateLibrary | Validate library against your data |
NSLGetFeatureStatus | Get the current status of a feature |
NSLCheckoutFeature | Checkout a floating feature |
NSLReturnFeature | Return a floating feature to the server |
NSLGetPoolInfo | Get the current status of an element pool |
NSLCheckoutPool | Checkout elements from a pool |
NSLReturnPool | Return elements froma pool to the server |
NSLGetTokenInfo | Get the current status of an token pool |
NSLCheckoutTokens | Checkout tokens from a pool |
NSLConsumeTokens | Consume checked out elements from a pool |
[RPC] | Call a remote proceedure on the Nalpeiron server (Not available in Nilm) |
RPCV | Call a remote proceedure on the Nalpeiron server with vector arguments |
GetErrorMessage | Get error message corresponding to error code |
Command | Description |
---|---|
NSAApStart | Flag an application start |
NSAApStop | Flag an application stop |
NSAException | Record an exception |
NSAFeatureStart | Flag a feature start |
NSAFeatureStop | Flag a feature stop |
NSAGetComputerID | Get the system's computer ID |
NSAGetHostName | Get the Analytics server's hostname |
NSAGetPrivacy | Get the current privacy setting |
NSAGetStats | Get Analytics engine's performance statistics |
NSAGetVersion | Analytics library version |
NSATestConnection2 | Test client connection to analytics server |
NSALogin | Record a Login |
NSALogout | Record a logout |
[NSASendCache] | Send analytics cache to analytics server |
NSASetPrivacy | Enable/disable privacy settings |
NSASysInfo | Record system information |
NSAValidateLibrary | Validate library against your data |
GetErrorMessage | Get error message corresponding to error code |
Command | Type | Description |
---|---|---|
Auth1, Auth2, Auth3 | uint | The authentication values you picked at lib creation |
noLoops | uint | Number of times to test loop (where applicable) |
Pause1 and Pause3 | uint | in seconds For testing (pause1 is after NalpLibOpen, |
pause2 is just before NalpLibClose) | ||
ApLang | string | Specify system language |
BuildEdition | string | Specify a build edition for analytics |
BuildNumber | string | Specify a build number for analytics |
BuildVersion | string | Specify a build version for analytics |
CustomerID | uint | Last 5 digits of your customer ID number |
Description | string | Specify a descriptive string for analytics |
ExceptionCode | string | Specify an exception code for analytics |
FeatureCode | string | A feature code OR udf code OR element pool code |
PoolAmount | uint | Element pool amount |
Library | string | /path/to/library.so |
LicenseCode | string | License code |
NSALicenseStatus | string | License status for analytics collection |
ProductID number | uint | Last 5 digits of your product ID number |
Username username | string | username |
Password password | string | password |
NSAPrivacy | 0, 1 | Analytics privacy setting |
NSLCertificate | string | An activation certificate or path to |
file containing certificate | ||
NSLRegistration | string | XML fragment containing registration information |
NSAClientData | string | XML fragment containing addition client data |
NalpErrorNo | int | Nalpeiron library error number |
TransactionID | uint | Used to group analytics information |
RPCName | string | Name of RPC function |
RPCArgs | string | RPC function arguments (name1, val1, name2, val2) |
CacheQLen | uint | Length in bytes of analytics cache file |
DaemonIP | string | Daemon's ip address |
DaemonPort | uint | Daemon's port number |
DaemonUser username | string | Username for daemon contact |
DaemonPass password | string | Password for daemon contact |
LogSize | uint | Max size of log file in bytes |
WorkDir | string | /workdir/path |
LogLevel | 0,1,2,3,4 | 0 is off, 4 is full debug |
LogQLen | uint | length (in number of messages) of log queue |
OfflineMode | 0, 1 | Disable or Enable offline mode |
ProxyIP | string | IP address of intervening proxy |
ProxyPort | uint | Port number of intervening proxy |
ProxyPass | string | Password for intervening proxy |
ProxyUser | string | Username for intervening proxy |
SoapThMin | uint | Min number of threads for analytics data |
SoapThMax | uint | Max number of threads for analytics data |
WorkGroup | string | Group name for WorkDir ownership |
NSAEnable | 0, 1 | Disable or Enable Analytics library (NSA) |
NSLEnable | 0, 1 | Disable or Enable Licensing library (NSL) |
NSLConnTO | uint | NSL Connection timeout (ms) |
NSLTransTO | uint | NSL Transaction timeout (ms) |
NSAConnTO | uint | NSA Connection timeout (ms) |
NSATransTO | uint | NSA Transaction timeout (ms) |
The following are examples of Nilm usage. In the examples, auth1 is 10, auth2 is 20, and auth3 is 30. The values should be replaced with the values selected when you created your libaries. Likewise, the license code 1234567890abcdef should be replaced with a valid license code associated with your account.
GetErrorMessage
./nilm --
Library /tmp/test30.so --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
GetErrorMessage --
NalpErrorNo -4220
or
./nilm --
Library /tmp/test30.so --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
GetErrorMessage --
NalpErrorNo -4220
SOAP RPC Function not allowed
NSLGetHostName
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetHostName
Hostname is my.nalpeiron.com
NSLGetVersion
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetVersion
Version Library Version: 3.2.82.0 NSL: 13.2.82.0
NSLTestConnection2
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLTestConnection2
NOTE No response on success
NSLValidateLibrary
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLValidateLibrary --
CustomerID nnnnn --
ProductID nnnnn
library is valid
NSLGetComputerID
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetComputerID
The computerID is: RXbew8g59J//1nTZkCDi
NSLGetLicenseCode
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLicenseCode
License Code is: 123456789012345678
NSLGetLicenseStatus
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLicenseStatus
The retVal is 0 and the license retVal is -1 License Expired
Or, The retVal is 0 and the license retVal is 1 Valid License
NSLGetLicense
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLicense --
LicenseCode 1234567890abcdef
Retrieved license from server
NSLGetLicenseInfo
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLicenseInfo
The retVal is 0, the license type is 3 and act type is 1 Permanent license activated online
NSLGetLibraryOptions
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLibraryOptions
The following library options were enabled at creation: NSA Privacy ON Virtual machine detection ON Hard drive serial number ON
NSLGetVMInfo
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetVMInfo
The library is NOT running on a virtual machine. Detection routines say DetectionDisabled
NSLGetLeaseExpSec, NSLGetTrialExpSec, NSLGetMaintExpSec, NSLGetSubExpSec
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLeaseExpSec
The license will expire in 43196 sec, which is 1505364432 epoch time
NSLGetLeaseExpDate, NSLGetTrialExpDate, NSLGetMaintExpDate, NSLGetSubExpDate
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetLeaseExpDate
The license will expire on Wed Sep 13 23:47:12 2017
NSLGetAvailProcesses
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetAvailProcesses
Number of available processes
NSLGetFeatureStatus
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode FEAT1 --
NSLGetFeatureStatus
FEAT1 expired
Or,
FEAT1 valid
Or,
-1096: NSL entitlement not found
NSLCheckoutFeature
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLCheckoutFeature --
FeatureCode FEAT6 --
LicenseCode 1234567890abcdef
FEAT6 valid
NSLReturnFeature
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLReturnFeature --
FeatureCode FEAT6 --
LicenseCode 1234567890abcdef
NOTE No response unless an error occurs
NSLGetUDF
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode TEST1 --
NSLGetUDF
The string contained in TEST1
NSLGetTimeStamp
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLGetTimeStamp
Server says it is 1550598817
NSLGetPoolInfo
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode FEAT7 --
NSLGetPoolInfo
FEAT7 valid with 0 elements out of 750 max
NSLCheckoutPool
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
LicenseCode 1234567890abcdef --
FeatureCode FEAT7 --
NSLCheckoutPool --
PoolAmount 50
NOTE No response unless an error occurs
NSLReturnPool
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
LicenseCode 1234567890abcdef --
FeatureCode FEAT7 --
NSLReturnPool --
PoolAmount 20
NOTE No response unless an error occurs
NSLGetTokenInfo
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode TCT01 --
NSLGetTokenInfo
TCT01 valid with 0 tokens (total pool size 100)
NSLCheckoutTokens
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode TCT01 --
NSLCheckoutTokens --
PoolAmount 3
To see results call NSLGetTokenInfo
NSLConsumeTokens
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
FeatureCode TCT01 --
NSLConsumeTokens --
PoolAmount 2
To see results call NSLGetTokenInfo
RPCV
HelloWorld RPC
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
RPCV --
RPCName HelloWorld
HelloWorld
LTCO RPC
./nilm –Library /tmp/test30.so –LogLevel 4 –WorkDir /tmp/test –NSLEnable 1 –Auth1 10 –Auth2 20 –Auth3 30 –LicenseCode 318300001446277357 –RPCV –RPCName LTCO –RPCArgs rpcLTCOEndDate,1559365200
NOTE No response unless an error occurs. The new date will be reflected in a call to NSLGetLeaseExpDate or NSLGetLeaseExpSec.
-4220: SOAP RPC Function not allowed indicates that the RPC function is not available to the specified license code.
FEATAVAIL RPC
./nilm –Library /tmp/test30.so –LogLevel 4 –WorkDir /tmp/test –NSLEnable 1 –Auth1 10 –Auth2 20 –Auth3 30 –LicenseCode 318300001446277357 –RPCV –RPCName FEATAVAIL –RPCArgs featCode,FEAT7
90
The return indicates that the server has 90 elements remaining in the FEAT7 pool.
NSLReturnLicense
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSLReturnLicense --
LicenseCode 1234567890abc
NOTE No response unless an error occurs
NSLRequestActivationCert
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
LicenseCode 318300001446277357 --
NSLRequestActivationCert
The output will be an encrypted certificate request. The data must be taken to Nalpeiron's website and activated. The result should be imported using NSLImportCert.
NSLGetDeactivationCertReq
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
LicenseCode 318300001446277357 --
NSLGetDeactivationCertReq
The output will be an encrypted certificate request. The data must be taken to Nalpeiron's website for deactivation. NOTE - The deactivation of the current license is immediate on the client. The Nalpeiron server will not know of the deactivation until the deactivation request is imported into the Nalpeiron server.
NSLImportCert
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSLEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
LicenseCode 318300001446277357 --
NSLImportCert --
NSLCertificate /tmp/actCert.txt
License retVal is: 1
where /tmp/actCert.txt is a file containing the activation certificate obtained from Nalpeiron.
NSA calls are exempt from security offsets, but auth values are included in the following only to silence a nilm warning:
NSATestConnection2
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSATestConnection2
NOTE No response unless an error occurs
NSAGetPrivacy
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAGetPrivacy
Privacy is 1
NSASetPrivacy
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSASetPrivacy --
NSAPrivacy 0
NOTE No response unless an error occurs
NSAGetComputerID
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAGetComputerID
The computer ID is: RXbew8g59J//1nTZkCDi
NSAGetHostName
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAGetHostName
Hostname is my.nalpeiron.com
NSAGetVersion
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAGetVersion
Version Library Version: 3.2.82.0 NSA: 3.2.82.0
NSAApStart
NOTE the TransactionID is used to group the ApStart with the corresponding ApStop. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 123 --
NSAApStart
NSAApStop
NOTE the TransactionID is used to group the ApStart with the corresponding ApStop. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 123 --
NSAApStop
NSALogin
NOTE the TransactionID is used to group the Login with the corresponding Logout. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 456 --
NSALogin
NSALogout
NOTE the TransactionID is used to group the Login with the corresponding Logout. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 456 --
NSALogout
NSAFeatureStart
NOTE the TransactionID is used to group the FeatureStart with the corresponding FeatureStop. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 789 --
NSAFeatureStart
NSAFeatureStop
NOTE the TransactionID is used to group the FeatureStart with the corresponding FeatureStop. It can be any non-zero, positive integer. In normal usage of the library (ie non-nilm), this process can be handled automatically by passing in a 0 (zero) for the transaction ID.
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
TransactionID 789 --
NSAFeatureStop
NSAException
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Username nalpUser --
ExceptionCode NAN --
description "Division by zero" --
NSAException
NSASysInfo
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Username nalpUser --
BuildVersion 1 --
BuildNumber 2 --
BuildEdition 3 --
ApLang en --
NSALicenseStatus OK --
NSASysInfo
NSAValidateLibrary
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAValidateLibrary --
CustomerID nnnnn --
ProductID nnnnn
library is valid
NSAGetStats
./nilm --
Library /tmp/test30.so --
LogLevel 4 --
WorkDir /tmp/test --
NSAEnable 1 --
Auth1 10 --
Auth2 20 --
Auth3 30 --
NSAGetStats