• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/kext_tools-326.95.1/

Lines Matching defs:toolArgs

117     KextcacheArgs       toolArgs;
164 result = readArgs(&argc, &argv, &toolArgs);
179 result = checkArgs(&toolArgs);
190 if (toolArgs.lowPriorityFlag) {
202 if (toolArgs.prelinkedKernelPath) {
216 if (toolArgs.updateVolumeURL) {
217 result = doUpdateVolume(&toolArgs);
225 if (toolArgs.prelinkedKernelPath && !CFArrayGetCount(toolArgs.argURLs) &&
226 (toolArgs.compress || toolArgs.uncompress))
228 result = compressPrelinkedKernel(toolArgs.prelinkedKernelPath,
229 /* compress */ toolArgs.compress);
237 if (toolArgs.printTestResults) {
240 toolArgs.allKexts = OSKextCreateKextsFromURLs(kCFAllocatorDefault, toolArgs.argURLs);
241 if (!toolArgs.allKexts || !CFArrayGetCount(toolArgs.allKexts)) {
249 toolArgs.repositoryKexts = OSKextCreateKextsFromURLs(kCFAllocatorDefault,
250 toolArgs.repositoryURLs);
251 toolArgs.namedKexts = OSKextCreateKextsFromURLs(kCFAllocatorDefault,
252 toolArgs.namedKextURLs);
253 if (!toolArgs.repositoryKexts || !toolArgs.namedKexts) {
265 if (toolArgs.needLoadedKextInfo) {
266 result = getLoadedKextInfo(&toolArgs);
273 if (toolArgs.updateSystemCaches) {
274 result = updateSystemPlistCaches(&toolArgs);
279 if (toolArgs.mkextPath) {
280 result = createMkext(&toolArgs, &fatal);
286 if (toolArgs.prelinkedKernelPath) {
290 if (toolArgs.needDefaultPrelinkedKernelInfo &&
303 result = createPrelinkedKernel(&toolArgs);
316 SAFE_RELEASE(toolArgs.kextIDs);
317 SAFE_RELEASE(toolArgs.argURLs);
318 SAFE_RELEASE(toolArgs.repositoryURLs);
319 SAFE_RELEASE(toolArgs.namedKextURLs);
320 SAFE_RELEASE(toolArgs.allKexts);
321 SAFE_RELEASE(toolArgs.repositoryKexts);
322 SAFE_RELEASE(toolArgs.namedKexts);
323 SAFE_RELEASE(toolArgs.loadedKexts);
324 SAFE_RELEASE(toolArgs.kernelFile);
325 SAFE_RELEASE(toolArgs.symbolDirURL);
326 SAFE_FREE(toolArgs.mkextPath);
327 SAFE_FREE(toolArgs.prelinkedKernelPath);
328 SAFE_FREE(toolArgs.kernelPath);
338 KextcacheArgs * toolArgs)
351 bzero(toolArgs, sizeof(*toolArgs));
356 if (!createCFMutableSet(&toolArgs->kextIDs, &kCFTypeSetCallBacks) ||
357 !createCFMutableArray(&toolArgs->argURLs, &kCFTypeArrayCallBacks) ||
358 !createCFMutableArray(&toolArgs->repositoryURLs, &kCFTypeArrayCallBacks) ||
359 !createCFMutableArray(&toolArgs->namedKextURLs, &kCFTypeArrayCallBacks) ||
360 !createCFMutableArray(&toolArgs->targetArchs, NULL)) {
415 if (!addArchForName(toolArgs, optarg)) {
421 toolArgs->explicitArch = true;
432 CFSetAddValue(toolArgs->kextIDs, scratchString);
436 scratchResult = readPrelinkedKernelArgs(toolArgs, *argc, *argv,
447 toolArgs->forceUpdateFlag = true;
452 toolArgs->lowPriorityFlag = true;
468 if (toolArgs->kernelPath) {
473 toolArgs->kernelPath = malloc(PATH_MAX);
474 if (!toolArgs->kernelPath) {
481 len = strlcpy(toolArgs->kernelPath, optarg, PATH_MAX);
491 toolArgs->requiredFlagsRepositoriesOnly |=
496 toolArgs->requiredFlagsAll |=
501 toolArgs->requiredFlagsRepositoriesOnly |=
506 toolArgs->requiredFlagsAll |=
511 toolArgs->needLoadedKextInfo = true;
515 toolArgs->requiredFlagsRepositoriesOnly |=
520 toolArgs->requiredFlagsAll |=
525 toolArgs->printTestResults = true;
531 if (toolArgs->updateVolumeURL) {
535 SAFE_RELEASE_NULL(toolArgs->updateVolumeURL);
553 toolArgs->updateVolumeURL = CFRetain(scratchURL);
555 toolArgs->expectUpToDate = true;
574 toolArgs->skipAuthentication = true;
582 if (toolArgs->mkextPath) {
587 toolArgs->mkextPath = malloc(PATH_MAX);
588 if (!toolArgs->mkextPath) {
595 len = strlcpy(toolArgs->mkextPath, optarg, PATH_MAX);
604 toolArgs->mkextVersion = 1;
606 toolArgs->mkextVersion = 2;
615 if (toolArgs->volumeRootURL) {
619 SAFE_RELEASE_NULL(toolArgs->volumeRootURL);
631 toolArgs->volumeRootURL = CFRetain(scratchURL);
636 toolArgs->updateSystemCaches = true;
637 setSystemExtensionsFolders(toolArgs);
641 toolArgs->compress = true;
645 toolArgs->uncompress = true;
649 if (toolArgs->symbolDirURL) {
653 SAFE_RELEASE_NULL(toolArgs->symbolDirURL);
665 toolArgs->symbolDirURL = CFRetain(scratchURL);
666 toolArgs->generatePrelinkedSymbols = true;
670 scratchResult = setPrelinkedKernelArgs(toolArgs,
676 toolArgs->needLoadedKextInfo = true;
677 toolArgs->requiredFlagsRepositoriesOnly |=
682 toolArgs->includeAllPersonalities = true;
686 toolArgs->noLinkFailures = true;
690 toolArgs->stripSymbols = true;
695 toolArgs->installerCalled = true;
698 toolArgs->cachesOnly = true;
740 if (!toolArgs->updateVolumeURL) {
753 CFArrayAppendValue(toolArgs->argURLs, scratchURL);
757 CFArrayAppendValue(toolArgs->namedKextURLs, scratchURL);
759 CFArrayAppendValue(toolArgs->repositoryURLs, scratchURL);
780 KextcacheArgs * toolArgs,
798 return setPrelinkedKernelArgs(toolArgs, filename);
804 KextcacheArgs * toolArgs,
809 if (toolArgs->prelinkedKernelPath) {
814 toolArgs->prelinkedKernelPath = malloc(PATH_MAX);
815 if (!toolArgs->prelinkedKernelPath) {
833 if (!setDefaultPrelinkedKernel(toolArgs)) {
836 toolArgs->needDefaultPrelinkedKernelInfo = true;
837 setSystemExtensionsFolders(toolArgs);
840 size_t len = strlcpy(toolArgs->prelinkedKernelPath, filename, PATH_MAX);
860 ExitStatus doUpdateVolume(KextcacheArgs *toolArgs)
868 if (toolArgs->forceUpdateFlag) { opts |= kBRUForceUpdateHelpers; }
869 if (toolArgs->expectUpToDate) { opts |= kBRUExpectUpToDate; }
870 if (toolArgs->cachesOnly) { opts |= kBRUCachesOnly; }
871 if (toolArgs->installerCalled) {
878 if (toolArgs->lowPriorityFlag == false) {
890 result = checkUpdateCachesAndBoots(toolArgs->updateVolumeURL, opts);
898 if (toolArgs->lowPriorityFlag == false && pmres == 0) {
910 Boolean setDefaultKernel(KextcacheArgs * toolArgs)
916 if (!toolArgs->kernelPath) {
917 toolArgs->kernelPath = malloc(PATH_MAX);
918 if (!toolArgs->kernelPath) {
924 length = strlcpy(toolArgs->kernelPath,
934 if (EX_OK != statPath(toolArgs->kernelPath, &statBuf)) {
937 TIMESPEC_TO_TIMEVAL(&toolArgs->kernelTimes[0], &statBuf.st_atimespec);
938 TIMESPEC_TO_TIMEVAL(&toolArgs->kernelTimes[1], &statBuf.st_mtimespec);
949 Boolean setDefaultPrelinkedKernel(KextcacheArgs * toolArgs)
959 length = strlcpy(toolArgs->prelinkedKernelPath,
977 void setSystemExtensionsFolders(KextcacheArgs * toolArgs)
981 CFArrayAppendArray(toolArgs->argURLs,
983 CFArrayAppendArray(toolArgs->repositoryURLs,
1215 void setDefaultArchesIfNeeded(KextcacheArgs * toolArgs)
1220 if (toolArgs->explicitArch) {
1224 CFArrayRemoveAllValues(toolArgs->targetArchs);
1225 addArch(toolArgs, OSKextGetRunningKernelArchitecture());
1234 KextcacheArgs * toolArgs,
1237 if (CFArrayContainsValue(toolArgs->targetArchs,
1238 RANGE_ALL(toolArgs->targetArchs), arch))
1243 CFArrayAppendValue(toolArgs->targetArchs, arch);
1249 KextcacheArgs * toolArgs,
1259 addArch(toolArgs, result);
1315 ExitStatus checkArgs(KextcacheArgs * toolArgs)
1319 if (!toolArgs->mkextPath && !toolArgs->prelinkedKernelPath &&
1320 !toolArgs->updateVolumeURL && !toolArgs->updateSystemCaches)
1328 if (toolArgs->volumeRootURL && !toolArgs->mkextPath &&
1329 !toolArgs->prelinkedKernelPath)
1338 if (!toolArgs->updateVolumeURL && !CFArrayGetCount(toolArgs->argURLs) &&
1339 !toolArgs->compress && !toolArgs->uncompress)
1347 if (!toolArgs->compress && !toolArgs->uncompress) {
1348 toolArgs->compress = true;
1349 } else if (toolArgs->compress && toolArgs->uncompress) {
1354 toolArgs->compress = true;
1355 toolArgs->uncompress = false;
1359 if (toolArgs->forceUpdateFlag && toolArgs->cachesOnly) {
1365 if (toolArgs->forceUpdateFlag) {
1366 if (toolArgs->expectUpToDate || !toolArgs->updateVolumeURL) {
1374 if (toolArgs->installerCalled) {
1375 if (toolArgs->expectUpToDate || !toolArgs->updateVolumeURL) {
1383 if (toolArgs->cachesOnly) {
1384 if (toolArgs->expectUpToDate || !toolArgs->updateVolumeURL) {
1394 if (toolArgs->updateVolumeURL) {
1395 if (toolArgs->mkextPath || toolArgs->prelinkedKernelPath) {
1403 setDefaultArchesIfNeeded(toolArgs);
1409 if (toolArgs->extensionsDirTimes[1].tv_sec == 0 &&
1410 CFArrayGetCount(toolArgs->repositoryURLs)) {
1411 result = getLatestTimesFromCFURLArray(toolArgs->repositoryURLs,
1412 toolArgs->extensionsDirTimes);
1422 if (toolArgs->needDefaultPrelinkedKernelInfo && !toolArgs->kernelPath) {
1423 if (!setDefaultKernel(toolArgs)) {
1429 if (toolArgs->prelinkedKernelPath && CFArrayGetCount(toolArgs->argURLs)) {
1432 if (!toolArgs->kernelPath) {
1438 result = statPath(toolArgs->kernelPath, &myStatBuf);
1442 TIMESPEC_TO_TIMEVAL(&toolArgs->kernelTimes[0], &myStatBuf.st_atimespec);
1443 TIMESPEC_TO_TIMEVAL(&toolArgs->kernelTimes[1], &myStatBuf.st_mtimespec);
1449 if (toolArgs->needDefaultPrelinkedKernelInfo ||
1450 toolArgs->updateSystemCaches) {
1452 if (CFArrayGetCount(toolArgs->namedKextURLs) || CFSetGetCount(toolArgs->kextIDs) ||
1453 !CFEqual(toolArgs->repositoryURLs, OSKextGetSystemExtensionsFolderURLs())) {
1486 KextcacheArgs *toolArgs)
1505 toolArgs->loadedKexts = OSKextCopyKextsWithIdentifiers(requestedIdentifiers);
1506 if (!toolArgs->loadedKexts) {
1522 ExitStatus updateSystemPlistCaches(KextcacheArgs * toolArgs)
1551 for (i = 0; i < CFArrayGetCount(toolArgs->targetArchs); i++) {
1553 CFArrayGetValueAtIndex(toolArgs->targetArchs, i);
1598 if (EX_OK != updateDirectoryCaches(toolArgs, folderURL)) {
1624 KextcacheArgs * toolArgs,
1661 KextcacheArgs * toolArgs,
1678 result = takeVolumeForPath(toolArgs->mkextPath);
1698 for (i = 0; i < CFArrayGetCount(toolArgs->targetArchs); i++) {
1699 targetArch = CFArrayGetValueAtIndex(toolArgs->targetArchs, i);
1715 result = filterKextsForCache(toolArgs, archiveKexts,
1729 if (toolArgs->mkextVersion == 2) {
1731 toolArgs->volumeRootURL,
1732 kOSKextOSBundleRequiredNone, toolArgs->compress);
1733 } else if (toolArgs->mkextVersion == 1) {
1735 toolArgs->compress);
1765 if (toolArgs->extensionsDirTimes[1].tv_sec != 0) {
1766 result = getLatestTimesFromCFURLArray(toolArgs->repositoryURLs,
1773 if (timercmp(&toolArgs->extensionsDirTimes[1], &extDirsTimes[1], !=)) {
1785 result = writeFatFile(toolArgs->mkextPath, mkexts, toolArgs->targetArchs,
1787 (toolArgs->extensionsDirTimes[1].tv_sec != 0) ? extDirsTimes : NULL);
1795 "Created mkext archive %s.", toolArgs->mkextPath);
1803 putVolumeForPath(toolArgs->mkextPath, result);
1869 KextcacheArgs * toolArgs;
1900 if (kextMatchesFilter(context->toolArgs, theKext,
1901 context->toolArgs->requiredFlagsAll) &&
1916 KextcacheArgs * toolArgs,
1937 if (CFSetGetCount(toolArgs->kextIDs)) {
1940 context.toolArgs = toolArgs;
1943 CFSetApplyFunction(toolArgs->kextIDs, filterKextID, &context);
1954 requiredFlags = toolArgs->requiredFlagsRepositoriesOnly |
1955 toolArgs->requiredFlagsAll;
1961 count = CFArrayGetCount(toolArgs->repositoryKexts);
1965 toolArgs->repositoryKexts, i);
1967 if (!kextMatchesFilter(toolArgs, theKext, requiredFlags)) {
1977 if (toolArgs->mkextPath) {
1982 } else if (toolArgs->prelinkedKernelPath) {
1999 requiredFlags = toolArgs->requiredFlagsAll;
2005 count = CFArrayGetCount(toolArgs->namedKexts);
2008 toolArgs->namedKexts, i);
2010 if (!kextMatchesFilter(toolArgs, theKext, requiredFlags)) {
2020 if (toolArgs->mkextPath) {
2025 } else if (toolArgs->prelinkedKernelPath) {
2077 if (toolArgs->printTestResults) {
2083 if (!toolArgs->skipAuthentication && !OSKextIsAuthentic(theKext)) {
2088 if (toolArgs->printTestResults) {
2103 if (toolArgs->printTestResults) {
2115 if (toolArgs->printTestResults) {
2120 if (isValidKextSigningTargetVolume(toolArgs->volumeRootURL)
2155 if (toolArgs->printTestResults) {
2324 KextcacheArgs * toolArgs,
2329 Boolean needLoadedKextInfo = toolArgs->needLoadedKextInfo &&
2334 CFArrayContainsValue(toolArgs->loadedKexts, RANGE_ALL(toolArgs->loadedKexts), theKext);
2350 KextcacheArgs * toolArgs,
2359 result = readFatFileArchsWithPath(toolArgs->kernelPath, &kernelArchs);
2365 /* capacity */ 0, toolArgs->targetArchs);
2380 toolArgs->kernelPath, targetArch->name);
2403 KextcacheArgs * toolArgs,
2414 if (!toolArgs->needDefaultPrelinkedKernelInfo) {
2422 result = getFilePathTimes(toolArgs->prelinkedKernelPath,
2428 result = getExpectedPrelinkedKernelModTime(toolArgs,
2444 result = readMachOSlices(toolArgs->prelinkedKernelPath,
2465 KextcacheArgs * toolArgs)
2491 result = takeVolumeForPath(toolArgs->prelinkedKernelPath);
2498 result = createPrelinkedKernelArchs(toolArgs, &prelinkArchs);
2506 if (!toolArgs->symbolDirURL) {
2507 result = createExistingPrelinkedSlices(toolArgs,
2559 result = createPrelinkedKernelForArch(toolArgs, &prelinkSlice,
2570 result = getExpectedPrelinkedKernelModTime(toolArgs,
2576 result = writeFatFile(toolArgs->prelinkedKernelPath, prelinkSlices,
2583 if (toolArgs->symbolDirURL) {
2584 result = writePrelinkedSymbols(toolArgs->symbolDirURL,
2594 toolArgs->prelinkedKernelPath);
2603 if (toolArgs->volumeRootURL) {
2604 setVolumeRootInAlertDict(toolArgs->volumeRootURL,
2614 if (toolArgs->volumeRootURL) {
2615 setVolumeRootInAlertDict(toolArgs->volumeRootURL,
2626 if (toolArgs->volumeRootURL) {
2627 setVolumeRootInAlertDict(toolArgs->volumeRootURL,
2639 if (toolArgs->volumeRootURL) {
2640 setVolumeRootInAlertDict(toolArgs->volumeRootURL,
2651 if (toolArgs->volumeRootURL) {
2652 setVolumeRootInAlertDict(toolArgs->volumeRootURL,
2669 putVolumeForPath(toolArgs->prelinkedKernelPath, result);
2699 KextcacheArgs * toolArgs,
2717 kernelImage = readMachOSliceForArch(toolArgs->kernelPath, archInfo, /* checkArch */ TRUE);
2738 * This uses toolArgs->allKexts, which must already be created.
2748 result = filterKextsForCache(toolArgs, prelinkKexts,
2766 flags |= (toolArgs->noLinkFailures) ? kOSKextKernelcacheNeedAllFlag : 0;
2767 flags |= (toolArgs->skipAuthentication) ? kOSKextKernelcacheSkipAuthenticationFlag : 0;
2768 flags |= (toolArgs->printTestResults) ? kOSKextKernelcachePrintDiagnosticsFlag : 0;
2769 flags |= (toolArgs->includeAllPersonalities) ? kOSKextKernelcacheIncludeAllPersonalitiesFlag : 0;
2770 flags |= (toolArgs->stripSymbols) ? kOSKextKernelcacheStripSymbolsFlag : 0;
2782 toolArgs->volumeRootURL, flags, prelinkedSymbolsOut);
2793 if (toolArgs->compress) {
2817 KextcacheArgs * toolArgs,
2828 if (toolArgs->extensionsDirTimes[1].tv_sec == 0 ||
2829 toolArgs->kernelTimes[1].tv_sec == 0) {
2834 result = getLatestTimesFromCFURLArray(toolArgs->repositoryURLs,
2844 result = getFilePathModTimePlusOne(toolArgs->kernelPath,
2845 &toolArgs->kernelTimes[1], kernelTimes);