From 8d405b265285c368df2e9cf1c14acee7532e0ee7 Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 摹曛, 29 5月 2025 18:14:38 +0800
Subject: [PATCH] Merge branch 'develop' of http://139.9.88.116:3000/r/module/open-license-manager into develop

---
 include/licensecc/datatypes.h |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/include/licensecc/datatypes.h b/include/licensecc/datatypes.h
index 0c9ea48..4bb4044 100644
--- a/include/licensecc/datatypes.h
+++ b/include/licensecc/datatypes.h
@@ -1,5 +1,8 @@
 #ifndef DATATYPES_H_
 #define DATATYPES_H_
+/** \addtogroup apistruct
+ * @{
+ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -88,11 +91,26 @@
 } LicenseLocation;
 
 /**
- * Informations on the software requiring the license
+ * Informations about the software requesting the license verification (eg, software version, feature to verify).
  */
 typedef struct {
-	char version[LCC_API_VERSION_LENGTH + 1];  // software version in format xxxx[.xxxx.xxxx] //TODO
-	char project_name[LCC_API_PROJECT_NAME_SIZE + 1];  // name of the project (must correspond to the name in the license)
+	/**
+	 *  software version in format xxxx[.xxxx.xxxx]
+	 *  NOT IMPLEMENTED pass '\0'
+	 */
+	char version[LCC_API_VERSION_LENGTH + 1];
+	/**
+	 * Name of the feature you want to verify. If empty ('\0') the 'default' feature will be verified.
+	 * (every project has a default feature that is equal to the project name).
+	 * Every feature has a separate section in the license file:
+	 * <pre>
+	 * [feature_xx]
+	 * sig=AAAA
+	 * [another_feature]
+	 * expiry-date=20201111
+	 * </pre>
+	 */
+	char feature_name[LCC_API_FEATURE_NAME_SIZE + 1];
 	/**
 	 * this number passed in by the application must correspond to the magic number used when compiling the library.
 	 * See cmake parameter -DLCC_PROJECT_MAGIC_NUM and licensecc_properties.h macro VERIFY_MAGIC
@@ -123,8 +141,36 @@
 	int license_version;  // license file version
 } LicenseInfo;
 
+typedef enum { BARE_TO_METAL, VMWARE, VIRTUALBOX, V_XEN, KVM, HV, PARALLELS, V_OTHER } LCC_API_VIRTUALIZATION_DETAIL;
+
+typedef enum {
+	PROV_UNKNOWN = 0,
+	ON_PREMISE = 1,
+	GOOGLE_CLOUD = 2,
+	AZURE_CLOUD = 3,
+	AWS = 4,
+	/**
+	 * "/sys/class/dmi/id/bios_vendor" SeaBIOS
+	 * "/sys/class/dmi/id/sys_vendor" Alibaba Cloud
+	 * modalias
+	 * "dmi:bvnSeaBIOS:bvrrel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org:bd04/01/2014:svnAlibabaCloud:pnAlibabaCloudECS:pvrpc-i440fx-2.1:cvnAlibabaCloud:ct1:cvrpc-i440fx-2.1:"
+	 */
+	ALI_CLOUD = 5
+} LCC_API_CLOUD_PROVIDER;
+
+typedef enum { NONE, CONTAINER, VM } LCC_API_VIRTUALIZATION_SUMMARY;
+
+typedef struct {
+	LCC_API_CLOUD_PROVIDER cloud_provider;
+	LCC_API_VIRTUALIZATION_SUMMARY virtualization;
+	LCC_API_VIRTUALIZATION_DETAIL virtualization_detail;
+} ExecutionEnvironmentInfo;
+
 #ifdef __cplusplus
 }
 #endif
 
+/**
+ * @}
+ */
 #endif

--
Gitblit v1.9.1