Licensing Integration
and
Analytics Integration
The Zentitle library provides an easy method of adding licensing and analytics to your software. These libraries can easily be added to new or existing software as they are distributed as a shared library and can be accessed as such. The library is intended to be used with the dlopen family of functions (dlopen, dlclose, dlsym, etc) or the LoadLibrary family on Windows. While it may be possible to link to the libraries directly, it is not a currently supported option.
Project Programs:
The C SDK contains nilm, shaferExample, nsaTest, nslTerm, and nsaTerm for use with the standard Zentitle library. plm and pslTerm are example programs for the passive licensing library.
Nilm is a generic testing program that allows access to all functions in the Zentitle library including both licensing and analytics. Note that Nilm opens the Zentitle library, issues its command then closes the library. This is a somewhat different proceedure than a typical application which will open the library, issue multiple commands and leave the library open until the application completes. This difference can cause some differences in behavior between testing with Nilm and using a full application. While this differences are minor, we highly recommend testing in both situations.
Plm is the passive library's equivalent to Nilm.
nsaTest is an application that runs through several different data collection routines in a loop. At the end of the loop, the data may be sent to Zentitle if you so choose. Various details of the running library (thread use, data speed, cache hits/misses, etc) are displayed.
shaferExample a simple example binary showing the usage of NSL and NSA in a program.
nslTerm a simple interactive menu-driven program similar to Nilm for the licensing section of the library.
nsaTerm a simple interactive menu-driven program similar to Nilm for the analytics section of the library.
pslTerm a simple interactive menu-driven program similar to Nilm for the passive licensing library.
Binary usage information
- Nilm
- nsaTest
- shaferExample
- nslTerm
- nsaTerm
- Plm
- pslTerm
SDK Build:
Change into the C SDK directory (CCodeKit) by default. Type make clean and then make.
cd ./CCodeKit make clean make
This will create the binaries nilm, nsaTest and plm in the CCodeKit directory.
All source files for the build are located in CCodeKit/src. All intermediate products of the build can be found in CCodeKit/Build.
SDK Files:
The basic structure of the SDK is:
-
Makefile
Makefile to build the example code -
NalpeironNSA.h NalpeironNSL.h NalpeironShafer.h
Convenience headers containing the Zentitle library APIs in the form of function pointers -
dsoNSA.c dsoNSA.h
Convenience functions for NSA library. Function calls that access the shared library via dlsym and functions pointers. -
dsoNSL.c dsoNSL.h
Convenience functions for NSL library. Function calls that access the shared library via dlsym and functions pointers. -
dsoSHAFER.c dsoSHAFER.h
Convenience functions for generic library calls. Function calls that access the shared library via dlsym and functions pointers. -
nilm.c
NSL/NSA testing code. This will produce a command line utility for accessing and testing the licensing and analytics libraries. -
nsaTest.c nsaTest.h
NSA testing code. nsaTest will produce a command line utility for the main data collection routines in the Analytics library. nsaTest will run a set of routines repeatedly in a loop and provide details about access and transmission speeds. -
shaferExample.c shaferExample.h
A general example containing code that accesses both NSA and NSL. -
nslTerm.c nslTerm.h
NSL example code. This will produce an interactive terminal based program displaying some of the capabilities of the licensing library. -
nsaTerm.c nsaTerm.h
NSA example code. This will produce an interactive terminal based program displaying some of the capabilities of the analytics library. -
nalpHelper.c nalpHelper.h
Helper utilities for the licensing/analytics library's example code. -
passHelper.c passHelper.h
Helper utilities for the passive licensing library's example code. -
termHelper.c termHelper.h
Helper utilities for the terminal based, menu-drive programs. -
inttypes.h
For Windows ONLY. Prior to VS2015 Visual Studio lacked complete C99 support. This file is included in the projects for systems lacking inttypes.h or with and incomplete inttypes.h file.
Download the Example Applications attached
Release Notes (Please always check the release notes for the latest updates)
Library versions 3.3.55+ require the Visual Studio 2017 Visual C++ redistributable to be installed.