const string SPL_ARCH_IA64 = "IA64";
const string SPL_ARCH_X64 = "x64";
const string SPL_ARCH_ARM = "ARM";
+ const string SPL_ARCH_ARM64 = "ARM64";
const string SPOOLSS_ARCHITECTURE_ALL = "All";
const string SPOOLSS_ARCHITECTURE_ALL_CLUSTER = "AllCluster";
const string SPOOLSS_ARCHITECTURE_W32PPC = "Windows NT PowerPC";
const string SPOOLSS_ARCHITECTURE_W32ALPHA = "Windows NT Alpha AXP";
const string SPOOLSS_ARCHITECTURE_ARM = "Windows ARM";
+ const string SPOOLSS_ARCHITECTURE_ARM64 = "Windows ARM64";
const string SPOOLSS_DEFAULT_SERVER_PATH = "C:\\WINDOWS\\system32\\spool";
typedef [public,gensize] struct {
{SPOOLSS_ARCHITECTURE_W32PPC, SPL_ARCH_W32PPC, 2 },
{SPOOLSS_ARCHITECTURE_IA_64, SPL_ARCH_IA64, 3 },
{SPOOLSS_ARCHITECTURE_x64, SPL_ARCH_X64, 3 },
+ {SPOOLSS_ARCHITECTURE_ARM64, SPL_ARCH_ARM64, 3 },
{NULL, "", -1 }
};
const char *dir_list[] = {
"W32X86/PCC",
"x64/PCC",
+ "ARM64",
"color"
};
}
/* If architecture is Windows x64, the version is always 3. */
- if (strcmp(architecture, SPL_ARCH_X64) == 0) {
- DEBUG(10,("get_correct_cversion: Driver is x64, cversion = 3\n"));
+ if (strcmp(architecture, SPL_ARCH_X64) == 0 ||
+ strcmp(architecture, SPL_ARCH_ARM64) == 0) {
+ DBG_DEBUG("get_correct_cversion: this architecture must be, cversion = 3\n");
*perr = WERR_OK;
TALLOC_FREE(frame);
return 3;
if (strequal(architecture, SPOOLSS_ARCHITECTURE_x64)) {
processor_architecture = PROCESSOR_ARCHITECTURE_AMD64;
processor_type = PROCESSOR_AMD_X8664;
+ } else if (strequal(architecture, SPOOLSS_ARCHITECTURE_ARM64)) {
+ processor_architecture = PROCESSOR_ARCHITECTURE_ARM64;
+ processor_type = PROCESSOR_ARM820;
} else {
processor_architecture = PROCESSOR_ARCHITECTURE_INTEL;
processor_type = PROCESSOR_INTEL_PENTIUM;