summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ntlsapi.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /public/sdk/inc/ntlsapi.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'public/sdk/inc/ntlsapi.h')
-rw-r--r--public/sdk/inc/ntlsapi.h194
1 files changed, 194 insertions, 0 deletions
diff --git a/public/sdk/inc/ntlsapi.h b/public/sdk/inc/ntlsapi.h
new file mode 100644
index 000000000..2d848120b
--- /dev/null
+++ b/public/sdk/inc/ntlsapi.h
@@ -0,0 +1,194 @@
+/*
+ * LSAPI.H
+ *
+ * NOTE: If you are using this header file on the Windows for DOS platform,
+ * then you are required to include "windows.h" prior to including
+ * this header file.
+ */
+
+#ifndef LSAPI_H
+#define LSAPI_H
+
+#if defined(WINVER) // Windows for NT or DOS
+#if defined(WINAPIV)
+#define LS_API_ENTRY WINAPIV
+#else
+#define LS_API_ENTRY WINAPI
+#endif
+#else
+#define LS_API_ENTRY
+#endif
+
+typedef unsigned long LS_STATUS_CODE;
+typedef unsigned long LS_HANDLE;
+
+// **************************************************
+// Standard LSAPI C status codes
+//***************************************************
+#define LS_SUCCESS ((LS_STATUS_CODE) 0x0)
+#define LS_BAD_HANDLE ((LS_STATUS_CODE) 0xC0001001)
+#define LS_INSUFFICIENT_UNITS ((LS_STATUS_CODE) 0xC0001002)
+#define LS_SYSTEM_UNAVAILABLE ((LS_STATUS_CODE) 0xC0001003)
+#define LS_LICENSE_TERMINATED ((LS_STATUS_CODE) 0xC0001004)
+#define LS_AUTHORIZATION_UNAVAILABLE ((LS_STATUS_CODE) 0xC0001005)
+#define LS_LICENSE_UNAVAILABLE ((LS_STATUS_CODE) 0xC0001006)
+#define LS_RESOURCES_UNAVAILABLE ((LS_STATUS_CODE) 0xC0001007)
+#define LS_NETWORK_UNAVAILABLE ((LS_STATUS_CODE) 0xC0001008)
+#define LS_TEXT_UNAVAILABLE ((LS_STATUS_CODE) 0x80001009)
+#define LS_UNKNOWN_STATUS ((LS_STATUS_CODE) 0xC000100A)
+#define LS_BAD_INDEX ((LS_STATUS_CODE) 0xC000100B)
+#define LS_LICENSE_EXPIRED ((LS_STATUS_CODE) 0x8000100C)
+#define LS_BUFFER_TOO_SMALL ((LS_STATUS_CODE) 0xC000100D)
+#define LS_BAD_ARG ((LS_STATUS_CODE) 0xC000100E)
+
+//***************************************************
+//* Nt LS API data structure and constant
+//***************************************************
+
+#define NT_LS_USER_NAME ((ULONG) 0) // username only
+#define NT_LS_USER_SID ((ULONG) 1) // SID only
+
+typedef struct {
+ ULONG DataType; // Type of the following data, ie. user name, sid...
+ VOID *Data; // Actual data. username, sid, etc...
+ // if call the unicode API character data
+ // must be in unicode as well
+ BOOL IsAdmin;
+} NT_LS_DATA;
+
+
+//
+// Prototypes for License Request routines
+//
+
+typedef LS_STATUS_CODE
+ (LS_API_ENTRY * PNT_LICENSE_REQUEST_W)(
+ LPWSTR ProductName,
+ LPWSTR Version,
+ LS_HANDLE *LicenseHandle,
+ NT_LS_DATA *NtData);
+
+typedef LS_STATUS_CODE
+ (LS_API_ENTRY * PNT_LS_FREE_HANDLE)(
+ LS_HANDLE LicenseHandle );
+
+
+#ifdef UNICODE
+#define NtLicenseRequest NtLicenseRequestW
+#else
+#define NtLicenseRequest NtLicenseRequestA
+#endif // !UNICODE
+
+LS_STATUS_CODE LS_API_ENTRY NtLicenseRequestA(
+ LPSTR ProductName,
+ LPSTR Version,
+ LS_HANDLE FAR *LicenseHandle,
+ NT_LS_DATA *NtData);
+
+LS_STATUS_CODE LS_API_ENTRY NtLicenseRequestW(
+ LPWSTR ProductName,
+ LPWSTR Version,
+ LS_HANDLE FAR *LicenseHandle,
+ NT_LS_DATA *NtData);
+
+
+LS_STATUS_CODE LS_API_ENTRY NtLSFreeHandle(
+ LS_HANDLE LicenseHandle );
+
+// *************************************************************************
+// OLD API After this point - Don't use
+// *************************************************************************
+
+
+/***************************************************/
+/* standard LS API c datatype definitions */
+/***************************************************/
+
+typedef char LS_STR;
+typedef unsigned long LS_ULONG;
+typedef long LS_LONG;
+typedef void LS_VOID;
+
+typedef struct {
+ LS_STR MessageDigest[16]; /* a 128-bit message digest */
+} LS_MSG_DIGEST;
+
+typedef struct {
+ LS_ULONG SecretIndex; /* index of secret, X */
+ LS_ULONG Random; /* a random 32-bit value, R */
+ LS_MSG_DIGEST MsgDigest; /* the message digest h(in,R,S,Sx) */
+} LS_CHALLDATA;
+
+typedef struct {
+ LS_ULONG Protocol; /* Specifies the protocol */
+ LS_ULONG Size; /* size of ChallengeData structure */
+ LS_CHALLDATA ChallengeData; /* challenge & response */
+} LS_CHALLENGE;
+
+
+/***************************************************/
+/* Standard LSAPI C constant definitions */
+/***************************************************/
+
+#define LS_DEFAULT_UNITS ((LS_ULONG) 0xFFFFFFFF)
+#define LS_ANY ((LS_STR FAR *) "")
+#define LS_USE_LAST ((LS_ULONG) 0x0800FFFF)
+#define LS_INFO_NONE ((LS_ULONG) 0)
+#define LS_INFO_SYSTEM ((LS_ULONG) 1)
+#define LS_INFO_DATA ((LS_ULONG) 2)
+#define LS_UPDATE_PERIOD ((LS_ULONG) 3)
+#define LS_LICENSE_CONTEXT ((LS_ULONG) 4)
+#define LS_BASIC_PROTOCOL ((LS_ULONG) 0x00000001)
+#define LS_SQRT_PROTOCOL ((LS_ULONG) 0x00000002)
+#define LS_OUT_OF_BAND_PROTOCOL ((LS_ULONG) 0xFFFFFFFF)
+#define LS_NULL ((LS_VOID FAR *) NULL)
+
+
+/***************************************************/
+/* Standard LSAPI C function definitions */
+/***************************************************/
+
+
+LS_STATUS_CODE LS_API_ENTRY NtLSRequest(
+ LS_STR FAR *LicenseSystem,
+ LS_STR FAR *PublisherName,
+ LS_STR FAR *ProductName,
+ LS_STR FAR *Version,
+ LS_ULONG TotUnitsReserved,
+ LS_STR FAR *LogComment,
+ LS_CHALLENGE FAR *Challenge,
+ LS_ULONG FAR *TotUnitsGranted,
+ LS_HANDLE FAR *LicenseHandle,
+ NT_LS_DATA FAR *NtData);
+
+LS_STATUS_CODE LS_API_ENTRY NtLSRelease(
+ LS_HANDLE LicenseHandle,
+ LS_ULONG TotUnitsConsumed,
+ LS_STR FAR *LogComment);
+
+LS_STATUS_CODE LS_API_ENTRY NtLSUpdate(
+ LS_HANDLE LicenseHandle,
+ LS_ULONG TotUnitsConsumed,
+ LS_ULONG TotUnitsReserved,
+ LS_STR FAR *LogComment,
+ LS_CHALLENGE FAR *Challenge,
+ LS_ULONG FAR *TotUnitsGranted);
+
+LS_STATUS_CODE LS_API_ENTRY NtLSGetMessage(
+ LS_HANDLE LicenseHandle,
+ LS_STATUS_CODE Value,
+ LS_STR FAR *Buffer,
+ LS_ULONG BufferSize);
+
+LS_STATUS_CODE LS_API_ENTRY NtLSQuery(
+ LS_HANDLE LicenseHandle,
+ LS_ULONG Information,
+ LS_VOID FAR *InfoBuffer,
+ LS_ULONG BufferSize,
+ LS_ULONG FAR *ActualBufferSize);
+
+LS_STATUS_CODE LS_API_ENTRY NtLSEnumProviders(
+ LS_ULONG Index,
+ LS_STR FAR *Buffer);
+
+#endif /* LSAPI_H */