#ifndef INCLUDED_SHARED_GLOBALS_H #define INCLUDED_SHARED_GLOBALS_H #ifndef CONFIG #define CONFIG "config.h" #endif // CONFIG #include CONFIG #include #ifndef _WIN32 #include #include #include #include #include #include #include #if (!defined(NO_LIMIT) || defined(USE_THREADS)) && !__minix__ #include #endif // (!defined(NO_LIMIT) || defined(USE_THREADS)) && !__minix__ #include #include #if !defined(NO_LIMIT) && !__minix__ #include #endif // !defined(NO_LIMIT) && !__minix__ #else #ifndef USE_MSRPC #include #include #endif // USE_MSRPC #include #endif #include #include #include #include #include #include #include #include #include #include #include #include "types.h" #define MAX_KMSAPPS 3 typedef struct { const char* Epid; const BYTE* HwId; #ifndef NO_LOG const char* EpidSource; #endif // NO_LOG } KmsResponseParam_t, *PKmsResponseParam_t; #if !defined(NO_LIMIT) && !__minix__ #ifndef SEM_VALUE_MAX // Android does not define this #ifdef __ANDROID__ #define SEM_VALUE_MAX 0x3fffffff #elif !defined(_WIN32) #define SEM_VALUE_MAX 0x7fffffff #else #define SEM_VALUE_MAX 0x7fff // Be cautious if unknown #endif // __ANDROID__ #endif // !defined(SEM_VALUE_MAX) #endif // !defined(NO_LIMIT) && !__minix__ extern const char *const Version; //Fix for stupid eclipse parser #ifndef UINT_MAX #define UINT_MAX 4294967295 #endif extern int global_argc, multi_argc; extern CARGV global_argv, multi_argv; extern int_fast8_t nodaemon; extern DWORD VLActivationInterval; extern DWORD VLRenewalInterval; extern int_fast8_t DisconnectImmediately; extern KmsResponseParam_t KmsResponseParameters[MAX_KMSAPPS]; extern const char *const cIPv4; extern const char *const cIPv6; extern int_fast8_t InetdMode; #ifndef USE_MSRPC extern int_fast8_t UseMultiplexedRpc; extern int_fast8_t UseRpcNDR64; extern int_fast8_t UseRpcBTFN; #endif // USE_MSRPC #ifndef NO_SOCKETS extern const char *defaultport; #endif // NO_SOCKETS #if !defined(NO_SOCKETS) && !defined(NO_SIGHUP) && !defined(_WIN32) extern int_fast8_t IsRestarted; #endif // !defined(NO_SOCKETS) && !defined(NO_SIGHUP) && !defined(_WIN32) #if !defined(NO_TIMEOUT) && !__minix__ extern DWORD ServerTimeout; #endif // !defined(NO_TIMEOUT) && !__minix__ #if !defined(NO_LIMIT) && !defined (NO_SOCKETS) && !__minix__ extern uint32_t MaxTasks; #endif // !defined(NO_LIMIT) && !defined (NO_SOCKETS) && !__minix__ #ifndef NO_LOG extern char *fn_log; extern int_fast8_t logstdout; #ifndef NO_VERBOSE_LOG extern int_fast8_t logverbose; #endif #endif #ifndef NO_RANDOM_EPID extern int_fast8_t RandomizationLevel; extern uint16_t Lcid; #endif #if !defined(NO_SOCKETS) && !defined(USE_MSRPC) extern SOCKET *SocketList; extern int numsockets; #if !defined(NO_LIMIT) && !__minix__ #ifndef _WIN32 extern sem_t *Semaphore; #else // _WIN32 extern HANDLE Semaphore; #endif // _WIN32 #endif // !defined(NO_LIMIT) && !__minix__ #endif // !defined(NO_SOCKETS) && !defined(USE_MSRPC) #ifdef _NTSERVICE extern int_fast8_t IsNTService; extern int_fast8_t ServiceShutdown; #endif #ifndef NO_LOG #ifdef USE_THREADS #if !defined(_WIN32) && !defined(__CYGWIN__) extern pthread_mutex_t logmutex; #else extern CRITICAL_SECTION logmutex; #endif // _WIN32 #endif // USE_THREADS #endif // NO_LOG #endif // INCLUDED_SHARED_GLOBALS_H