Gabriele Contini
2019-08-29 97f83e095d15c6369864874b0e2e0d197ce8fb8e
src/library/api/datatypes.h
@@ -11,9 +11,14 @@
extern "C" {
#endif
//definition of size_t
#include <stdlib.h>
#ifndef _MSC_VER
#include <stdbool.h>
#endif
#ifdef __unix__
#define DllExport
#define MAX_PATH 1024
#else
#include <windows.h>
#define DllExport  __declspec( dllexport )
@@ -26,38 +31,37 @@
#define LICENESE_INT_VERSION 100
#define LICENSEPP_VERSION "1.0.0"
enum EVENT_TYPE {
typedef enum {
   LICENSE_OK = 0,                   //OK
   LICENSE_FILE_NOT_FOUND = 1,       //license file not found
   LICENSE_SERVER_NOT_FOUND = 2,       //license server can't be contacted
   ENVIRONMENT_VARIABLE_NOT_DEFINED = 3, //environment variable not defined
   FILE_FORMAT_NOT_RECOGNIZED = 4,   //license file has invalid format (not .ini file)
   LICENSE_MALFORMED = 5,//some mandatory field are missing, or data can't be fully read.
   LICENSE_MALFORMED = 5, //some mandatory field are missing, or data can't be fully read.
   PRODUCT_NOT_LICENSED = 6,      //this product was not licensed
   PRODUCT_EXPIRED = 7,
   LICENSE_CORRUPTED = 8,      //License serial and calculated one didn't match
   LICENSE_CORRUPTED = 8,//License signature didn't match with current license
   IDENTIFIERS_MISMATCH = 9, //Calculated identifier and the one provided in license didn't match
   LICENSE_FILE_FOUND = 100
   LICENSE_FILE_FOUND = 100,
   LICENSE_VERIFIED = 101
};
} EVENT_TYPE;
enum LICENSE_TYPE {
typedef enum {
   LOCAL, REMOTE //remote licenses are not supported now.
};
} LICENSE_TYPE;
enum SEVERITY {
   INFO, WARN, SEVERITY_ERROR
};
typedef enum {
   SVRT_INFO, SVRT_WARN, SVRT_ERROR
} SEVERITY;
struct AuditEvent {
typedef struct {
   SEVERITY severity;
   EVENT_TYPE event_type;
   char param1[256];
   char param2[256];
};
} AuditEvent;
typedef struct {
   const char *licenseFileLocation;
@@ -77,14 +81,12 @@
    * can be '\0' if the software don't expire
    * */
   char expiry_date[11];
   unsigned int days_left;
   bool has_expiry;
   bool linked_to_pc;
   unsigned int days_left;bool has_expiry;bool linked_to_pc;
   LICENSE_TYPE license_type; // Local or Remote
   /* A string of character inserted into the license understood
    * by the calling application.
    * '\0' if the application didn't specify one */
   char proprietary_data[PROPRIETARY_DATA_SIZE+1];
   char proprietary_data[PROPRIETARY_DATA_SIZE + 1];
   int license_version; //license file version
} LicenseInfo;
@@ -92,9 +94,15 @@
 * Enum to select a specific pc identification_strategy. DEFAULT Should be used
 * in most cases.
 */
enum IDENTIFICATION_STRATEGY {
   DEFAULT, ETHERNET, IP_ADDRESS, DISK_NUM, DISK_LABEL
};
typedef enum {
   DEFAULT,
   ETHERNET,
   IP_ADDRESS,
   DISK_NUM,
   DISK_LABEL,
   PLATFORM_SPECIFIC,
   STRATEGY_UNKNOWN
} IDENTIFICATION_STRATEGY;
#ifdef __cplusplus
}