├── .clang-format ├── .github └── workflows │ └── build.yml ├── .gitignore ├── Frameworks ├── AppSupport.framework │ └── AppSupport.tbd ├── MobileWiFi.framework │ ├── Headers │ │ ├── MobileWiFi.h │ │ ├── WiFiDeviceClient.h │ │ ├── WiFiManager.h │ │ └── WiFiNetwork.h │ └── MobileWiFi.tbd ├── NetworkStatistics.framework │ ├── Headers │ │ └── NetworkStatistics.h │ └── NetworkStatistics.tbd └── Sharing.framework │ ├── Headers │ └── Sharing.h │ └── Sharing.tbd ├── LICENSE ├── Makefile ├── README.md ├── airdrop ├── airdrop-power.m ├── airdrop-scan.m ├── airdrop-send.m └── airdrop.c ├── airplane └── airplane.m ├── cellular └── cellular.m ├── entitlements.plist ├── include ├── CTPrivate.h ├── CTServerConnection.h ├── netctl.h └── output.h ├── monitor ├── DataInfo.h ├── DataInfo.m ├── SourceInfo.h ├── SourceInfo.m └── monitor.m ├── netctl.c ├── print └── print.m ├── utils ├── output.m └── strtonum.c └── wifi ├── wifi-connect.m ├── wifi-forget.m ├── wifi-info.m ├── wifi-power.m ├── wifi-scan.m ├── wifi.h └── wifi.m /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | AccessModifierOffset: -1 3 | AlignAfterOpenBracket: Align 4 | AlignArrayOfStructures: None 5 | AlignConsecutiveMacros: None 6 | AlignConsecutiveAssignments: None 7 | AlignConsecutiveBitFields: None 8 | AlignConsecutiveDeclarations: None 9 | AlignEscapedNewlines: Left 10 | AlignOperands: Align 11 | AlignTrailingComments: true 12 | AllowAllArgumentsOnNextLine: true 13 | AllowAllConstructorInitializersOnNextLine: true 14 | AllowAllParametersOfDeclarationOnNextLine: true 15 | AllowShortEnumsOnASingleLine: true 16 | AllowShortBlocksOnASingleLine: Never 17 | AllowShortCaseLabelsOnASingleLine: false 18 | AllowShortFunctionsOnASingleLine: All 19 | AllowShortLambdasOnASingleLine: All 20 | AllowShortIfStatementsOnASingleLine: WithoutElse 21 | AllowShortLoopsOnASingleLine: true 22 | AlwaysBreakAfterDefinitionReturnType: None 23 | AlwaysBreakAfterReturnType: None 24 | AlwaysBreakBeforeMultilineStrings: true 25 | AlwaysBreakTemplateDeclarations: Yes 26 | AttributeMacros: 27 | - __capability 28 | BinPackArguments: true 29 | BinPackParameters: true 30 | BraceWrapping: 31 | AfterCaseLabel: false 32 | AfterClass: false 33 | AfterControlStatement: Never 34 | AfterEnum: false 35 | AfterFunction: false 36 | AfterNamespace: false 37 | AfterObjCDeclaration: false 38 | AfterStruct: false 39 | AfterUnion: false 40 | AfterExternBlock: false 41 | BeforeCatch: false 42 | BeforeElse: false 43 | BeforeLambdaBody: false 44 | BeforeWhile: false 45 | IndentBraces: false 46 | SplitEmptyFunction: true 47 | SplitEmptyRecord: true 48 | SplitEmptyNamespace: true 49 | BreakBeforeBinaryOperators: None 50 | BreakBeforeConceptDeclarations: true 51 | BreakBeforeBraces: Attach 52 | BreakBeforeInheritanceComma: false 53 | BreakInheritanceList: BeforeColon 54 | BreakBeforeTernaryOperators: true 55 | BreakConstructorInitializersBeforeComma: false 56 | BreakConstructorInitializers: BeforeColon 57 | BreakAfterJavaFieldAnnotations: false 58 | BreakStringLiterals: true 59 | ColumnLimit: 80 60 | CommentPragmas: '^ IWYU pragma:' 61 | CompactNamespaces: false 62 | ConstructorInitializerAllOnOneLineOrOnePerLine: true 63 | ConstructorInitializerIndentWidth: 4 64 | ContinuationIndentWidth: 4 65 | Cpp11BracedListStyle: true 66 | DeriveLineEnding: true 67 | DerivePointerAlignment: true 68 | DisableFormat: false 69 | EmptyLineAfterAccessModifier: Never 70 | EmptyLineBeforeAccessModifier: LogicalBlock 71 | ExperimentalAutoDetectBinPacking: false 72 | FixNamespaceComments: true 73 | ForEachMacros: 74 | - foreach 75 | - Q_FOREACH 76 | - BOOST_FOREACH 77 | IfMacros: 78 | - KJ_IF_MAYBE 79 | IncludeBlocks: Regroup 80 | IncludeCategories: 81 | - Regex: '^' 82 | Priority: 2 83 | SortPriority: 0 84 | CaseSensitive: false 85 | - Regex: '^<.*\.h>' 86 | Priority: 1 87 | SortPriority: 0 88 | CaseSensitive: false 89 | - Regex: '^<.*' 90 | Priority: 2 91 | SortPriority: 0 92 | CaseSensitive: false 93 | - Regex: '.*' 94 | Priority: 3 95 | SortPriority: 0 96 | CaseSensitive: false 97 | IncludeIsMainRegex: '([-_](test|unittest))?$' 98 | IncludeIsMainSourceRegex: '' 99 | IndentAccessModifiers: false 100 | IndentCaseLabels: true 101 | IndentCaseBlocks: false 102 | IndentGotoLabels: true 103 | IndentPPDirectives: None 104 | IndentExternBlock: AfterExternBlock 105 | IndentRequires: false 106 | IndentWidth: 4 107 | IndentWrappedFunctionNames: false 108 | InsertTrailingCommas: None 109 | JavaScriptQuotes: Leave 110 | JavaScriptWrapImports: true 111 | KeepEmptyLinesAtTheStartOfBlocks: false 112 | LambdaBodyIndentation: Signature 113 | MacroBlockBegin: '' 114 | MacroBlockEnd: '' 115 | MaxEmptyLinesToKeep: 1 116 | NamespaceIndentation: None 117 | ObjCBinPackProtocolList: Never 118 | ObjCBlockIndentWidth: 2 119 | ObjCBreakBeforeNestedBlockParam: true 120 | ObjCSpaceAfterProperty: false 121 | ObjCSpaceBeforeProtocolList: true 122 | PenaltyBreakAssignment: 2 123 | PenaltyBreakBeforeFirstCallParameter: 1 124 | PenaltyBreakComment: 300 125 | PenaltyBreakFirstLessLess: 120 126 | PenaltyBreakString: 1000 127 | PenaltyBreakTemplateDeclaration: 10 128 | PenaltyExcessCharacter: 1000000 129 | PenaltyReturnTypeOnItsOwnLine: 200 130 | PenaltyIndentedWhitespace: 0 131 | PointerAlignment: Left 132 | PPIndentWidth: -1 133 | RawStringFormats: 134 | - Language: Cpp 135 | Delimiters: 136 | - cc 137 | - CC 138 | - cpp 139 | - Cpp 140 | - CPP 141 | - 'c++' 142 | - 'C++' 143 | CanonicalDelimiter: '' 144 | BasedOnStyle: google 145 | - Language: TextProto 146 | Delimiters: 147 | - pb 148 | - PB 149 | - proto 150 | - PROTO 151 | EnclosingFunctions: 152 | - EqualsProto 153 | - EquivToProto 154 | - PARSE_PARTIAL_TEXT_PROTO 155 | - PARSE_TEST_PROTO 156 | - PARSE_TEXT_PROTO 157 | - ParseTextOrDie 158 | - ParseTextProtoOrDie 159 | - ParseTestProto 160 | - ParsePartialTestProto 161 | CanonicalDelimiter: pb 162 | BasedOnStyle: google 163 | ReferenceAlignment: Pointer 164 | ReflowComments: true 165 | ShortNamespaceLines: 1 166 | SortIncludes: CaseSensitive 167 | SortJavaStaticImport: Before 168 | SortUsingDeclarations: true 169 | SpaceAfterCStyleCast: false 170 | SpaceAfterLogicalNot: false 171 | SpaceAfterTemplateKeyword: true 172 | SpaceBeforeAssignmentOperators: true 173 | SpaceBeforeCaseColon: false 174 | SpaceBeforeCpp11BracedList: false 175 | SpaceBeforeCtorInitializerColon: true 176 | SpaceBeforeInheritanceColon: true 177 | SpaceBeforeParens: ControlStatements 178 | SpaceAroundPointerQualifiers: Default 179 | SpaceBeforeRangeBasedForLoopColon: true 180 | SpaceInEmptyBlock: false 181 | SpaceInEmptyParentheses: false 182 | SpacesBeforeTrailingComments: 2 183 | SpacesInAngles: Never 184 | SpacesInConditionalStatement: false 185 | SpacesInContainerLiterals: true 186 | SpacesInCStyleCastParentheses: false 187 | SpacesInLineCommentPrefix: 188 | Minimum: 1 189 | Maximum: -1 190 | SpacesInParentheses: false 191 | SpacesInSquareBrackets: false 192 | SpaceBeforeSquareBrackets: false 193 | BitFieldColonSpacing: Both 194 | Standard: Auto 195 | StatementAttributeLikeMacros: 196 | - Q_EMIT 197 | StatementMacros: 198 | - Q_UNUSED 199 | - QT_REQUIRE_VERSION 200 | TabWidth: 4 201 | UseCRLF: false 202 | UseTab: Always 203 | WhitespaceSensitiveMacros: 204 | - STRINGIZE 205 | - PP_STRINGIZE 206 | - BOOST_PP_STRINGIZE 207 | - NS_SWIFT_NAME 208 | - CF_SWIFT_NAME 209 | ... 210 | 211 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | on: 3 | push: 4 | paths: 5 | - '*.m' 6 | - '*.c' 7 | - '*.h' 8 | - '.github/workflows/*' 9 | - 'Makefile' 10 | pull_request: 11 | paths: 12 | - '*.m' 13 | - '*.c' 14 | - '*.h' 15 | - '.github/workflows/*' 16 | - 'Makefile' 17 | workflow_dispatch: 18 | release: 19 | types: 20 | - created 21 | 22 | jobs: 23 | build-macos: 24 | runs-on: macos-11 25 | steps: 26 | - uses: actions/checkout@v1 27 | with: 28 | submodules: recursive 29 | 30 | - name: setup environment 31 | run: | 32 | echo "CC=xcrun -sdk iphoneos cc -arch arm64" >> $GITHUB_ENV 33 | echo "STRIP=xcrun -sdk iphoneos strip" >> $GITHUB_ENV 34 | echo "CFLAGS=-Os -flto=thin -miphoneos-version-min=12.0" >> $GITHUB_ENV 35 | echo "LDFLAGS=-Os -flto=thin -miphoneos-version-min=12.0" >> $GITHUB_ENV 36 | gh run download -R ProcursusTeam/ldid -n ldid_macos_x86_64 37 | chmod +x ldid 38 | echo "LDID=./ldid" >> $GITHUB_ENV 39 | env: 40 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 41 | 42 | - name: build 43 | run: | 44 | make -j$(sysctl -n hw.ncpu) 45 | 46 | - uses: actions/upload-artifact@v1 47 | with: 48 | name: netctl 49 | path: netctl 50 | 51 | - name: Upload Release Asset 52 | uses: actions/upload-release-asset@v1 53 | if: ${{ github.event_name == 'release' }} 54 | env: 55 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 56 | with: 57 | upload_url: ${{ github.event.release.upload_url }} 58 | asset_path: netctl 59 | asset_name: netctl 60 | asset_content_type: application/octet-stream 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | netctl 2 | *.o 3 | *.dSYM 4 | 5 | .cache 6 | compile_commands.json 7 | .vscode 8 | -------------------------------------------------------------------------------- /Frameworks/AppSupport.framework/AppSupport.tbd: -------------------------------------------------------------------------------- 1 | --- !tapi-tbd 2 | tbd-version: 4 3 | targets: [ arm64-ios ] 4 | install-name: '/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport' 5 | current-version: 29 6 | exports: 7 | - targets: [ arm64-ios ] 8 | symbols: [ _ALCityCountryNameKey, _ALCityCountryOverrideKey, _ALCityDisplayNameIncludingCountryUsesOnlyCountry, 9 | _ALCityIdentifierKey, _ALCityLatitudeKey, _ALCityLocaleCodeKey, 10 | _ALCityLongitudeKey, _ALCityNameKey, _ALCityPropertiesCount, 11 | _ALCityTimeZoneKey, _ALCityUnlocalizedCountryNameKey, _ALCityUnlocalizedCountryOverrideKey, 12 | _ALCityUnlocalizedNameKey, _ALCityYahooCodeKey, _AirplaneModeKey, 13 | _CPAbbreviatedDateFormatWithoutCommas, _CPAbbreviatedMonthDayFormat, 14 | _CPAbbreviatedWeekdayDateFormat, _CPAbbreviatedWeekdayFormat, 15 | _CPAbbreviatedWeekdayMonthDayFormat, _CPAbbreviatedWeekdayMonthDayMinutelessFormat, 16 | _CPAbbreviatedWeekdayMonthDayTimeFormat, _CPAggregateDictionaryAddValueForScalarKey, 17 | _CPBasename, _CPBitmapCreateImagesFromData, _CPBitmapCreateImagesFromPath, 18 | _CPBitmapCreateMappedDataFromPath, _CPBitmapImageFormatColor, 19 | _CPBitmapWriteImagesToPath, _CPBitmapWriterAddImage, _CPBitmapWriterCreate, 20 | _CPBitmapWriterCreateWithFileDescriptor, _CPBitmapWriterCreateWithPath, 21 | _CPBitmapWriterFinalize, _CPBitmapWriterGetTypeID, _CPBundleIdentifier, 22 | _CPCanSendMMS, _CPCanSendMMSChangedDistributedNotification, 23 | _CPCanSendMail, _CPCancelWakeAtDateWithIdentifier, _CPCityGetIdentifier, 24 | _CPCityGetLocalizedCityName, _CPCityGetLocalizedCountryName, 25 | _CPCityGetTimeZoneFile, _CPCopyBundleIdentifierAndTeamFromApplicationIdentifier, 26 | _CPCopyBundleIdentifierAndTeamFromAuditToken, _CPCopyBundleIdentifierAndTeamFromSecTaskRef, 27 | _CPCopyBundleIdentifierFromAuditToken, _CPCopySharedResourcesPreferencesDomainForDomain, 28 | _CPCreateMIGServerSource, _CPCreateMIGServerSourceWithContext, 29 | _CPDMMessage, _CPDMNonBlockingMessage, _CPDMTwoWayMessage, 30 | _CPDMTwoWayMessageReply, _CPDMTwoWayMessageReplyWithPortPassing, 31 | _CPDMTwoWayMessageWithPortPassing, _CPDNCheckIn, _CPDNDeliverNotification, 32 | _CPDataMethods, _CPDateFormatStringForFormatType, _CPDateMethods, 33 | _CPDatePickerYearFormat, _CPDeleteFile, _CPDeleteTree, _CPDistributedMessagingCenterServerDidTerminateNotification, 34 | _CPDistributedMessaging_server, _CPDistributedMessaging_server_routine, 35 | _CPDistributedNotificationCenterClientDidStartListeningNotification, 36 | _CPDistributedNotificationCenterClientDidStopListeningNotification, 37 | _CPDistributedNotificationCheckIn_server, _CPDistributedNotificationCheckIn_server_routine, 38 | _CPDistributedNotification_server, _CPDistributedNotification_server_routine, 39 | _CPFSProgressString, _CPFSProgressStringWithStyle, _CPFSSizeStrings, 40 | _CPFSSizeStringsWithStyle, _CPFileBuildDirectoriesToPath, 41 | _CPFileCompressionZDeflate, _CPFloatMethods, _CPFreeSpaceRequestBytesAtPathWithCompletionBlock, 42 | _CPGetContextForCalloutCurrentMIGServerSource, _CPGetDeviceRegionCode, 43 | _CPGetMachPortForMIGServerSource, _CPHourFormat, _CPICUCreateSearchCollator, 44 | _CPICUReleaseSearchCollator, _CPIntegerMethods, _CPIsInternalDevice, 45 | _CPLogV, _CPLoggingAddCustomLogConfiguration, _CPLoggingAddCustomLogFile, 46 | _CPLoggingAppendDataToLogFile, _CPLoggingConsoleUsesRealLevels, 47 | _CPLoggingCopyCustomLogDirectory, _CPLoggingCopyCustomLogName, 48 | _CPLoggingCopyLogDirectory, _CPLoggingCopyLogName, _CPLoggingCustomConsoleUsesRealLevels, 49 | _CPLoggingCustomMaxConsoleLevel, _CPLoggingCustomMaxLogFileCount, 50 | _CPLoggingCustomMaxLogFileLevel, _CPLoggingCustomMaxLogFileSize, 51 | _CPLoggingCustomWantsCompressedFiles, _CPLoggingFlush, _CPLoggingFlushWithCompletion, 52 | _CPLoggingIsFacilityDefined, _CPLoggingMaxConsoleLevel, _CPLoggingMaxLogFileCount, 53 | _CPLoggingMaxLogFileLevel, _CPLoggingMaxLogFileSize, _CPLoggingSetConsoleLevelDefaults, 54 | _CPLoggingSetConsoleUsesRealLevels, _CPLoggingSetCreateConsoleLogFormatBlock, 55 | _CPLoggingSetCreateFileLogFormatBlock, _CPLoggingSetCreateLogFormatBlock, 56 | _CPLoggingSetCustomConsoleLevelDefaults, _CPLoggingSetCustomConsoleUsesRealLevels, 57 | _CPLoggingSetCustomCreateConsoleLogFormatBlock, _CPLoggingSetCustomCreateFileLogFormatBlock, 58 | _CPLoggingSetCustomCreateLogFormatBlock, _CPLoggingSetCustomDidCreateNewFileBlock, 59 | _CPLoggingSetCustomLogDirectory, _CPLoggingSetCustomLogFileLevelDefaults, 60 | _CPLoggingSetCustomLogName, _CPLoggingSetCustomMaxConsoleLevel, 61 | _CPLoggingSetCustomMaxLogFileCount, _CPLoggingSetCustomMaxLogFileLevel, 62 | _CPLoggingSetCustomMaxLogFileSize, _CPLoggingSetCustomWantsCompressedFiles, 63 | _CPLoggingSetCustomWillLogToConsoleBlock, _CPLoggingSetCustomWillLogToLogFileBlock, 64 | _CPLoggingSetDidCreateNewFileBlock, _CPLoggingSetLogDirectory, 65 | _CPLoggingSetLogFileLevelDefaults, _CPLoggingSetLogName, _CPLoggingSetMaxConsoleLevel, 66 | _CPLoggingSetMaxLogFileCount, _CPLoggingSetMaxLogFileLevel, 67 | _CPLoggingSetMaxLogFileSize, _CPLoggingSetUsesOwnAslClient, 68 | _CPLoggingSetWantsCompressedFiles, _CPLoggingSetWillLogToConsoleBlock, 69 | _CPLoggingSetWillLogToLogFileBlock, _CPLoggingSlurpFileIntoLogFile, 70 | _CPLoggingStartNewLogFile, _CPLoggingStartNewLogFileNextLine, 71 | _CPLoggingWantsCompressedFiles, _CPMachAbsoluteTime, _CPMachAbsoluteTimeIntervalToCFTimeInterval, 72 | _CPMinutelessTimeFormat, _CPMonthDayFormat, _CPMonthYearFormat, 73 | _CPNetworkObserverHostname, _CPNetworkObserverHostnameReachableNotification, 74 | _CPNetworkObserverNetworkReachableNotification, _CPNetworkObserverReachable, 75 | _CPNetworkObserverReachableFlags, _CPNetworkObserverWiFiEnabled, 76 | _CPNetworkObserverWiFiNotification, _CPNoAMPMTimeFormat, _CPNotesDisplayFormat, 77 | _CPNotesDisplayFormatWithYear, _CPNotesFormatWithYear, _CPNumberMethods, 78 | _CPOpenTemporaryFile, _CPPhoneNumberActiveCountryCodeChangedNotification, 79 | _CPPhoneNumberCopyActiveCountryCode, _CPPhoneNumberCopyActiveCountryCodeNoDefault, 80 | _CPPhoneNumberCopyCountryCodeForIncomingNumber, _CPPhoneNumberCopyCountryCodeForIncomingTextMessage, 81 | _CPPhoneNumberCopyCountryCodeForIncomingVoiceCall, _CPPhoneNumberCopyCountryCodeForInternationalCallingCode, 82 | _CPPhoneNumberCopyFormattedStringForTextMessage, _CPPhoneNumberCopyFormattedStringForVoiceCall, 83 | _CPPhoneNumberCopyHomeCountryCode, _CPPhoneNumberCopyLastKnownNetworkCountryCode, 84 | _CPPhoneNumberCopyNetworkCountryCode, _CPPhoneNumberCopyNormalized, 85 | _CPPhoneNumberGetLastFour, _CPPhoneNumberHomeCountryCodeChangedNotification, 86 | _CPPhoneNumberNetworkCountryCodeChangedNotification, _CPPhoneNumberSetActiveCountryCode, 87 | _CPPhoneNumberSetHomeCountryCode, _CPPhoneNumberSetNetworkCountryCode, 88 | _CPPhoneNumbersEqual, _CPPhoneNumbersEqualStrict, _CPPhoneNumbersEqualWithCountries, 89 | _CPPowerAssertionCreate, _CPRecordCopyChangedProperties, _CPRecordCopyProperty, 90 | _CPRecordCopyTableName, _CPRecordCreate, _CPRecordCreateCopy, 91 | _CPRecordCreateWithRecordID, _CPRecordDestroy, _CPRecordDetachWithRecordID, 92 | _CPRecordGetCachedProperty, _CPRecordGetClass, _CPRecordGetID, 93 | _CPRecordGetIntegerProperty, _CPRecordGetOriginalProperty, 94 | _CPRecordGetProperty, _CPRecordGetPropertyDescriptor, _CPRecordGetStore, 95 | _CPRecordGetTypeID, _CPRecordIndexOfPropertyNamed, _CPRecordInitializeProperty, 96 | _CPRecordInitializePropertyAndAllowLoading, _CPRecordInvalidateRecord, 97 | _CPRecordIsDeleted, _CPRecordIsPendingAdd, _CPRecordIsPendingChange, 98 | _CPRecordIsPendingDelete, _CPRecordMarkChanged, _CPRecordMarkPropertyChanged, 99 | _CPRecordProcessAddImmediate, _CPRecordProcessChangesImmediate, 100 | _CPRecordSetProperty, _CPRecordShow, _CPRecordStoreAddExistingRecord, 101 | _CPRecordStoreAddRecord, _CPRecordStoreCopyAddedRecords, _CPRecordStoreCopyAllInstancesOfClass, 102 | _CPRecordStoreCopyAllInstancesOfClassWhere, _CPRecordStoreCopyAllInstancesOfClassWhereWithBindBlock, 103 | _CPRecordStoreCopyAllInstancesOfClassWithAliasAndFilter, _CPRecordStoreCopyChangedRecords, 104 | _CPRecordStoreCopyDeletedRecordIDsOfClass, _CPRecordStoreCopyDeletedRecords, 105 | _CPRecordStoreCopyInstancesOfClassWithUIDs, _CPRecordStoreCopyValueForProperty, 106 | _CPRecordStoreCreateColumnList, _CPRecordStoreCreateColumnListFromRecordDescriptor, 107 | _CPRecordStoreCreateColumnListWithAliasAndExtraColumns, _CPRecordStoreCreateDistinctColumnList, 108 | _CPRecordStoreCreateJoinableSelectPrefixFromRecordDescriptor, 109 | _CPRecordStoreCreateReadColumns, _CPRecordStoreCreateSelectPrefix, 110 | _CPRecordStoreCreateSelectPrefixFromRecordDescriptor, _CPRecordStoreCreateSelectPrefixFromRecordDescriptorWithAdditionalColumn, 111 | _CPRecordStoreCreateSelectPrefixFromRecordDescriptorWithAdditionalColumns, 112 | _CPRecordStoreCreateSelectPrefixWithTableExpressionAndAlias, 113 | _CPRecordStoreCreateSelectStatement, _CPRecordStoreCreateTablesForClass, 114 | _CPRecordStoreCreateWithPath, _CPRecordStoreCreateWithPathAndOptions, 115 | _CPRecordStoreDeleteChangesForClassToIndex, _CPRecordStoreDeleteChangesForClassToIndexWhere, 116 | _CPRecordStoreDeleteChangesForClassToIndexWhereWithBindBlock, 117 | _CPRecordStoreDeleteChangesForClassToSequenceNumberWhere, 118 | _CPRecordStoreDeleteChangesForClassWithIndices, _CPRecordStoreDestroy, 119 | _CPRecordStoreGetCachedInstanceOfClassWithUID, _CPRecordStoreGetChangesAndChangeIndicesAndSequenceNumbersForClassWithBindBlockAndProperties, 120 | _CPRecordStoreGetChangesAndChangeIndicesAndSequenceNumbersForClassWithOrderAndBindBlockAndProperties, 121 | _CPRecordStoreGetChangesAndChangeIndicesAndSequenceNumbersForClassWithProperties, 122 | _CPRecordStoreGetChangesAndChangeIndicesForClassWithBindBlockAndProperties, 123 | _CPRecordStoreGetChangesAndChangeIndicesForClassWithProperties, 124 | _CPRecordStoreGetChangesForClass, _CPRecordStoreGetChangesForClassWithBindBlockAndProperties, 125 | _CPRecordStoreGetChangesForClassWithProperties, _CPRecordStoreGetContext, 126 | _CPRecordStoreGetCountOfInstancesOfClassWhere, _CPRecordStoreGetCountOfInstancesOfClassWithFilterAndBindBlock, 127 | _CPRecordStoreGetDatabase, _CPRecordStoreGetInstanceOfClassWithUID, 128 | _CPRecordStoreGetLastSequenceNumber, _CPRecordStoreGetRecordIDForRowid, 129 | _CPRecordStoreGetRowidForRecordID, _CPRecordStoreGetSequenceNumber, 130 | _CPRecordStoreHasUnsavedChanges, _CPRecordStoreInvalidateCachedInstancesOfClass, 131 | _CPRecordStoreInvalidateCachedInstancesOfClassWithBlock, _CPRecordStoreInvalidateCaches, 132 | _CPRecordStoreIsLoggingChanges, _CPRecordStoreLogChanges, 133 | _CPRecordStoreProcessAddedRecords, _CPRecordStoreProcessAddedRecordsOfClass, 134 | _CPRecordStoreProcessAddedRecordsOfClassWithPolicy, _CPRecordStoreProcessAddedRecordsOfClassWithPolicyAndTransactionType, 135 | _CPRecordStoreProcessAddedRecordsWithPolicy, _CPRecordStoreProcessAddedRecordsWithPolicyAndTransactionType, 136 | _CPRecordStoreProcessAddedRecordsWithPolicyAndTransactionTypeMatchingPredicate, 137 | _CPRecordStoreProcessDeletedRecordsWithPolicyAndTransactionType, 138 | _CPRecordStoreProcessQuery, _CPRecordStoreProcessQueryWithBindBlock, 139 | _CPRecordStoreProcessRecordStatementWithPropertyIndices, _CPRecordStoreProcessRecordStatementWithPropertyIndicesAndQueryDescriptor, 140 | _CPRecordStoreProcessStatement, _CPRecordStoreProcessStatementWithPropertyIndices, 141 | _CPRecordStoreRegisterClass, _CPRecordStoreRemoveProperty, 142 | _CPRecordStoreRemoveRecord, _CPRecordStoreRemoveRecordInternal, 143 | _CPRecordStoreRemoveRecordOfClassWithUID, _CPRecordStoreRevert, 144 | _CPRecordStoreSave, _CPRecordStoreSaveWithCallback, _CPRecordStoreSaveWithCallbackAndTransactionType, 145 | _CPRecordStoreSaveWithPreAndPostCallbacksAndTransactionType, 146 | _CPRecordStoreSetContext, _CPRecordStoreSetSetupHandler, _CPRecordStoreSetValueForProperty, 147 | _CPRecordUnloadProperty, _CPScheduleWakeAtDateWithIdentifier, 148 | _CPSecureDeleteFile, _CPSetPowerAssertionWithIdentifier, _CPSharedResourcesDirectory, 149 | _CPShortMonthDayFormat, _CPSqliteCompareSortKeyPrefixes, _CPSqliteConnectionAddRecord, 150 | _CPSqliteConnectionAddRecordWithRowid, _CPSqliteConnectionBegin, 151 | _CPSqliteConnectionBeginTransactionType, _CPSqliteConnectionCheckNoConnectionError, 152 | _CPSqliteConnectionCommit, _CPSqliteConnectionCopyValueForProperty, 153 | _CPSqliteConnectionCopyValuesForPropertiesLike, _CPSqliteConnectionDatabaseVersion, 154 | _CPSqliteConnectionDisableProgressHandlerCallback, _CPSqliteConnectionEnableProgressHandlerCallback, 155 | _CPSqliteConnectionFlushStatementCache, _CPSqliteConnectionGetActiveTransactionType, 156 | _CPSqliteConnectionIntegerForProperty, _CPSqliteConnectionIntegerForPropertyWithDefaultValue, 157 | _CPSqliteConnectionPerformSQL, _CPSqliteConnectionRemoveProperty, 158 | _CPSqliteConnectionRollback, _CPSqliteConnectionRowidOfLastInsert, 159 | _CPSqliteConnectionSetDatabaseVersion, _CPSqliteConnectionSetIntegerForProperty, 160 | _CPSqliteConnectionSetShouldCacheStatements, _CPSqliteConnectionSetValueForProperty, 161 | _CPSqliteConnectionShouldCacheStatements, _CPSqliteConnectionStatementForSQL, 162 | _CPSqliteConnectionUpdateRecord, _CPSqliteDatabaseClose, _CPSqliteDatabaseCloseAllConnections, 163 | _CPSqliteDatabaseConnectionForReading, _CPSqliteDatabaseConnectionForReadingWithSqlite3OpenFlags, 164 | _CPSqliteDatabaseConnectionForWriting, _CPSqliteDatabaseConnectionForWritingWithSqlite3OpenFlags, 165 | _CPSqliteDatabaseConnectionForWritingWithSqlite3OpenFlagsAndReturnError, 166 | _CPSqliteDatabaseCopyUniqueIdentifier, _CPSqliteDatabaseCopyValueForProperty, 167 | _CPSqliteDatabaseCreateWithPath, _CPSqliteDatabaseDefaultSetupHandler, 168 | _CPSqliteDatabaseDelete, _CPSqliteDatabaseDeletePreservingOptions, 169 | _CPSqliteDatabaseDeleteUsingJournalModeWAL, _CPSqliteDatabaseGetAutoVacuumLevel, 170 | _CPSqliteDatabaseGetStatementCacheLimit, _CPSqliteDatabaseIsAccessPermitted, 171 | _CPSqliteDatabaseIsCorrupted, _CPSqliteDatabasePath, _CPSqliteDatabaseRegisterFunction, 172 | _CPSqliteDatabaseRegisterMatchesExactSearchStringFunction, 173 | _CPSqliteDatabaseRegisterMatchesSearchStringByWordFunction, 174 | _CPSqliteDatabaseRegisterMatchesSearchStringFunction, _CPSqliteDatabaseReleaseSqliteConnection, 175 | _CPSqliteDatabaseReleaseSqliteStatement, _CPSqliteDatabaseRemoveProperty, 176 | _CPSqliteDatabaseRequestUnlock, _CPSqliteDatabaseSetAccessRequestHandler, 177 | _CPSqliteDatabaseSetAutoRetryStatements, _CPSqliteDatabaseSetAutoVacuumLevel, 178 | _CPSqliteDatabaseSetBusyHandler, _CPSqliteDatabaseSetCommitHookCallback, 179 | _CPSqliteDatabaseSetConnectionInitializer, _CPSqliteDatabaseSetCorruptionHandler, 180 | _CPSqliteDatabaseSetDataProtectionLevel, _CPSqliteDatabaseSetDatabaseDeletedCallback, 181 | _CPSqliteDatabaseSetDatabaseInitializer, _CPSqliteDatabaseSetExternalConversionChecker, 182 | _CPSqliteDatabaseSetJournalModeWAL, _CPSqliteDatabaseSetLoggingEnabled, 183 | _CPSqliteDatabaseSetMigrationHandlers, _CPSqliteDatabaseSetMigrationPluginBundleID, 184 | _CPSqliteDatabaseSetProfileCallback, _CPSqliteDatabaseSetProfileCallbackWithContext, 185 | _CPSqliteDatabaseSetPropertiesEnabled, _CPSqliteDatabaseSetSetupHandler, 186 | _CPSqliteDatabaseSetShouldMigrateInProcess, _CPSqliteDatabaseSetShouldRequestUnlock, 187 | _CPSqliteDatabaseSetShouldYieldWhenRequested, _CPSqliteDatabaseSetStatementCacheLimit, 188 | _CPSqliteDatabaseSetSupportsReadOnlyConnections, _CPSqliteDatabaseSetThreadSafeEnabled, 189 | _CPSqliteDatabaseSetUpdateHookCallback, _CPSqliteDatabaseSetVFSModuleName, 190 | _CPSqliteDatabaseSetValueForProperty, _CPSqliteDatabaseSetVersion, 191 | _CPSqliteDatabaseStatementForReading, _CPSqliteDatabaseStatementForWriting, 192 | _CPSqliteDatabaseUnlockRequested, _CPSqliteHasSortKeyPrefix, 193 | _CPSqlitePhoneNumberContainsAlphaCharacters, _CPSqlitePreparedStatement, 194 | _CPSqliteRegisterYieldNotifyBlock, _CPSqliteSetDefaultPageCacheSize, 195 | _CPSqliteSetDefaultSharedCacheModeEnabledState, _CPSqliteSetupLoggingForDatabaseHandle, 196 | _CPSqliteStatementApplyValuesFromRecord, _CPSqliteStatementApplyValuesFromRecordWithNullValue, 197 | _CPSqliteStatementBindValuesForColumns, _CPSqliteStatementCopyStringResult, 198 | _CPSqliteStatementInteger64Result, _CPSqliteStatementIntegerResult, 199 | _CPSqliteStatementPerform, _CPSqliteStatementProcessPhoneQuery, 200 | _CPSqliteStatementReset, _CPSqliteStatementSendResults, _CPSqliteUtilitiesGetIntegerQueryResultAtPath, 201 | _CPSqliteUtilitiesGetSchemaVersionAtPath, _CPStringMethods, 202 | _CPSystemRootDirectory, _CPTemporaryFileWithUniqueName, _CPTemporaryPath, 203 | _CPTimeBlock, _CPWeekdayAbbreviatedDateFormat, _CPWeekdayAbbreviatedNoYearDateFormat, 204 | _CPWeekdayFormat, _CPWeekdayNoYearDateFormat, _CRAppsKey, 205 | _CRCopyAppsRank, _CRCopyCountryCode, _CRCopyMoviesRank, _CRCopyRestrictionsDictionary, 206 | _CRCopyTVShowsRank, _CRCountryCodeKey, _CRDefaultCountryCode, 207 | _CRDefaultRank, _CRDisableRank, _CRMaxRank, _CRMinRank, _CRMoviesKey, 208 | _CRTVShowsKey, _ICUSearchContextPattern, _Int64SetKeyCallbacks, 209 | _RadioPreferencesCallback, _RadiosPreferencesAirplaneModeDidChangeNotification, 210 | _RadiosSCPrefsID, _TelephonyStateBundleIdentifierKey, _TelephonyStateEnabledKey, 211 | _TelephonyStateKey, __CPCreateUTF8StringFromCFString, __CPDMCPDistributedMessaging_subsystem, 212 | __CPDMMessage, __CPDMNonBlockingMessage, __CPDMTwoWayMessage, 213 | __CPDMTwoWayMessageWithPortPassing, __CPDNCPDistributedNotificationCheckIn_subsystem, 214 | __CPDNCPDistributedNotification_subsystem, __CPDNCheckIn, 215 | __CPDNDeliverNotification, __CPLog, __CPLogLine, __CPLogObfusc, 216 | __CPLoggingCustomMaxConsoleLevel, __CPLoggingCustomMaxLogFileLevel, 217 | __CPLoggingMaxAcceptedLevel, __CPTimeFormatIs24HourMode, __CRCopyValueForKey, 218 | __CreateICUSQLiteContext, __DisposeICUSQLiteContext, __ICUSQLiteMatch, 219 | ___CPBitmapDataWithOffsetDirectProviderCallbacks, ___CPPowerAssertionGetTimeouts, 220 | ___CPPowerAssertionsGetCount, __bindColumnValueAtIndex, __kCPDistributedMessagingMagicCenterCreationKeyValue, 221 | __phoneNumbersEqual, _check_and_decompose_string, _decomposePhoneNumber, 222 | _downloadDictionary, _freeICUSearchContext, _getConfigPListURL, 223 | _get_canonical_language_identifier_for_string, _initICUSearchContext, 224 | _kCPAlternateNamesIndex, _kCPBitmapErrorDomain, _kCPCityNameIndex, 225 | _kCPCountryNameIndex, _kCPFreeSpaceEffortLevelKey, _kCPFreeSpaceErrorDomain, 226 | _kCPIdentifierIndex, _kCPLocalizedCityNameIndex, _kCPLocalizedCountryNameIndex, 227 | _kCPLoggingCustomConsoleLevelDefaultsDomainKey, _kCPLoggingCustomConsoleLevelDefaultsKeyKey, 228 | _kCPLoggingCustomConsoleUsesRealLevelsKey, _kCPLoggingCustomCreateConsoleLogFormatBlock, 229 | _kCPLoggingCustomCreateFileLogFormatBlock, _kCPLoggingCustomCreateLogFormatBlock, 230 | _kCPLoggingCustomDidCreateNewFileBlock, _kCPLoggingCustomLogDirectoryKey, 231 | _kCPLoggingCustomLogFileLevelDefaultsDomainKey, _kCPLoggingCustomLogFileLevelDefaultsKeyKey, 232 | _kCPLoggingCustomLogNameKey, _kCPLoggingCustomMaxConsoleLevelKey, 233 | _kCPLoggingCustomMaxLogFileCountKey, _kCPLoggingCustomMaxLogFileLevelKey, 234 | _kCPLoggingCustomMaxLogFileSizeKey, _kCPLoggingCustomWantsCompressedFilesKey, 235 | _kCPLoggingCustomWillLogToConsoleBlock, _kCPLoggingCustomWillLogToLogFileBlock, 236 | _kCPLoggingEnableNewlinesKey, _kCPLoggingFirstLineOfFileKey, 237 | _kCPPhoneNumberActiveCountryCodeChangedInternalNotification, 238 | _kCPPhoneNumberActiveCountryCodeKey, _kCPPhoneNumberHomeCountryCodeChangedInternalNotification, 239 | _kCPPhoneNumberHomeCountryCodeKey, _kCPPhoneNumberLastKnownNetworkCountryCodeKey, 240 | _kCPPhoneNumberNetworkCountryCodeChangedInternalNotification, 241 | _kCPPhoneNumberNetworkCountryCodeKey, _kCPPropertyCount, _kCPRecordErrorDomain, 242 | _kCPRecordSQLiteErrorDomain, _kCPSearchMatcherCaseInsensitive, 243 | _kCPSearchMatcherDiacriticInsensitive, _kCPSearchMatcherExactMatch, 244 | _kCPSearchMatcherMatchWholeWords, _kCPSearchMatcherMatchWordPrefixes, 245 | _kCPSearchMatcherPunctuationInsensitive, _kCPTimeZoneFileIndex, 246 | _kNetworkDefaultsRegistrationComplete, _kSettingsUsageURLString, 247 | _ligatures, _map_case, _matche, _num_ligatures, _separator_map, 248 | _tolower_map, _toupper_map, _unicode_combinable, _unicode_combine, 249 | _unicode_decompose, _unicode_decomposeable, _utf8_decodestr, 250 | _utf8_encodelen, _utf8_encodestr, _utf_extrabytes ] 251 | objc-classes: [ ALCity, ALCityManager, ALSCGreenClient, CPAggregateDictionary, 252 | CPBitmapStore, CPDistributedMessagingAsyncOperation, CPDistributedMessagingCallout, 253 | CPDistributedMessagingCenter, CPDistributedMessagingDelayedReplyContext, 254 | CPDistributedNotificationCenter, CPExclusiveLock, CPLRUDictionary, 255 | CPLRUDictionaryNode, CPMemoryPool, CPMemoryPoolFile, CPNetworkObserver, 256 | CPSearchMatcher, CapturedInvocationTrampoline, DelayedInvocationTrampoline, 257 | InvocationTrampoline, OperationQueueInvocationTrampoline, 258 | PEPServiceConfiguration, RadiosPreferences, ThreadedInvocationTrampoline, 259 | _CPBundleIdentifierString, _CPPowerAssertion, _CPPowerAssertionThread, 260 | _ReachabilityRequest ] 261 | objc-ivars: [ ALCity._countryName, ALCity._countryOverride, ALCity._identifier, 262 | ALCity._identifierForCPCity, ALCity._latitude, ALCity._localeCode, 263 | ALCity._localizationAttempted, ALCity._longitude, ALCity._name, 264 | ALCity._timeZone, ALCity._unlocalizedCountryName, ALCity._unlocalizedCountryOverride, 265 | ALCity._unlocalizedName, ALCity._yahooCode, ALCityManager._citySearchMatcher, 266 | ALCityManager._db, ALCityManager._localizedDb, CPBitmapStore._cache, 267 | CPBitmapStore._imagePath, CPBitmapStore._path, CPBitmapStore._serialQueueRemoveImagesBackground, 268 | CPBitmapStore._serialQueueRemoveImagesDefault, CPBitmapStore._version, 269 | CPBitmapStore._versionPath, CPDistributedMessagingAsyncOperation._calloutThread, 270 | CPDistributedMessagingAsyncOperation._center, CPDistributedMessagingAsyncOperation._context, 271 | CPDistributedMessagingAsyncOperation._error, CPDistributedMessagingAsyncOperation._makeServer, 272 | CPDistributedMessagingAsyncOperation._name, CPDistributedMessagingAsyncOperation._oolData, 273 | CPDistributedMessagingAsyncOperation._oolKey, CPDistributedMessagingAsyncOperation._reply, 274 | CPDistributedMessagingAsyncOperation._selector, CPDistributedMessagingAsyncOperation._target, 275 | CPDistributedMessagingAsyncOperation._userInfoData, CPDistributedMessagingCallout._returnsVoid, 276 | CPDistributedMessagingCallout._returnsVoidIsValid, CPDistributedMessagingCallout._selector, 277 | CPDistributedMessagingCallout._target, CPDistributedMessagingCenter._asyncQueue, 278 | CPDistributedMessagingCenter._callouts, CPDistributedMessagingCenter._centerName, 279 | CPDistributedMessagingCenter._currentCallout, CPDistributedMessagingCenter._delayedReply, 280 | CPDistributedMessagingCenter._lock, CPDistributedMessagingCenter._parkedServerPort, 281 | CPDistributedMessagingCenter._portPassing, CPDistributedMessagingCenter._replyPort, 282 | CPDistributedMessagingCenter._requiredEntitlement, CPDistributedMessagingCenter._sendPort, 283 | CPDistributedMessagingCenter._serverSource, CPDistributedMessagingDelayedReplyContext._portPassing, 284 | CPDistributedMessagingDelayedReplyContext._replyPort, CPDistributedNotificationCenter._centerName, 285 | CPDistributedNotificationCenter._isServer, CPDistributedNotificationCenter._lock, 286 | CPDistributedNotificationCenter._queue, CPDistributedNotificationCenter._receiveNotificationSource, 287 | CPDistributedNotificationCenter._sendPorts, CPDistributedNotificationCenter._startCount, 288 | CPExclusiveLock._fd, CPExclusiveLock._name, CPLRUDictionary._dictionary, 289 | CPLRUDictionary._head, CPLRUDictionary._maxCount, CPLRUDictionary._tail, 290 | CPLRUDictionaryNode._key, CPLRUDictionaryNode._object, CPLRUDictionaryNode.next, 291 | CPLRUDictionaryNode.prev, CPMemoryPoolFile._deallocator, CPMemoryPoolFile._fd, 292 | CPMemoryPoolFile._mutex, CPMemoryPoolFile._slotCount, CPMemoryPoolFile._slotLength, 293 | CPMemoryPoolFile._slots, CPMemoryPoolFile._usedSlots, CPSearchMatcher._asciiComponents, 294 | CPSearchMatcher._components, CPSearchMatcher._context, CPSearchMatcher._options, 295 | CPSearchMatcher._wholeSearchStringData, CapturedInvocationTrampoline._outInvocation, 296 | DelayedInvocationTrampoline._delay, InvocationTrampoline._target, 297 | OperationQueueInvocationTrampoline._priority, OperationQueueInvocationTrampoline._queue, 298 | PEPServiceConfiguration._cacheFilePath, PEPServiceConfiguration._cachedFileLastModifyDate, 299 | PEPServiceConfiguration._shouldDownloadNetworkConfigFile, 300 | RadiosPreferences._applySkipCount, RadiosPreferences._cachedAirplaneMode, 301 | RadiosPreferences._delegate, RadiosPreferences._dispatchQueue, 302 | RadiosPreferences._isCachedAirplaneModeValid, RadiosPreferences._prefs, 303 | ThreadedInvocationTrampoline._immediateForMatchingThread, 304 | ThreadedInvocationTrampoline._thread, _CPBundleIdentifierString._bundleIdentifierOrProcessName, 305 | _CPBundleIdentifierString._executablePath, _CPBundleIdentifierString._isProcessName, 306 | _CPPowerAssertion._identifier, _CPPowerAssertion._stack, _CPPowerAssertion._timeout, 307 | _CPPowerAssertionThread._earliest, _CPPowerAssertionThread._timer, 308 | _ReachabilityRequest._flags, _ReachabilityRequest._hostname, 309 | _ReachabilityRequest._isReachable, _ReachabilityRequest._lock, 310 | _ReachabilityRequest._observers, _ReachabilityRequest._reachability, 311 | _ReachabilityRequest._receivedAtLeastOneCallback ] 312 | ... 313 | -------------------------------------------------------------------------------- /Frameworks/MobileWiFi.framework/Headers/MobileWiFi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MobileWiFi framework base header. 3 | * 4 | * Copyright (c) 2013-2014 Cykey (David Murray) 5 | * All rights reserved. 6 | */ 7 | 8 | #ifndef MOBILEWIFI_H_ 9 | #define MOBILEWIFI_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #if __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | #pragma mark - Constants 20 | 21 | extern CFStringRef kWiFiATJTestModeEnabledKey; 22 | extern CFStringRef kWiFiDeviceCapabilitiesKey; 23 | extern CFStringRef kWiFiDeviceSupportsWAPIKey; 24 | extern CFStringRef kWiFiDeviceSupportsWoWKey; 25 | extern CFStringRef kWiFiDeviceVendorIDKey; 26 | extern CFStringRef kWiFiLocaleTestParamsKey; 27 | extern CFStringRef kWiFiLoggingDriverFileKey; 28 | extern CFStringRef kWiFiLoggingDriverLoggingEnabledKey; 29 | extern CFStringRef kWiFiLoggingEnabledKey; 30 | extern CFStringRef kWiFiLoggingFileEnabledKey; 31 | extern CFStringRef kWiFiLoggingFileKey; 32 | extern CFStringRef kWiFiManagerDisableBlackListKey; 33 | extern CFStringRef kWiFiNetworkEnterpriseProfileKey; 34 | extern CFStringRef kWiFiPreferenceCustomNetworksSettingsKey; 35 | extern CFStringRef kWiFiPreferenceEnhancedWoWEnabledKey; 36 | extern CFStringRef kWiFiPreferenceMStageAutoJoinKey; 37 | extern CFStringRef kWiFiRSSIThresholdKey; // '-80' 38 | extern CFStringRef kWiFiScaledRSSIKey; 39 | extern CFStringRef kWiFiScaledRateKey; 40 | extern CFStringRef kWiFiStrengthKey; 41 | extern CFStringRef kWiFiTetheringCredentialsKey; 42 | 43 | #if __cplusplus 44 | } 45 | #endif 46 | 47 | #endif /* MOBILEWIFI_H_ */ 48 | -------------------------------------------------------------------------------- /Frameworks/MobileWiFi.framework/Headers/WiFiDeviceClient.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MobileWiFi device client header. 3 | * 4 | * Copyright (c) 2013-2014 Cykey (David Murray) 5 | * All rights reserved. 6 | */ 7 | 8 | #ifndef WIFIDEVICECLIENT_H_ 9 | #define WIFIDEVICECLIENT_H_ 10 | 11 | #include 12 | #include 13 | 14 | #if __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | #pragma mark - Definitions 19 | 20 | /* 21 | * Opaque structure definition. 22 | */ 23 | 24 | typedef struct __WiFiDeviceClient *WiFiDeviceClientRef; 25 | 26 | /* Callback typedefs. */ 27 | typedef void (*WiFiDeviceClientGenericCallback)(WiFiDeviceClientRef device, CFDictionaryRef data, const void *object); 28 | typedef void (*WiFiDeviceClientLinkOrPowerCallback)(WiFiDeviceClientRef device, const void *object); 29 | typedef void (*WiFiDeviceScanCallback)(WiFiDeviceClientRef device, CFArrayRef results, int error, const void *object); 30 | typedef void (*WiFiDeviceAssociateCallback)(WiFiDeviceClientRef device, WiFiNetworkRef network, CFDictionaryRef dict, int error, const void *object); 31 | 32 | #pragma mark - API 33 | 34 | CFPropertyListRef WiFiDeviceClientCopyProperty(WiFiDeviceClientRef client, CFStringRef property); 35 | 36 | WiFiNetworkRef WiFiDeviceClientCopyCurrentNetwork(WiFiDeviceClientRef client); 37 | 38 | int WiFiDeviceClientGetPower(WiFiDeviceClientRef client); 39 | void WiFiDeviceClientSetPower(WiFiDeviceClientRef client, int power); 40 | 41 | /* 42 | * The following keys in the dict parameter are understood by wifid: 43 | * "SCAN_CHANNELS": An array of dictionaries containing the 'CHANNEL' and 'CHANNEL_FLAGS' keys. 44 | * "SCAN_MAXAGE": Unknown. Use 2. 45 | * "SCAN_MERGE": Unknown. Use 1. 46 | * "SCAN_NUM_SCANS": Number of scans to perform. 47 | * "SCAN_PHY_MODE": Has something to do with PHY. 48 | * "SCAN_RSSI_THRESHOLD": The RSSI theshold level. Apple uses -80, meaning that networks that have a signal strength lower than -80 will be ignored. 49 | * "SCAN_TYPE": Unknown. Use 1. 50 | */ 51 | int WiFiDeviceClientScanAsync(WiFiDeviceClientRef device, CFDictionaryRef dict, WiFiDeviceScanCallback callback, const void *object); 52 | 53 | /* 54 | * Used to connect to a network. Example usage: 55 | * (Get a WiFiNetworkRef instance from the scan results or something.) 56 | * WiFiNetworkSetPassword(network, CFSTR("Password1")); 57 | * WiFiDeviceClientAssociateAsync(client, network, MyCallbackFunction, NULL); 58 | */ 59 | int WiFiDeviceClientAssociateAsync(WiFiDeviceClientRef client, WiFiNetworkRef network, WiFiDeviceAssociateCallback callback, CFDictionaryRef dict); 60 | void WiFiDeviceClientAssociateCancel(WiFiDeviceClientRef client); 61 | int WiFiDeviceClientDisassociate(WiFiDeviceClientRef client); 62 | 63 | CFStringRef WiFiDeviceClientGetInterfaceName(WiFiDeviceClientRef client); 64 | 65 | /* 66 | * LQM stands for 'Link Quality Metrics': 67 | * Jan 23 15:25:01 kernel[0] : 187357.621783 wlan.A[13651] AppleBCMWLANNetManager::updateLinkQualityMetrics(): Report LQM to User Land 50, fAverageRSSI -71 68 | */ 69 | 70 | void WiFiDeviceClientRegisterLQMCallback(WiFiDeviceClientRef device, WiFiDeviceClientGenericCallback callback, const void *object); 71 | void WiFiDeviceClientRegisterExtendedLinkCallback(WiFiDeviceClientRef device, WiFiDeviceClientGenericCallback callback, const void *object); 72 | void WiFiDeviceClientRegisterLinkCallback(WiFiDeviceClientRef device, WiFiDeviceClientLinkOrPowerCallback callback, const void *object); 73 | void WiFiDeviceClientRegisterPowerCallback(WiFiDeviceClientRef device, WiFiDeviceClientLinkOrPowerCallback callback, const void *object); 74 | 75 | #if __cplusplus 76 | } 77 | #endif 78 | 79 | #endif /* WIFIDEVICECLIENT_H_ */ 80 | -------------------------------------------------------------------------------- /Frameworks/MobileWiFi.framework/Headers/WiFiManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MobileWiFi manager header. 3 | * 4 | * Copyright (c) 2013-2014 Cykey (David Murray) 5 | * All rights reserved. 6 | */ 7 | 8 | #ifndef WIFIMANAGER_H_ 9 | #define WIFIMANAGER_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #if __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | #pragma mark - Definitions 20 | 21 | typedef struct __WiFiManager *WiFiManagerRef; 22 | 23 | #pragma mark - API 24 | 25 | WiFiManagerRef WiFiManagerClientCreate(CFAllocatorRef allocator, int flags); 26 | 27 | CFArrayRef WiFiManagerClientCopyDevices(WiFiManagerRef manager); 28 | CFArrayRef WiFiManagerClientCopyNetworks(WiFiManagerRef manager); 29 | 30 | void WiFiManagerClientRemoveNetwork(WiFiManagerRef manager, WiFiNetworkRef network); 31 | 32 | WiFiDeviceClientRef WiFiManagerClientGetDevice(WiFiManagerRef manager); 33 | 34 | void WiFiManagerClientScheduleWithRunLoop(WiFiManagerRef manager, CFRunLoopRef runLoop, CFStringRef mode); 35 | void WiFiManagerClientUnscheduleFromRunLoop(WiFiManagerRef manager); 36 | void WiFiManagerClientSetProperty(WiFiManagerRef manager, CFStringRef property, CFPropertyListRef value); 37 | 38 | CFPropertyListRef WiFiManagerClientCopyProperty(WiFiManagerRef manager, CFStringRef property); 39 | 40 | void WiFiManagerClientQuiesceWiFi(WiFiManagerRef manager, int state); 41 | 42 | void WiFiManagerClientSetMISState(WiFiManagerRef manager, int state); 43 | void WiFiManagerClientSetMisPassword(WiFiManagerRef manager, CFStringRef password); 44 | void WiFiManagerClientSetMISDiscoveryState(WiFiManagerRef manager, int state); 45 | 46 | int WiFiManagerClientGetMISState(WiFiManagerRef manager); 47 | int WiFiManagerClientGetMISDiscoveryState(WiFiManagerRef manager); 48 | 49 | void WiFiManagerClientAddNetwork(WiFiManagerRef manager, WiFiNetworkRef network); 50 | 51 | #if __cplusplus 52 | } 53 | #endif 54 | 55 | #endif /* WIFIMANAGER_H_ */ 56 | -------------------------------------------------------------------------------- /Frameworks/MobileWiFi.framework/Headers/WiFiNetwork.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MobileWiFi network header. 3 | * 4 | * Copyright (c) 2013-2014 Cykey (David Murray) 5 | * All rights reserved. 6 | */ 7 | 8 | #ifndef WIFINETWORK_H_ 9 | #define WIFINETWORK_H_ 10 | 11 | #include 12 | 13 | #if __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | #pragma mark - Definitions 18 | 19 | /* 20 | * Opaque structure definitions. 21 | */ 22 | 23 | typedef struct __WiFiNetwork *WiFiNetworkRef; 24 | 25 | #pragma mark - API 26 | 27 | CFPropertyListRef WiFiNetworkGetProperty(WiFiNetworkRef network, CFStringRef property); 28 | 29 | int WiFiNetworkGetIntProperty(WiFiNetworkRef network, CFStringRef property); 30 | 31 | float WiFiNetworkGetFloatProperty(WiFiNetworkRef network, CFStringRef property); 32 | 33 | CFStringRef WiFiNetworkCopyPassword(WiFiNetworkRef); 34 | CFStringRef WiFiNetworkGetSSID(WiFiNetworkRef network); 35 | 36 | void WiFiNetworkSetPassword(WiFiNetworkRef network, CFStringRef password); 37 | 38 | float WiFiNetworkGetNetworkUsage(WiFiNetworkRef network); 39 | 40 | Boolean WiFiNetworkIsWEP(WiFiNetworkRef network); 41 | Boolean WiFiNetworkIsWPA(WiFiNetworkRef network); 42 | Boolean WiFiNetworkIsEAP(WiFiNetworkRef network); 43 | Boolean WiFiNetworkIsApplePersonalHotspot(WiFiNetworkRef network); 44 | Boolean WiFiNetworkIsAdHoc(WiFiNetworkRef network); 45 | Boolean WiFiNetworkIsHidden(WiFiNetworkRef network); 46 | Boolean WiFiNetworkRequiresPassword(WiFiNetworkRef network); 47 | Boolean WiFiNetworkRequiresUsername(WiFiNetworkRef network); 48 | 49 | /* This returns NULL a lot, not sure why. */ 50 | CFDateRef WiFiNetworkGetLastAssociationDate(WiFiNetworkRef network); 51 | 52 | CFDictionaryRef WiFiNetworkCopyRecord(WiFiNetworkRef network); 53 | 54 | #if __cplusplus 55 | } 56 | #endif 57 | 58 | #endif /* WIFINETWORK_H_ */ 59 | -------------------------------------------------------------------------------- /Frameworks/MobileWiFi.framework/MobileWiFi.tbd: -------------------------------------------------------------------------------- 1 | --- !tapi-tbd 2 | tbd-version: 4 3 | targets: [ arm64-ios ] 4 | uuids: 5 | - target: arm64-ios 6 | value: FB5C5586-02E4-36D4-817F-CC9A50BC7C31 7 | install-name: '/System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi' 8 | exports: 9 | - targets: [ arm64-ios ] 10 | symbols: [ _Apple80211Associate, _Apple80211Associate2, _Apple80211AssociateAsync, 11 | _Apple80211BindToInterface, _Apple80211Close, _Apple80211CopyAwdlPreferredChannels, 12 | _Apple80211CopyCurrentNetwork, _Apple80211CopyLeakyAPStatus, 13 | _Apple80211CopyRangingCapabilities, _Apple80211CopyValue, 14 | _Apple80211Disassociate, _Apple80211DisassociateExt, _Apple80211ErrToStr, 15 | _Apple80211EventMonitoringHalt, _Apple80211EventMonitoringInit, 16 | _Apple80211EventMonitoringInit2, _Apple80211EventSocketRef, 17 | _Apple80211GasRequest, _Apple80211Get, _Apple80211GetAssociationExtendedStatus, 18 | _Apple80211GetIfListCopy, _Apple80211GetInfoCopy, _Apple80211GetInterfaceNameCopy, 19 | _Apple80211GetPower, _Apple80211GetPowerState, _Apple80211GetRangingPhyErrorString, 20 | _Apple80211GetVirtualIfListCopy, _Apple80211MaxLinkSpeed, 21 | _Apple80211MonitorEventsWithBlock, _Apple80211Open, _Apple80211Parse80211dIE, 22 | _Apple80211ParseAppleDeviceIE, _Apple80211ParseAppleIE, _Apple80211ParseAppleSWAPIE, 23 | _Apple80211ParseAppleiOSIE, _Apple80211ParseCyclopsIE, _Apple80211ParseExtCapsIE, 24 | _Apple80211ParseHE_IEs, _Apple80211ParseHS20IE, _Apple80211ParseHT_Caps, 25 | _Apple80211ParseHT_IE, _Apple80211ParseInterworkingIE, _Apple80211ParseMobilityDomainIE, 26 | _Apple80211ParseQBSSLoadIE, _Apple80211ParseRSNIE, _Apple80211ParseSES_IE, 27 | _Apple80211ParseVHT_Caps, _Apple80211ParseVHT_IE, _Apple80211ParseVhtCapsIE, 28 | _Apple80211ParseVhtOpIE, _Apple80211ParseWAPIIE, _Apple80211ParseWPAIE, 29 | _Apple80211ParseWPAPassword, _Apple80211ParseWPS_IE, _Apple80211RangeAsync, 30 | _Apple80211RangingStopAsync, _Apple80211ReturnToErrno, _Apple80211ReturnToString, 31 | _Apple80211Scan, _Apple80211ScanAsync, _Apple80211ScanDynamic, 32 | _Apple80211Set, _Apple80211SetPower, _Apple80211SetPowerState, 33 | _Apple80211StartMonitoringEvent, _Apple80211StopMonitoringEvent, 34 | _IEEE80211iPasswordHash, _MobileWiFiContainsDriver, _MobileWiFiContainsRadio, 35 | _WiFiCopyTomorrowDateFromComponents, _WiFiCreateOSTransactionWithFunctionName, 36 | _WiFiCreatePoliciesFromRecords, _WiFiCreateRecordsFromPolicies, 37 | _WiFiDeviceClientAssociateAsync, _WiFiDeviceClientAssociateCancel, 38 | _WiFiDeviceClientAutoJoinBlacklistCommand, _WiFiDeviceClientBssBlacklistCommandAndCopyResponse, 39 | _WiFiDeviceClientCopyAirplayStatistics, _WiFiDeviceClientCopyCurrentNetwork, 40 | _WiFiDeviceClientCopyCurrentNetworkAsync, _WiFiDeviceClientCopyHostedNetworks, 41 | _WiFiDeviceClientCopyInterfaceStateInfo, _WiFiDeviceClientCopyMimoStatus, 42 | _WiFiDeviceClientCopyNetworkRecommendations, _WiFiDeviceClientCopyProperty, 43 | _WiFiDeviceClientCopyRoamStats, _WiFiDeviceClientCreateVirtInterface, 44 | _WiFiDeviceClientDebugCommand, _WiFiDeviceClientDeleteVirtualInterface, 45 | _WiFiDeviceClientDestroyEAPTrustExceptionsForCurrentNetwork, 46 | _WiFiDeviceClientDisassociate, _WiFiDeviceClientDisassociateWithReason, 47 | _WiFiDeviceClientGasStartAsync, _WiFiDeviceClientGetAppState, 48 | _WiFiDeviceClientGetAwdlSyncState, _WiFiDeviceClientGetInterfaceName, 49 | _WiFiDeviceClientGetInterfaceRoleIndex, _WiFiDeviceClientGetLQMEventInterval, 50 | _WiFiDeviceClientGetPower, _WiFiDeviceClientGetTypeID, _WiFiDeviceClientIsInterfaceAWDL, 51 | _WiFiDeviceClientIsInterfaceHostAp, _WiFiDeviceClientNotifySoftError, 52 | _WiFiDeviceClientRangingStartAsync, _WiFiDeviceClientRegister24GHzNetworkInCriticalStateCallback, 53 | _WiFiDeviceClientRegisterAutoJoinNotificationCallback, _WiFiDeviceClientRegisterBTScanIntervalRelaxCallback, 54 | _WiFiDeviceClientRegisterBgScanSuspendResumeCallback, _WiFiDeviceClientRegisterBssidChangeCallback, 55 | _WiFiDeviceClientRegisterCarPlayNetworkTypeChangeCallback, 56 | _WiFiDeviceClientRegisterDecryptionCallback, _WiFiDeviceClientRegisterDeviceAvailableCallback, 57 | _WiFiDeviceClientRegisterDiagnosticsCallback, _WiFiDeviceClientRegisterExtendedLinkCallback, 58 | _WiFiDeviceClientRegisterHostApStateChangedCallback, _WiFiDeviceClientRegisterLQMCallback, 59 | _WiFiDeviceClientRegisterLinkCallback, _WiFiDeviceClientRegisterP2pThreadCoexCallback, 60 | _WiFiDeviceClientRegisterPowerCallback, _WiFiDeviceClientRegisterRangingReportCallback, 61 | _WiFiDeviceClientRegisterRemovalCallback, _WiFiDeviceClientRegisterResumeScanCallback, 62 | _WiFiDeviceClientRegisterRoamStatusEventCallback, _WiFiDeviceClientRegisterScanCacheUpdateCallback, 63 | _WiFiDeviceClientRegisterScanCacheUpdateCallback2, _WiFiDeviceClientRegisterScanUpdateCallback, 64 | _WiFiDeviceClientRegisterUserJoinNotificationCallback, _WiFiDeviceClientRegisterVirtualInterfaceStateChangeCallback, 65 | _WiFiDeviceClientRegisterWeightAvgLQMCallback, _WiFiDeviceClientResetAvailabilityEngine, 66 | _WiFiDeviceClientScanAsync, _WiFiDeviceClientScanCancel, _WiFiDeviceClientSendWoWBlacklistCommandAndCopyResponse, 67 | _WiFiDeviceClientSetAwdlSyncState, _WiFiDeviceClientSetCoexParameters, 68 | _WiFiDeviceClientSetLQMEventInterval, _WiFiDeviceClientSetPower, 69 | _WiFiDeviceClientSetProperty, _WiFiDeviceClientSetRangeable, 70 | _WiFiDeviceClientSetRangingIdentifier, _WiFiDeviceClientSetTrgDiscParams, 71 | _WiFiDeviceClientSetWiFiDirect, _WiFiDeviceClientStartNetwork, 72 | _WiFiDeviceClientStopNetwork, _WiFiDeviceClientTrafficRegistration, 73 | _WiFiDeviceClientTrafficRegistrationAsync, _WiFiGetAssocTypeString, 74 | _WiFiGetAutoInstantHotspotModeString, _WiFiGetClientDisconnectReasonString, 75 | _WiFiGetConcurrencyStateString, _WiFiGetLOITypeString, _WiFiGetLinkChangeReasonString, 76 | _WiFiGetLowDataModeString, _WiFiGetNOIHomeStateString, _WiFiGetNOIWorkStateString, 77 | _WiFiGetNetworkChannel, _WiFiGetPrivateMacNetworkIndices, 78 | _WiFiGetRoamEnvironmentTypeString, _WiFiGetRoamProfileOffsetString, 79 | _WiFiGetRtTrafficType, _WiFiGetUINotificationTypeString, _WiFiIsPrivateMacAddress, 80 | _WiFiMIGMachPortCreate, _WiFiMIGMachPortGetPort, _WiFiMIGMachPortGetTypeID, 81 | _WiFiMIGMachPortRegisterDemuxCallback, _WiFiMIGMachPortRegisterTerminationCallback, 82 | _WiFiMIGMachPortScheduleWithQueue, _WiFiMIGMachPortScheduleWithRunLoop, 83 | _WiFiMIGMachPortUnscheduleFromQueue, _WiFiMIGMachPortUnscheduleFromRunLoop, 84 | _WiFiManagerClienSetQuiesceState, _WiFiManagerClientAddDevice, 85 | _WiFiManagerClientAddNetwork, _WiFiManagerClientAddNetworkAsync, 86 | _WiFiManagerClientAddPolicy, _WiFiManagerClientCleanupLogBufferFiles, 87 | _WiFiManagerClientCopyClientNames, _WiFiManagerClientCopyCurrentSessionBasedNetwork, 88 | _WiFiManagerClientCopyDevices, _WiFiManagerClientCopyEnabledNetworks, 89 | _WiFiManagerClientCopyFamilyHotspotPreferences, _WiFiManagerClientCopyGeoTagsForNetwork, 90 | _WiFiManagerClientCopyInterfaces, _WiFiManagerClientCopyKnownNetworksNearLocation, 91 | _WiFiManagerClientCopyLeechedLocation, _WiFiManagerClientCopyLocaleStats, 92 | _WiFiManagerClientCopyMisPassword, _WiFiManagerClientCopyMutableNetworks, 93 | _WiFiManagerClientCopyNetworks, _WiFiManagerClientCopyNetworksWithBundleIdentifier, 94 | _WiFiManagerClientCopyPolicies, _WiFiManagerClientCopyProperty, 95 | _WiFiManagerClientCopySSIDRepresentingMostUsedNetworkGeoTaggedToCurrentDeviceLocation, 96 | _WiFiManagerClientCopyScoreForNetwork, _WiFiManagerClientCopySoftErrorCounters, 97 | _WiFiManagerClientCopyVersionInfo, _WiFiManagerClientCopyWoWState, 98 | _WiFiManagerClientCreate, _WiFiManagerClientCreatePrivateMacAddress, 99 | _WiFiManagerClientDisable, _WiFiManagerClientDisableNetwork, 100 | _WiFiManagerClientDisableNetworksWithBundleIdentifier, _WiFiManagerClientDisableUserAutoJoin, 101 | _WiFiManagerClientDispatchAttachmentEvent, _WiFiManagerClientDispatchNotificationResponse, 102 | _WiFiManagerClientDumpLogs, _WiFiManagerClientEnable, _WiFiManagerClientEnableNetwork, 103 | _WiFiManagerClientEnableNetworksWithBundleIdentifier, _WiFiManagerClientEnableUserAutoJoin, 104 | _WiFiManagerClientGetAirplaneModePowerPreference, _WiFiManagerClientGetAskToJoinPreference, 105 | _WiFiManagerClientGetAskToJoinState, _WiFiManagerClientGetAssociationMode, 106 | _WiFiManagerClientGetAutoInstantHotspotMode, _WiFiManagerClientGetDevice, 107 | _WiFiManagerClientGetMISDiscoveryState, _WiFiManagerClientGetMISState, 108 | _WiFiManagerClientGetMacRandomisationParameters, _WiFiManagerClientGetPower, 109 | _WiFiManagerClientGetPowerExt, _WiFiManagerClientGetQuiesceState, 110 | _WiFiManagerClientGetRetryIntervalCap, _WiFiManagerClientGetShareMyPersonalHotspotMode, 111 | _WiFiManagerClientGetThermalIndex, _WiFiManagerClientGetType, 112 | _WiFiManagerClientGetTypeID, _WiFiManagerClientGetUserAutoJoinState, 113 | _WiFiManagerClientGetWoWCapability, _WiFiManagerClientGetWoWState, 114 | _WiFiManagerClientIsAlwaysOnWiFiSupported, _WiFiManagerClientIsHotspotWPA3PersonalSupported, 115 | _WiFiManagerClientIsInfraAllowed, _WiFiManagerClientIsManagedAppleID, 116 | _WiFiManagerClientIsMfpCapableDevice, _WiFiManagerClientIsMultiBand, 117 | _WiFiManagerClientIsNetworkEnabled, _WiFiManagerClientIsP2PAllowed, 118 | _WiFiManagerClientIsPersonalHotspotModificationDisabled, _WiFiManagerClientIsPowerModificationDisabled, 119 | _WiFiManagerClientIsRestrictionPolicyActive, _WiFiManagerClientIsTetheringSupported, 120 | _WiFiManagerClientIsUserInteractive, _WiFiManagerClientIsWPA3EnterpriseSupported, 121 | _WiFiManagerClientIsWPA3PersonalSupported, _WiFiManagerClientIsWiFiAlwaysOnSupported, 122 | _WiFiManagerClientMergeKnownNetworks, _WiFiManagerClientMigrateList, 123 | _WiFiManagerClientPrivateMacIsQuickProbeRequired, _WiFiManagerClientPrivateMacReportProbeResult, 124 | _WiFiManagerClientQuiesceWiFi, _WiFiManagerClientRegisterBackgroundScanCacheCallback, 125 | _WiFiManagerClientRegisterBackgroundScanCallback, _WiFiManagerClientRegisterDeviceAttachmentCallback, 126 | _WiFiManagerClientRegisterManagedAppleIDStateChangedCallback, 127 | _WiFiManagerClientRegisterNotificationCallback, _WiFiManagerClientRegisterPreferredNetworksChangedCallback, 128 | _WiFiManagerClientRegisterScanBackoffReportCallback, _WiFiManagerClientRegisterServerRestartCallback, 129 | _WiFiManagerClientRegisterServiceEventCallback, _WiFiManagerClientRegisterUIEventCallback, 130 | _WiFiManagerClientRegisterUserAutoJoinStateChangedCallback, 131 | _WiFiManagerClientRegisterVirtInterfaceChangeCallback, _WiFiManagerClientRegisterWowStateChangedCallback, 132 | _WiFiManagerClientReleaseService, _WiFiManagerClientRemoveDevice, 133 | _WiFiManagerClientRemoveNetwork, _WiFiManagerClientRemoveNetworkWithReason, 134 | _WiFiManagerClientRemoveNetworksWithBundleIdentifier, _WiFiManagerClientRemoveOrphanedSCNetworkSets, 135 | _WiFiManagerClientRemovePolicy, _WiFiManagerClientRemoveUnusedNetworkGeotags, 136 | _WiFiManagerClientResetNetworkSettings, _WiFiManagerClientRetainService, 137 | _WiFiManagerClientScheduleUnusedNetworkGeotagsRemovalTest, 138 | _WiFiManagerClientScheduleWithRunLoop, _WiFiManagerClientSetAdaptiveRoamingParams, 139 | _WiFiManagerClientSetAirplaneModePowerPreference, _WiFiManagerClientSetAskToJoinPreference, 140 | _WiFiManagerClientSetAssociationMode, _WiFiManagerClientSetAutoInstantHotspotMode, 141 | _WiFiManagerClientSetAutoInstantHotspotTestMode, _WiFiManagerClientSetAutoInstantHotspotTriggerInterval, 142 | _WiFiManagerClientSetBGScanCacheState, _WiFiManagerClientSetBackgroundScanNetworks, 143 | _WiFiManagerClientSetBuiltInReceiver, _WiFiManagerClientSetFamilyHotspotPreferences, 144 | _WiFiManagerClientSetGeoTagForNetwork, _WiFiManagerClientSetInCarState, 145 | _WiFiManagerClientSetMISDiscoveryState, _WiFiManagerClientSetMISDiscoveryStateExt, 146 | _WiFiManagerClientSetMISState, _WiFiManagerClientSetMacRandomisationParams, 147 | _WiFiManagerClientSetMisPassword, _WiFiManagerClientSetNetworkProperty, 148 | _WiFiManagerClientSetPower, _WiFiManagerClientSetPowerExt, 149 | _WiFiManagerClientSetPrivateMacPrefForScanRecord, _WiFiManagerClientSetProperty, 150 | _WiFiManagerClientSetRetryIntervalCap, _WiFiManagerClientSetShareMyPersonalHotspotMode, 151 | _WiFiManagerClientSetTestParams, _WiFiManagerClientSetTestParamsAndCopyResponse, 152 | _WiFiManagerClientSetThermalIndex, _WiFiManagerClientSetType, 153 | _WiFiManagerClientSetUserInteractionOverride, _WiFiManagerClientSetWoWState, 154 | _WiFiManagerClientSimulateNotification, _WiFiManagerClientStartAdvertisingService, 155 | _WiFiManagerClientStartBrowsingForService, _WiFiManagerClientStartResolvingService, 156 | _WiFiManagerClientStopAdvertisingService, _WiFiManagerClientStopBrowsingForService, 157 | _WiFiManagerClientStopResolvingService, _WiFiManagerClientSubmitQueryableMetric, 158 | _WiFiManagerClientTemporarilyDisableNetwork, _WiFiManagerClientTriggerGizmoSyncPasswordCheck, 159 | _WiFiManagerClientUnScheduleUnusedNetworkGeotagsRemovalTest, 160 | _WiFiManagerClientUnscheduleFromRunLoop, _WiFiManagerClientUpdateNetwork, 161 | _WiFiManagerClientUpdatePrivateMacNetwork, _WiFiManagerClientWiFiCallHandoverNotification, 162 | _WiFiNetworkAddBundleIdentifier, _WiFiNetworkAddOriginator, 163 | _WiFiNetworkArchiveToPath, _WiFiNetworkCanExposeIMSI, _WiFiNetworkCompareAuthFlags, 164 | _WiFiNetworkCompareHomeState, _WiFiNetworkCompareNoSecurity, 165 | _WiFiNetworkComparePriority, _WiFiNetworkCompareSSIDOnly, 166 | _WiFiNetworkCompareWithKnownNetwork, _WiFiNetworkCopyBSSIDData, 167 | _WiFiNetworkCopyFilteredRecord, _WiFiNetworkCopyHS20Account, 168 | _WiFiNetworkCopyHashedWPAPassword, _WiFiNetworkCopyKeychainModDate, 169 | _WiFiNetworkCopyLeakyStatus, _WiFiNetworkCopyLegacyPassword, 170 | _WiFiNetworkCopyMutableRecord, _WiFiNetworkCopyNetworkChannelList, 171 | _WiFiNetworkCopyNonSyncablePassword, _WiFiNetworkCopyPassword, 172 | _WiFiNetworkCopyPreparedEAPProfile, _WiFiNetworkCopyRecord, 173 | _WiFiNetworkCopyShareablePassword, _WiFiNetworkCreate, _WiFiNetworkCreateCopy, 174 | _WiFiNetworkCreateCoreWiFiNetworkProfile, _WiFiNetworkCreateCoreWiFiScanResult, 175 | _WiFiNetworkCreateFromCoreWiFiNetworkProfile, _WiFiNetworkCreateFromCoreWiFiScanResult, 176 | _WiFiNetworkCreateFromPath, _WiFiNetworkCreateNetworkID, _WiFiNetworkCreatePrivateMacAddress, 177 | _WiFiNetworkCreateTemporallyRandomPrivateMacAddress, _WiFiNetworkCreateWithSsid, 178 | _WiFiNetworkDisableAutoJoinUntilFirstUserJoin, _WiFiNetworkDumpHS20AccountInfo, 179 | _WiFiNetworkDumpRecords, _WiFiNetworkGet11dCountryCodeFromIe, 180 | _WiFiNetworkGetAPEnv, _WiFiNetworkGetAdvertisedNetworkType, 181 | _WiFiNetworkGetApDeviceVersion, _WiFiNetworkGetApManufacturerName, 182 | _WiFiNetworkGetApModelName, _WiFiNetworkGetApModelNumber, 183 | _WiFiNetworkGetAssociationDate, _WiFiNetworkGetAuthFlags, 184 | _WiFiNetworkGetAuthTypes, _WiFiNetworkGetBSSIDList, _WiFiNetworkGetBandHistory, 185 | _WiFiNetworkGetBtMacFromIe, _WiFiNetworkGetBundleIdentifier, 186 | _WiFiNetworkGetCaptiveStatus, _WiFiNetworkGetChannel, _WiFiNetworkGetChannelFreqBand, 187 | _WiFiNetworkGetChannelWidthInMHz, _WiFiNetworkGetDirectedState, 188 | _WiFiNetworkGetDisabledUntilDate, _WiFiNetworkGetExpireDate, 189 | _WiFiNetworkGetFirstIndexMatchingSSIDNetwork, _WiFiNetworkGetFloatProperty, 190 | _WiFiNetworkGetForcedHomeFix, _WiFiNetworkGetGasResponse, 191 | _WiFiNetworkGetHS20DomainName, _WiFiNetworkGetHS20OperatorFriendlyName, 192 | _WiFiNetworkGetHS2NetworkBadge, _WiFiNetworkGetHarvestSSIDStatus, 193 | _WiFiNetworkGetIntProperty, _WiFiNetworkGetKnownBssList, _WiFiNetworkGetLOIType, 194 | _WiFiNetworkGetLastAssociationDate, _WiFiNetworkGetLastBSSID, 195 | _WiFiNetworkGetLastChannel, _WiFiNetworkGetLastHomeForceFixDate, 196 | _WiFiNetworkGetNetworkOfInterestHomeType, _WiFiNetworkGetNetworkOfInterestWorkType, 197 | _WiFiNetworkGetNetworkUsage, _WiFiNetworkGetOperatingBand, 198 | _WiFiNetworkGetOriginator, _WiFiNetworkGetPasswordModificationDate, 199 | _WiFiNetworkGetPhyMode, _WiFiNetworkGetProperty, _WiFiNetworkGetRSSI, 200 | _WiFiNetworkGetRateBounds, _WiFiNetworkGetSSID, _WiFiNetworkGetSSIDData, 201 | _WiFiNetworkGetSaveDataMode, _WiFiNetworkGetShareMode, _WiFiNetworkGetShareableStatus, 202 | _WiFiNetworkGetTimeIntervalSinceLastAssociation, _WiFiNetworkGetTimeToExpire, 203 | _WiFiNetworkGetType, _WiFiNetworkGetTypeID, _WiFiNetworkGetUsageRank, 204 | _WiFiNetworkGetUserRole, _WiFiNetworkGetWalletIdentifier, 205 | _WiFiNetworkHasAutoJoinPreference, _WiFiNetworkInterworkingIsOutdoorNetwork, 206 | _WiFiNetworkInterworkingIsVehicularNetwork, _WiFiNetworkIs24GHzNetwork, 207 | _WiFiNetworkIsAPLeaky, _WiFiNetworkIsAdHoc, _WiFiNetworkIsAppBased, 208 | _WiFiNetworkIsApplePersonalHotspot, _WiFiNetworkIsAutoJoinDisabledUntilFirstUserJoin, 209 | _WiFiNetworkIsBypassCaptiveEnabled, _WiFiNetworkIsCaptive, 210 | _WiFiNetworkIsCarPlay, _WiFiNetworkIsCarrierBundleBased, _WiFiNetworkIsChargeablePublicNetwork, 211 | _WiFiNetworkIsEAP, _WiFiNetworkIsEdgeBss, _WiFiNetworkIsEnabled, 212 | _WiFiNetworkIsExpirable, _WiFiNetworkIsFullyLoaded, _WiFiNetworkIsFullyQualifiedCarPlayNetwork, 213 | _WiFiNetworkIsHS20Account, _WiFiNetworkIsHS20HomeOperatorNetwork, 214 | _WiFiNetworkIsHidden, _WiFiNetworkIsHiddenSSID, _WiFiNetworkIsHotspot, 215 | _WiFiNetworkIsHotspot20, _WiFiNetworkIsInSaveDataMode, _WiFiNetworkIsInfrequentlyJoinedPublicNetwork, 216 | _WiFiNetworkIsInternalNetwork, _WiFiNetworkIsLegacyHotspot, 217 | _WiFiNetworkIsMetered, _WiFiNetworkIsMultiAPEnvironment, _WiFiNetworkIsOpen, 218 | _WiFiNetworkIsPasswordAvailable, _WiFiNetworkIsPasswordAvailableForHS20Account, 219 | _WiFiNetworkIsPasswordSyncing, _WiFiNetworkIsProblematicForEncryptedDNS, 220 | _WiFiNetworkIsProfileBased, _WiFiNetworkIsProvisionedHS20Network, 221 | _WiFiNetworkIsPublicHotspot, _WiFiNetworkIsSAE, _WiFiNetworkIsSSIDAmbiguous, 222 | _WiFiNetworkIsSSIDLengthValid, _WiFiNetworkIsSSIDUnmappable, 223 | _WiFiNetworkIsSameSecurity, _WiFiNetworkIsScannedNetworkMatchingHS20Account, 224 | _WiFiNetworkIsShareble, _WiFiNetworkIsWAPI, _WiFiNetworkIsWAPICERT, 225 | _WiFiNetworkIsWAPIPSK, _WiFiNetworkIsWEP, _WiFiNetworkIsWPA, 226 | _WiFiNetworkIsWPAWPA2PSK, _WiFiNetworkIsWoWAllowed, _WiFiNetworkMerge, 227 | _WiFiNetworkMergeAutoJoinProperties, _WiFiNetworkMergeForAssociation, 228 | _WiFiNetworkMergeProperties, _WiFiNetworkPrepareKnownBssList, 229 | _WiFiNetworkPrivateMacSecureNetworkInitialState, _WiFiNetworkRecordGetSSID, 230 | _WiFiNetworkRemoveAutoJoinProperties, _WiFiNetworkRemoveBssFromKnownList, 231 | _WiFiNetworkRemoveCarPlaySettings, _WiFiNetworkRemoveInternalProperties, 232 | _WiFiNetworkRemoveLegacyPassword, _WiFiNetworkRemovePassword, 233 | _WiFiNetworkRequiresIdentity, _WiFiNetworkRequiresOneTimePassword, 234 | _WiFiNetworkRequiresPassword, _WiFiNetworkRequiresUsername, 235 | _WiFiNetworkSetAssociationDate, _WiFiNetworkSetBssDisconnectReason, 236 | _WiFiNetworkSetBssLateRoamInfo, _WiFiNetworkSetDirectedState, 237 | _WiFiNetworkSetDisabledUntilDate, _WiFiNetworkSetEAP, _WiFiNetworkSetExpireDate, 238 | _WiFiNetworkSetFloatProperty, _WiFiNetworkSetForcedHomeFix, 239 | _WiFiNetworkSetGasResponse, _WiFiNetworkSetHS20HomeOperatorNetwork, 240 | _WiFiNetworkSetHS2NetworkBadge, _WiFiNetworkSetIntProperty, 241 | _WiFiNetworkSetKnownBssUsageData, _WiFiNetworkSetLOIType, 242 | _WiFiNetworkSetLastHomeForceFixDate, _WiFiNetworkSetLegacyPassword, 243 | _WiFiNetworkSetNetworkOfInterestHomeType, _WiFiNetworkSetNetworkOfInterestWorkType, 244 | _WiFiNetworkSetNetworkUsage, _WiFiNetworkSetOriginatorName, 245 | _WiFiNetworkSetPassword, _WiFiNetworkSetPasswordModificationDate, 246 | _WiFiNetworkSetPasswordSyncable, _WiFiNetworkSetProperty, 247 | _WiFiNetworkSetProvisionedHS20Network, _WiFiNetworkSetSAE, 248 | _WiFiNetworkSetState, _WiFiNetworkSetStateWithReason, _WiFiNetworkSetUsageRank, 249 | _WiFiNetworkSetWEP, _WiFiNetworkSetWPA, _WiFiNetworkSetWalletIdentifier, 250 | _WiFiNetworkSortNetworksByLastUsedDate, _WiFiNetworkSortNetworksBySignalStrength, 251 | _WiFiNetworkSortNetworksByUsageTime, _WiFiNetworkSupportsWPA, 252 | _WiFiNetworkSupportsWPA2, _WiFiNetworkSupportsWPA3, _WiFiNetworkUpdateWPARSNAuthType, 253 | _WiFiNetworkWasCaptive, _WiFiPolicyCopyRecord, _WiFiPolicyCreate, 254 | _WiFiPolicyCreateExtended, _WiFiPolicyGetProperty, _WiFiPolicyGetType, 255 | _WiFiPolicyGetTypeID, _WiFiPolicyGetUUID, _WiFiPolicySetProperty, 256 | _WiFiPolicySetType, _WiFiPolicySetUUID, _WiFiPortCacheAdd, 257 | _WiFiPortCacheCopy, _WiFiPortCacheCopyWithType, _WiFiPortCacheRemove, 258 | _WiFiPrivateMacNetworkGetMatchingNetwork, _WiFiSecurityCopyAttributesForAllAirPortEntries, 259 | _WiFiSecurityCopyHashedWPAPassword, _WiFiSecurityCopyLegacyPassword, 260 | _WiFiSecurityCopyNonSyncablePassword, _WiFiSecurityCopyPassword, 261 | _WiFiSecurityCopyPasswordModificationDate, _WiFiSecurityIsPasswordSyncing, 262 | _WiFiSecurityRemoveLegacyPassword, _WiFiSecurityRemovePassword, 263 | _WiFiSecuritySetLegacyPassword, _WiFiSecuritySetPassword, 264 | _WiFiSecuritySetPasswordSyncable, __CFArrayCreateMutableCopyOfCFDictionary, 265 | __CFArrayCreateMutableCopyOfCFSet, __CFDictinoarySetFloatValue, 266 | __CFDictionarySetIntValue, __CFMachPortCreateWithPort, __CFPropertyListCreateBinaryData, 267 | __CFSetCreateMutableCopyOfCFArray, __CFTypeGetFloatValue, 268 | __CFTypeGetIntValue, __CFValidateType, __WiFiCopyEnabledNetworks, 269 | __WiFiCopyUnserialized, __WiFiCreateNetworksFromRecords, __WiFiCreateNetworksFromRecordsWithRSSIBounds, 270 | __WiFiCreateRecordsFromNetworks, __WiFiCreateRecordsFromNetworksWithType, 271 | __WiFiDeviceClientCreate, __WiFiDeviceClientDispatch24GHzNetworkInCriticalStateEvent, 272 | __WiFiDeviceClientDispatchAssociationResult, __WiFiDeviceClientDispatchAutoJoinNotification, 273 | __WiFiDeviceClientDispatchBTScanIntervalRelaxEvent, __WiFiDeviceClientDispatchBgScanSuspendResumeEvent, 274 | __WiFiDeviceClientDispatchBssidEvent, __WiFiDeviceClientDispatchCarPlayNetworkTypeChangeEvent, 275 | __WiFiDeviceClientDispatchDeviceAvailableEvent, __WiFiDeviceClientDispatchDiagnosticsStartEvent, 276 | __WiFiDeviceClientDispatchGasResults, __WiFiDeviceClientDispatchHostApStateChangedEvent, 277 | __WiFiDeviceClientDispatchLQMEvent, __WiFiDeviceClientDispatchLinkEvent, 278 | __WiFiDeviceClientDispatchP2pThreadCoexEvent, __WiFiDeviceClientDispatchPowerEvent, 279 | __WiFiDeviceClientDispatchRangingReportEvent, __WiFiDeviceClientDispatchRangingResult, 280 | __WiFiDeviceClientDispatchRemovalEvent, __WiFiDeviceClientDispatchResumeScanEvent, 281 | __WiFiDeviceClientDispatchRoamStatusEvent, __WiFiDeviceClientDispatchScanCacheUpdateEvent, 282 | __WiFiDeviceClientDispatchScanResults, __WiFiDeviceClientDispatchScanUpdateEvent, 283 | __WiFiDeviceClientDispatchStartNetworkResult, __WiFiDeviceClientDispatchStopNetworkResult, 284 | __WiFiDeviceClientDispatchUserJoinNotification, __WiFiDeviceClientDispatchVirtInterfaceStateChangeEvent, 285 | __WiFiDeviceClientDispatchWeightAvgLQMEvent, __WiFiDeviceClientGetServerPort, 286 | __WiFiDeviceClientSendEventMaskToServer, __WiFiDeviceClientSetServerPort, 287 | __WiFiManagerClientGetRunLoop, __WiFiManagerClientGetRunLoopMode, 288 | __WiFiPreferencesLock, __WiFiPreferencesUnlock, __WiFiReallocArray, 289 | __WiFiScale, __WiFiScaleRSSI, __WiFiSerialize, __WiFiVMDealloc, 290 | ___CreateAirplayStatisticsDictionary, __dispatchBGScanCachedNetworks, 291 | __dispatchBssSteeringRequest, __dispatchGasResults, __dispatchLeakyStatsEvent, 292 | __dispatchP2PNearbyLogTrigger, __dispatchP2pThreadCoexEvent, 293 | __dispatchRangingResults, __eventRead, __getPeerTrafficStatsDictionary, 294 | __getRangingPeerRequest, __getRangingPhyErrorString, __handleNANGetRequest, 295 | __handleNANSetRequest, __parseHs20OperatorName, __wifi_manager_client_dispatch_add_network_async, 296 | __wifi_manager_client_dispatch_association_result, __wifi_manager_client_dispatch_auto_join_state_change, 297 | __wifi_manager_client_dispatch_awdl_service_frame, __wifi_manager_client_dispatch_event, 298 | __wifi_manager_client_dispatch_gas_results, __wifi_manager_client_dispatch_managed_apple_id_state_change, 299 | __wifi_manager_client_dispatch_notification, __wifi_manager_client_dispatch_preferred_networks_change, 300 | __wifi_manager_client_dispatch_ranging_result, __wifi_manager_client_dispatch_scan_results, 301 | __wifi_manager_client_dispatch_start_network_result, __wifi_manager_client_dispatch_stop_network_result, 302 | __wifi_manager_client_dispatch_ui_event, __wifi_manager_client_dispatch_wow_state_change, 303 | __wifi_manager_client_subsystem, _channels5Ghz, _getColocatedStateFromDictionary, 304 | _getEpochTimeInMicroseconds, _isAppleOUI, _kAggressiveTriggerDisconnectEnableKey, 305 | _kAskToTrgDiscKey, _kCYCLOPS_OUI, _kIsWiFiNetworkSharebleKey, 306 | _kLinkQualityAssessmentModeKey, _kOverrideWiFiFallbackPrefKey, 307 | _kWiFiATJPreferenceKey, _kWiFiATJTestModeEnabledKey, _kWiFiATJTestNetworkSsidKey, 308 | _kWiFiAddNetworkDisassociateOnSessionEndKey, _kWiFiAddNetworkOriginatorKey, 309 | _kWiFiAddNetworkUseSSIDPrefixKey, _kWiFiAppPolicyStateKey, 310 | _kWiFiAppPolicyUUIDKey, _kWiFiAutoHotspotBTScanCount, _kWiFiAutoHotspotBTScanDuration, 311 | _kWiFiAutoHotspotDisableWiFiAutoJoinUntilUserJoin, _kWiFiAutoHotspotLPHSPowerStats, 312 | _kWiFiAutoHotspotLastScan, _kWiFiAutoHotspotStatusAlreadyAssociated, 313 | _kWiFiAutoInstantHotspotJoining, _kWiFiAutoJoinDiag5GhzTriggerForBusy2GhzBandKey, 314 | _kWiFiAutoJoinDiag5GhzTriggerForHS20NetworksKey, _kWiFiAutoJoinDiag5GhzTriggerForHiddenNetworksKey, 315 | _kWiFiAutoJoinDiag5GhzTriggerForKnownNetworksKey, _kWiFiAutoJoinDiag5GhzTriggerForLegacyHSNetworksKey, 316 | _kWiFiAutoJoinDiagAJResetReasonKey, _kWiFiAutoJoinDiagAJResetTypeKey, 317 | _kWiFiAutoJoinDiagFoundDualBandKey, _kWiFiAutoJoinDiagLocationAccuracyKey, 318 | _kWiFiAutoJoinDiagLocationAgeKey, _kWiFiAutoJoinDiagLocationKey, 319 | _kWiFiAutoJoinDiagLocationLatKey, _kWiFiAutoJoinDiagLocationLongKey, 320 | _kWiFiAutoJoinDiagNum24GhzOnlyNetworksKey, _kWiFiAutoJoinDiagNum5GhzOnlyNetworksKey, 321 | _kWiFiAutoJoinDiagNumDualBandNetworksKey, _kWiFiAutoJoinDiagNumHS20NetworksKey, 322 | _kWiFiAutoJoinDiagNumHiddenNetworksKey, _kWiFiAutoJoinDiagNumLegacyHSNetworksKey, 323 | _kWiFiAutoJoinDiagNumNetworksKey, _kWiFiAutoJoinDiagNumProxHS20NetworksKey, 324 | _kWiFiAutoJoinDiagNumProxHiddenNetworksKey, _kWiFiAutoJoinDiagNumProxLegacyHSNetworksKey, 325 | _kWiFiAutoJoinDiagNumProxNetworksKey, _kWiFiAutoJoinDiagRetryIndexKey, 326 | _kWiFiAutoJoinDiagRetryIntervalsKey, _kWiFiAutoJoinDiagScanTypeKey, 327 | _kWiFiAutoJoinMetricsKey, _kWiFiAutoJoinNetworkKey, _kWiFiAutoJoinPowerDiaWiFiDirectDisabledResetKey, 328 | _kWiFiAutoJoinPowerDiagAJDeferralTimerResetKey, _kWiFiAutoJoinPowerDiagATJOneShotResetKey, 329 | _kWiFiAutoJoinPowerDiagAWDLBringdownResetKey, _kWiFiAutoJoinPowerDiagAWDLBringupResetKey, 330 | _kWiFiAutoJoinPowerDiagAdhocNetworkStoppedResetKey, _kWiFiAutoJoinPowerDiagBTStateChangeResetKey, 331 | _kWiFiAutoJoinPowerDiagBroadcast24GScanKey, _kWiFiAutoJoinPowerDiagBroadcast5GScanKey, 332 | _kWiFiAutoJoinPowerDiagBroadcastGeoBasedAllBandScanKey, _kWiFiAutoJoinPowerDiagBroadcastLearnPhaseScanKey, 333 | _kWiFiAutoJoinPowerDiagBroadcastLegacyAllBandScanKey, _kWiFiAutoJoinPowerDiagBroadcastLocnInvalidAllBandScanKey, 334 | _kWiFiAutoJoinPowerDiagBroadcastPeriodicAllBandScanKey, _kWiFiAutoJoinPowerDiagClientAssociateCallbackResetKey, 335 | _kWiFiAutoJoinPowerDiagDeviceEnableResetKey, _kWiFiAutoJoinPowerDiagDiscoveredKnownNetworkResetKey, 336 | _kWiFiAutoJoinPowerDiagHiddenNetworkScanKey, _kWiFiAutoJoinPowerDiagLinkStateChangeResetKey, 337 | _kWiFiAutoJoinPowerDiagLocnMRUChanScanKey, _kWiFiAutoJoinPowerDiagLocnPrevChanScanKey, 338 | _kWiFiAutoJoinPowerDiagMISEventResetKey, _kWiFiAutoJoinPowerDiagMRUChannelScanKey, 339 | _kWiFiAutoJoinPowerDiagNetworkTransitionScanKey, _kWiFiAutoJoinPowerDiagPowerResourceResetKey, 340 | _kWiFiAutoJoinPowerDiagPowerStateChangeResetKey, _kWiFiAutoJoinPowerDiagPrevChannelScanKey, 341 | _kWiFiAutoJoinPowerDiagRemChannelScanKey, _kWiFiAutoJoinPowerDiagResetTypeFullKey, 342 | _kWiFiAutoJoinPowerDiagResetTypeModerateKey, _kWiFiAutoJoinPowerDiagResetTypeNoneKey, 343 | _kWiFiAutoJoinPowerDiagSetNetworkCallResetKey, _kWiFiAutoJoinPowerDiagnosticsKey, 344 | _kWiFiAutoJoinStatusAborted, _kWiFiAutoJoinStatusAlreadyAssociated, 345 | _kWiFiAutoJoinStatusAssociating, _kWiFiAutoJoinStatusAssociationFailure, 346 | _kWiFiAutoJoinStatusBegan, _kWiFiAutoJoinStatusEAPFromProfileFailedToJoin, 347 | _kWiFiAutoJoinStatusEAPNeedsUserFix, _kWiFiAutoJoinStatusInstantHotspotNetworkNotFound, 348 | _kWiFiAutoJoinStatusKey, _kWiFiAutoJoinStatusNetworkNotFound, 349 | _kWiFiAutoJoinStatusNotEnabled, _kWiFiAutoJoinStatusNotPermitted, 350 | _kWiFiAutoJoinStatusSuccess, _kWiFiAutoJoinStatusWaitingForUser, 351 | _kWiFiAvailabilityEngineEnabledKey, _kWiFiCaptiveBypassKey, 352 | _kWiFiCarplayNotificationInCar, _kWiFiCarplayNotificationKey, 353 | _kWiFiCarplayNotificationOutOfCar, _kWiFiCarplayParameters, 354 | _kWiFiCarplayState, _kWiFiCellularDataStatusNoLTE, _kWiFiCellularDataStatusRoaming, 355 | _kWiFiCellularDataStatusSustainedActive, _kWiFiCoreCaptureOnAssistedAJFailureKey, 356 | _kWiFiDebugCoreCaptureEnabledKey, _kWiFiDeviceCapabilitiesKey, 357 | _kWiFiDeviceLinkChangeClientReasonKey, _kWiFiDeviceScanCacheScanRequest, 358 | _kWiFiDeviceScanCacheScanResults, _kWiFiDeviceScanRequestClientName, 359 | _kWiFiDeviceScanRequestClientPid, _kWiFiDeviceScanRequestReceiptTimestamp, 360 | _kWiFiDeviceSpecificKeyMacRandomisationKey, _kWiFiDeviceSupportsAlwaysOnKey, 361 | _kWiFiDeviceSupportsWAPIKey, _kWiFiDeviceSupportsWoWKey, _kWiFiDeviceVendorIDKey, 362 | _kWiFiDiagnosticsIntervalKey, _kWiFiDiagnosticsKeyAWDL, _kWiFiDiagnosticsKeyBluetooth, 363 | _kWiFiDiagnosticsKeyBssEnv, _kWiFiDiagnosticsKeyLQM, _kWiFiDiagnosticsKeyMotion, 364 | _kWiFiDiagnosticsKeyNetworkChanged, _kWiFiDiagnosticsKeyProbeGateway, 365 | _kWiFiDiagnosticsKeyProbeInternet, _kWiFiDiagnosticsKeyScan, 366 | _kWiFiDiagnosticsKeyScanDone, _kWiFiDisableAutoJoinUntilFirstUserJoin, 367 | _kWiFiDisableSoftErrorReporting, _kWiFiDisplayedOperatorName, 368 | _kWiFiDomainName, _kWiFiDumpLogsFlushLogBufferKey, _kWiFiEnableRangingLogDumpKey, 369 | _kWiFiFaceTimeCallNotificationEnd, _kWiFiFaceTimeCallNotificationKey, 370 | _kWiFiFaceTimeCallNotificationStart, _kWiFiHESSID, _kWiFiHasNoGatewayIPKey, 371 | _kWiFiHostApStateADHSMode, _kWiFiHostApStateEnable, _kWiFiHostApStateIdentifier, 372 | _kWiFiHostApStateInfo, _kWiFiHostApStateInfoActiveDuration, 373 | _kWiFiHostApStateInfoLowPowerDuration, _kWiFiHostApStateInfoMacAddr, 374 | _kWiFiHostApStateisADHSConnected, _kWiFiHostApWiFiNetworkIeBatteryKey, 375 | _kWiFiHostApWiFiNetworkIeFlagKey, _kWiFiHostApWiFiNetworkIeSsidKey, 376 | _kWiFiHwMacAddressMacRandomisationKey, _kWiFiIPStateKey, _kWiFiInstantHotspotJoining, 377 | _kWiFiIsHotspot, _kWiFiJoiningFromUI, _kWiFiLastRangingSessionMetricKey, 378 | _kWiFiLocaleCountryCodeKey, _kWiFiLocaleLastTimeUpdatedKey, 379 | _kWiFiLocaleSourceKey, _kWiFiLocaleTestParamsKey, _kWiFiLoggingATJPickerEnabledKey, 380 | _kWiFiLoggingDriverFileKey, _kWiFiLoggingDriverLoggingEnabledKey, 381 | _kWiFiLoggingEnabledKey, _kWiFiLoggingFileClassCKey, _kWiFiLoggingFileEnabledKey, 382 | _kWiFiLoggingFileKey, _kWiFiLoggingLoggerFileKey, _kWiFiLoggingLoggerLevel, 383 | _kWiFiLoggingLoggerLifeSpan, _kWiFiLoggingLoggerPrivacy, _kWiFiLoggingLoggerSize, 384 | _kWiFiLoggingSettingsEnabledKey, _kWiFiLqaMgrAverageRTT, _kWiFiLqaMgrMaximumRTT, 385 | _kWiFiLqaMgrMinimumRTT, _kWiFiLqaMgrNumProbesFail, _kWiFiLqaMgrNumProbesSent, 386 | _kWiFiMCCandMNC, _kWiFiMacAddressRandomisationClassifyAttempts, 387 | _kWiFiMacAddressRandomisationClassifyInterval, _kWiFiMacAddressRandomisationJoinDateAfterUpgrade, 388 | _kWiFiMacAddressRandomisationTagMigratedNetworkKey, _kWiFiMacRandomizationInternalUI, 389 | _kWiFiMacRandomizationSecureNetworks, _kWiFiMacRandomizationSecureNetworksInitialFlag, 390 | _kWiFiManagerDisableBlackListKey, _kWiFiNaiRealmName, _kWiFiNetworkAtLocationOfInterestTypeKey, 391 | _kWiFiNetworkAttributeHighPopularity, _kWiFiNetworkAttributeHighQuality, 392 | _kWiFiNetworkAttributeIsKnown, _kWiFiNetworkAttributeIsMoving, 393 | _kWiFiNetworkAttributeIsNotRecommendable, _kWiFiNetworkAttributeIsPotentiallyCaptive, 394 | _kWiFiNetworkAttributeIsPotentiallyMoving, _kWiFiNetworkAttributeIsPublic, 395 | _kWiFiNetworkAttributeIsSuspicious, _kWiFiNetworkAttributeIsTCPGood, 396 | _kWiFiNetworkAttributeLowPopularity, _kWiFiNetworkAttributeLowQuality, 397 | _kWiFiNetworkAttributePopularityScore, _kWiFiNetworkAttributeProminentDisplay, 398 | _kWiFiNetworkAttributeQualityScore, _kWiFiNetworkAttributeSource, 399 | _kWiFiNetworkBundleIdentifierKey, _kWiFiNetworkChangeEventAddKey, 400 | _kWiFiNetworkChangeEventModifyKey, _kWiFiNetworkChangeEventRemoveKey, 401 | _kWiFiNetworkDisabledUntilDateKey, _kWiFiNetworkEnterpriseProfile, 402 | _kWiFiNetworkEnterpriseProfileKey, _kWiFiNetworkExpirationDateKey, 403 | _kWiFiNetworkExpirySecsKey, _kWiFiNetworkForcedHomeFixKey, 404 | _kWiFiNetworkIsAutoJoinedKey, _kWiFiNetworkLastHomeForceFixDateKey, 405 | _kWiFiNetworkOfInterestHomeStateKey, _kWiFiNetworkOfInterestWorkStateKey, 406 | _kWiFiNetworkOriginatorNameKey, _kWiFiNetworkPasswordModificationDateKey, 407 | _kWiFiNetworkPasswordStringKey, _kWiFiNetworkPayloadUUIDKey, 408 | _kWiFiNetworkPriority, _kWiFiNetworkRoleKey, _kWiFiNetworkSSIDHarvestStatusKey, 409 | _kWiFiNetworkSaveDataModeKey, _kWiFiNetworkShareModeKey, _kWiFiNetworkShareableEAPConfig, 410 | _kWiFiNetworkShareableEAPTrustExceptions, _kWiFiNetworkShareableStatusKey, 411 | _kWiFiNetworkUserAcceptedRecommendationTimeKey, _kWiFiNetworkUserRoleKey, 412 | _kWiFiNetworkWalletIdentifierKey, _kWiFiPHBandPreferenceKey, 413 | _kWiFiPHBandPreferenceShowUIKey, _kWiFiPNLMigrationComplete, 414 | _kWiFiPersonalHotspotModificationKey, _kWiFiPowerModificationKey, 415 | _kWiFiPreferenceCustomNetworksSettingsKey, _kWiFiPreferenceDisassociationIntervalKey, 416 | _kWiFiPreferenceEnable5GhzAutoJoinScanKey, _kWiFiPreferenceEnhancedWoWEnabledKey, 417 | _kWiFiPreferenceIsNewInstall, _kWiFiPreferenceJoinRecommendationDisabledUntilKey, 418 | _kWiFiPreferenceJoinRecommendationModeKey, _kWiFiPreferenceLPASEnabledKey, 419 | _kWiFiPreferenceLocationAssistance, _kWiFiPreferenceMStageAutoJoinKey, 420 | _kWiFiPreferenceOptimizedAutoJoinKey, _kWiFiPreferenceWakeModeKey, 421 | _kWiFiPreferencesDeviceUUIDKey, _kWiFiPreferencesIsOrphanedSCCleanUpRequired, 422 | _kWiFiPreferencesVersion, _kWiFiPrivateMacAddressInUse, _kWiFiPrivateMacControlledDevice, 423 | _kWiFiPrivateMacDictScannedNetworksKey, _kWiFiPrivateMacDisableReason, 424 | _kWiFiPrivateMacDisassocPending, _kWiFiPrivateMacEnableCarPlayTestMode, 425 | _kWiFiPrivateMacEnableCarrierTimeOuts, _kWiFiPrivateMacFailureThresholdMet, 426 | _kWiFiPrivateMacFirstUnlockAfterSWUpgrade, _kWiFiPrivateMacForceDisableForCarplayNetworks, 427 | _kWiFiPrivateMacForceDisableForHomeNetworks, _kWiFiPrivateMacForceDisableForSpecialFrequentlyUsedNetworks, 428 | _kWiFiPrivateMacForceUseStaticMac, _kWiFiPrivateMacInfoDictionary, 429 | _kWiFiPrivateMacIsCarrierBundleBased, _kWiFiPrivateMacNetworkAddedByProfile, 430 | _kWiFiPrivateMacNetworkUpdateReason, _kWiFiPrivateMacProfileDefaultFeatureToDisable, 431 | _kWiFiRSSIThresholdKey, _kWiFiRandomMACBannerDisplayedKey, 432 | _kWiFiRoamDestBssidKey, _kWiFiRoamDestChannelKey, _kWiFiRoamEventsKey, 433 | _kWiFiRoamKnownBssKey, _kWiFiRoamOriginBssidKey, _kWiFiRoamOriginChannelKey, 434 | _kWiFiRoamTimestampKey, _kWiFiRoamingConsortiumOIs, _kWiFiSBPickerDontAskShownKey, 435 | _kWiFiSBUsesNetwork, _kWiFiSPRoaming, _kWiFiScaledRSSIKey, 436 | _kWiFiScaledRateKey, _kWiFiSessionBasedNetworkListBundleIDKey, 437 | _kWiFiSessionBasedNetworkListKey, _kWiFiSessionBasedNetworkListTimestampKey, 438 | _kWiFiSettingAutoInstantHotspotKey, _kWiFiSettingAutoInstantHotspotTriggerIntervalKey, 439 | _kWiFiSettingDataUsageDateKey, _kWiFiSettingDataUsageInterfaceNameKey, 440 | _kWiFiSettingDataUsageInterfacePeerAddrKey, _kWiFiSettingDataUsageInterfacePeerDisplayNameKey, 441 | _kWiFiSettingDataUsageInterfacePeerLastBytesKey, _kWiFiSettingDataUsageInterfacePeerListKey, 442 | _kWiFiSettingDataUsageInterfacePeerTotalBytesKey, _kWiFiSettingDataUsageSIMIdentifierKey, 443 | _kWiFiSettingFamilyHotspotDisplayNameKey, _kWiFiSettingFamilyHotspotIdentifierKey, 444 | _kWiFiSettingFamilyHotspotPreferencesKey, _kWiFiSettingFamilyHotspotSharingModeKey, 445 | _kWiFiSettingHotspotDataUsageKey, _kWiFiSettingInterfaceDataUsageV1, 446 | _kWiFiSettingShareMyPersonalHotspotKey, _kWiFiSettingsCachedNetworkFilename, 447 | _kWiFiSettingsCachedNetworkPath, _kWiFiSettingsURLCredentialsPath, 448 | _kWiFiSettingsURLDetailsPath, _kWiFiSettingsURLTrustPath, 449 | _kWiFiShowKnownNetworksUI, _kWiFiShowUnprovisionedHS20Networks, 450 | _kWiFiSoftErrorReportingTimeout, _kWiFiStrengthKey, _kWiFiSuppressScansKey, 451 | _kWiFiTetheringCredentialsKey, _kWiFiThermalIndexKey, _kWiFiUIEventDismissalTriggerTypeKey, 452 | _kWiFiUIEventPresentationTriggerTypeKey, _kWiFiUIEventResponseKey, 453 | _kWiFiUIEventSSIDKey, _kWiFiUIEventTriggerTypeKey, _kWiFiUIEventTypeKey, 454 | _kWiFiUIEventTypeNotificationKey, _kWiFiUIEventTypeNotificationTypeKey, 455 | _kWiFiUIRequiresPersistentWiFi, _kWiFiUserAutoJoinAutomaticEnablingDisabledKey, 456 | _kWiFiUserAutoJoinDateMetricKey, _kWiFiUserAutoJoinLocStateMetricKey, 457 | _kWiFiUserAutoJoinLocationMetricKey, _kWiFiUserAutoJoinSecurityTypeMetricKey, 458 | _kWiFiUserAutoJoinStateDisabledLocKey, _kWiFiUserAutoJoinStateDisabledTimeKey, 459 | _kWiFiUserAutoJoinStateKey, _kWiFiUserAutoJoinTriggerKey, 460 | _kWiFiUserInteractionFGNetworkAppOverrideKey, _kWiFiUserJoinNetworkKey, 461 | _kWiFiUserJoinStatusAborted, _kWiFiUserJoinStatusAlreadyAssociated, 462 | _kWiFiUserJoinStatusAssociating, _kWiFiUserJoinStatusAssociationFailed, 463 | _kWiFiUserJoinStatusKey, _kWiFiUserJoinStatusNetworkNotFound, 464 | _kWiFiUserJoinStatusNotEnabled, _kWiFiUserJoinStatusNotPermitted, 465 | _kWiFiUserJoinStatusScanning, _kWiFiUserJoinStatusStarted, 466 | _kWiFiUserJoinStatusSuccess, _kWiFiUserJoinStatusWaitingForUser, 467 | _kWiFiUserNotificationBlacklistCountKey, _kWiFiUserNotificationBlacklistKey, 468 | _kWiFiUserNotificationBlacklistNotificationTypeKey, _kWiFiUserNotificationBlacklistTimestampKey, 469 | _kWiFiUserNotificationBlacklistTypeKey, _kWiFiUserPreferenceJoinAlertMode, 470 | _kWiFiWhitelistingUUIDKey, _kWiFiWoWClientCountKey, _kWiFiWoWClientListKey, 471 | _kWiFiWoWEnabledKey, _loadAirplayStatsHistogramBin, _loadSidecarHistogramBin, 472 | _powerStateToString, _subsystems, _wifi_device_assoc_async, 473 | _wifi_device_autojoinblacklist_command, _wifi_device_bssblacklist_command, 474 | _wifi_device_copy_current_network, _wifi_device_copy_interface_state_info, 475 | _wifi_device_copy_network_recommendations, _wifi_device_copy_networks, 476 | _wifi_device_copy_property, _wifi_device_copy_roam_stats, 477 | _wifi_device_create_virtual_if, _wifi_device_debug_command, 478 | _wifi_device_delete_virtual_if, _wifi_device_destroy_eap_trust_current_network, 479 | _wifi_device_disassociate, _wifi_device_disassociate_with_reason, 480 | _wifi_device_gas_start_async, _wifi_device_get_app_state, 481 | _wifi_device_get_awdl_sync_state, _wifi_device_get_event_interval, 482 | _wifi_device_get_power, _wifi_device_ranging_start_async, 483 | _wifi_device_reset_availability_engine, _wifi_device_scan_async, 484 | _wifi_device_set_awdl_sync_state, _wifi_device_set_coex_parameters, 485 | _wifi_device_set_event_interval, _wifi_device_set_event_mask, 486 | _wifi_device_set_power, _wifi_device_set_property, _wifi_device_set_rangeable, 487 | _wifi_device_set_ranging_identifier, _wifi_device_set_trgdisc_params, 488 | _wifi_device_set_wifi_direct_state, _wifi_device_soft_error_notification, 489 | _wifi_device_start_network, _wifi_device_stop_network, _wifi_device_traffic_registration, 490 | _wifi_device_wowblacklist_command, _wifi_manager_add_network, 491 | _wifi_manager_add_network_async, _wifi_manager_add_policy, 492 | _wifi_manager_cleanup_log_buffer_files, _wifi_manager_client_server, 493 | _wifi_manager_client_server_routine, _wifi_manager_close, 494 | _wifi_manager_copy_airplay_stats, _wifi_manager_copy_client_names, 495 | _wifi_manager_copy_current_session_based_network, _wifi_manager_copy_devices, 496 | _wifi_manager_copy_family_hotspot_preferences, _wifi_manager_copy_geotags_for_network, 497 | _wifi_manager_copy_leeched_location, _wifi_manager_copy_locale_stats, 498 | _wifi_manager_copy_networks, _wifi_manager_copy_networks_at_location, 499 | _wifi_manager_copy_policies, _wifi_manager_copy_property, 500 | _wifi_manager_copy_score_for_network, _wifi_manager_copy_softerror_counters, 501 | _wifi_manager_copy_ssid_most_used_geo_tagged_to_current_location, 502 | _wifi_manager_copy_test_params, _wifi_manager_copy_version_info, 503 | _wifi_manager_copy_wow_state, _wifi_manager_dispatch_notification_response, 504 | _wifi_manager_dump_logs, _wifi_manager_get_ask_to_join_state, 505 | _wifi_manager_get_asktojoin_preference, _wifi_manager_get_association_mode, 506 | _wifi_manager_get_auto_instant_hotspot_mode, _wifi_manager_get_bgscancache_state, 507 | _wifi_manager_get_mac_randomisation_parameters, _wifi_manager_get_mis_discovery_state, 508 | _wifi_manager_get_mis_state, _wifi_manager_get_network_state, 509 | _wifi_manager_get_power, _wifi_manager_get_quiesce_state, 510 | _wifi_manager_get_retry_cap, _wifi_manager_get_share_personal_hotspot_mode, 511 | _wifi_manager_get_thermal_index, _wifi_manager_get_user_auto_join_state, 512 | _wifi_manager_get_wow_capability, _wifi_manager_is_always_on_wifi_supported, 513 | _wifi_manager_is_hotspot_wpa3_personal_supported, _wifi_manager_is_infra_allowed, 514 | _wifi_manager_is_managed_apple_id, _wifi_manager_is_mfp_capable_device, 515 | _wifi_manager_is_multi_band, _wifi_manager_is_p2p_allowed, 516 | _wifi_manager_is_personal_hotspot_modification_disabled, _wifi_manager_is_power_modification_disabled, 517 | _wifi_manager_is_restriction_policy_active, _wifi_manager_is_tethering_supported, 518 | _wifi_manager_is_wpa3_enterprise_supported, _wifi_manager_is_wpa3_personal_supported, 519 | _wifi_manager_merge_known_networks, _wifi_manager_migrate_list, 520 | _wifi_manager_mis_copy_password, _wifi_manager_mis_set_password, 521 | _wifi_manager_open, _wifi_manager_private_mac_is_quick_probe_required, 522 | _wifi_manager_private_mac_probe_result, _wifi_manager_release_service, 523 | _wifi_manager_remove_network, _wifi_manager_remove_networks_with_bundle_identifier, 524 | _wifi_manager_remove_orphaned_sc_network_sets, _wifi_manager_remove_policy, 525 | _wifi_manager_remove_unused_network_geotags, _wifi_manager_reset_network_settings, 526 | _wifi_manager_retain_service, _wifi_manager_schedule_unused_network_geotags_removal_test, 527 | _wifi_manager_set_adaptive_roam_params, _wifi_manager_set_asktojoin_preference, 528 | _wifi_manager_set_association_mode, _wifi_manager_set_auto_instant_hotspot_mode, 529 | _wifi_manager_set_auto_instant_hotspot_test_mode, _wifi_manager_set_auto_instant_hotspot_trigger_interval, 530 | _wifi_manager_set_background_scan_networks, _wifi_manager_set_bgscan_cache_state, 531 | _wifi_manager_set_built_in_receiver, _wifi_manager_set_client_type, 532 | _wifi_manager_set_enable_state, _wifi_manager_set_event_mask, 533 | _wifi_manager_set_geotag_for_network, _wifi_manager_set_incar_state, 534 | _wifi_manager_set_mac_randomisation_params, _wifi_manager_set_mis_discovery_state, 535 | _wifi_manager_set_mis_state, _wifi_manager_set_network_property, 536 | _wifi_manager_set_network_state, _wifi_manager_set_networks_state_with_bundle_identifier, 537 | _wifi_manager_set_power, _wifi_manager_set_power_ext, _wifi_manager_set_private_mac_pref, 538 | _wifi_manager_set_property, _wifi_manager_set_quiesce_state, 539 | _wifi_manager_set_retry_cap, _wifi_manager_set_scan_backoff_report, 540 | _wifi_manager_set_share_personal_hotspot_mode, _wifi_manager_set_test_params, 541 | _wifi_manager_set_thermal_index, _wifi_manager_set_user_auto_join_state, 542 | _wifi_manager_set_user_interaction_override, _wifi_manager_set_wow_state, 543 | _wifi_manager_simulate_notification, _wifi_manager_start_advertising_service, 544 | _wifi_manager_start_browsing_for_service, _wifi_manager_start_resolving_service, 545 | _wifi_manager_stop_advertising_service, _wifi_manager_stop_browsing_for_service, 546 | _wifi_manager_stop_resolving_service, _wifi_manager_submit_queryable_metric, 547 | _wifi_manager_tigger_gizmo_sync_password_check, _wifi_manager_unschedule_unused_network_geotags_removal_test, 548 | _wifi_manager_update_network, _wifi_manager_update_privateMac_network, 549 | _wifi_manager_wificall_handover_notification ] 550 | objc-classes: [ WiFiPasswordSharingSimulator ] 551 | ... 552 | -------------------------------------------------------------------------------- /Frameworks/NetworkStatistics.framework/Headers/NetworkStatistics.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | // credit to Jonathan Levin (jlevin) : 4 | // http://newosxbook.com/src.jl?tree=listings&file=netbottom.c 5 | typedef void* NStatManagerRef; 6 | typedef void* NStatSourceRef; 7 | 8 | NStatManagerRef NStatManagerCreate(const struct __CFAllocator*, 9 | dispatch_queue_t, void (^)(void*, void*)); 10 | 11 | int NStatManagerSetInterfaceTraceFD(NStatManagerRef, int fd); 12 | int NStatManagerSetFlags(NStatManagerRef, int Flags); 13 | int NStatManagerAddAllTCPWithFilter(NStatManagerRef, int something, 14 | int somethingElse); 15 | int NStatManagerAddAllUDPWithFilter(NStatManagerRef, int something, 16 | int somethingElse); 17 | void* NStatSourceQueryDescription(NStatSourceRef); 18 | 19 | extern CFStringRef kNStatProviderInterface; 20 | extern CFStringRef kNStatProviderRoute; 21 | extern CFStringRef kNStatProviderSysinfo; 22 | extern CFStringRef kNStatProviderTCP; 23 | 24 | extern CFStringRef kNStatSrcTCPStateCloseWait; 25 | extern CFStringRef kNStatSrcTCPStateClosed; 26 | extern CFStringRef kNStatSrcTCPStateClosing; 27 | extern CFStringRef kNStatSrcTCPStateEstablished; 28 | extern CFStringRef kNStatSrcTCPStateFinWait1; 29 | extern CFStringRef kNStatSrcTCPStateFinWait2; 30 | extern CFStringRef kNStatSrcTCPStateLastAck; 31 | extern CFStringRef kNStatSrcTCPStateListen; 32 | extern CFStringRef kNStatSrcTCPStateSynReceived; 33 | extern CFStringRef kNStatSrcTCPStateSynSent; 34 | extern CFStringRef kNStatSrcTCPStateTimeWait; 35 | 36 | // Keys for the source dictionary in the description callback. 37 | // These are actually CFStringRefs, but import them as NSStrings 38 | // so that we can use objc APIs without a bunch of __bridges 39 | extern NSString* kNStatProviderUDP; 40 | extern NSString* kNStatSrcKeyAvgRTT; 41 | extern NSString* kNStatSrcKeyChannelArchitecture; 42 | extern NSString* kNStatSrcKeyConnProbeFailed; 43 | extern NSString* kNStatSrcKeyConnectAttempt; 44 | extern NSString* kNStatSrcKeyConnectSuccess; 45 | extern NSString* kNStatSrcKeyDurationAbsoluteTime; 46 | extern NSString* kNStatSrcKeyEPID; 47 | extern NSString* kNStatSrcKeyEUPID; 48 | extern NSString* kNStatSrcKeyEUUID; 49 | extern NSString* kNStatSrcKeyInterface; 50 | extern NSString* kNStatSrcKeyInterfaceCellConfigBackoffTime; 51 | extern NSString* kNStatSrcKeyInterfaceCellConfigInactivityTime; 52 | extern NSString* kNStatSrcKeyInterfaceCellUlAvgQueueSize; 53 | extern NSString* kNStatSrcKeyInterfaceCellUlMaxQueueSize; 54 | extern NSString* kNStatSrcKeyInterfaceCellUlMinQueueSize; 55 | extern NSString* kNStatSrcKeyInterfaceDescription; 56 | extern NSString* kNStatSrcKeyInterfaceDlCurrentBandwidth; 57 | extern NSString* kNStatSrcKeyInterfaceDlMaxBandwidth; 58 | extern NSString* kNStatSrcKeyInterfaceIsAWD; 59 | extern NSString* kNStatSrcKeyInterfaceIsAWDL; 60 | extern NSString* kNStatSrcKeyInterfaceIsCellFallback; 61 | extern NSString* kNStatSrcKeyInterfaceIsExpensive; 62 | extern NSString* kNStatSrcKeyInterfaceLinkQualityMetric; 63 | extern NSString* kNStatSrcKeyInterfaceName; 64 | extern NSString* kNStatSrcKeyInterfaceThreshold; 65 | extern NSString* kNStatSrcKeyInterfaceType; 66 | extern NSString* kNStatSrcKeyInterfaceTypeCellular; 67 | extern NSString* kNStatSrcKeyInterfaceTypeLoopback; 68 | extern NSString* kNStatSrcKeyInterfaceTypeUnknown; 69 | extern NSString* kNStatSrcKeyInterfaceTypeWiFi; 70 | extern NSString* kNStatSrcKeyInterfaceTypeWired; 71 | extern NSString* kNStatSrcKeyInterfaceUlBytesLost; 72 | extern NSString* kNStatSrcKeyInterfaceUlCurrentBandwidth; 73 | extern NSString* kNStatSrcKeyInterfaceUlEffectiveLatency; 74 | extern NSString* kNStatSrcKeyInterfaceUlMaxBandwidth; 75 | extern NSString* kNStatSrcKeyInterfaceUlMaxLatency; 76 | extern NSString* kNStatSrcKeyInterfaceUlMinLatency; 77 | extern NSString* kNStatSrcKeyInterfaceUlReTxtLevel; 78 | extern NSString* kNStatSrcKeyInterfaceWifiConfigFrequency; 79 | extern NSString* kNStatSrcKeyInterfaceWifiConfigMulticastRate; 80 | extern NSString* kNStatSrcKeyInterfaceWifiDlEffectiveLatency; 81 | extern NSString* kNStatSrcKeyInterfaceWifiDlErrorRate; 82 | extern NSString* kNStatSrcKeyInterfaceWifiDlMaxLatency; 83 | extern NSString* kNStatSrcKeyInterfaceWifiDlMinLatency; 84 | extern NSString* kNStatSrcKeyInterfaceWifiScanCount; 85 | extern NSString* kNStatSrcKeyInterfaceWifiScanDuration; 86 | extern NSString* kNStatSrcKeyInterfaceWifiUlErrorRate; 87 | extern NSString* kNStatSrcKeyLocal; 88 | extern NSString* kNStatSrcKeyMinRTT; 89 | extern NSString* kNStatSrcKeyPID; 90 | extern NSString* kNStatSrcKeyProbeActivated; 91 | extern NSString* kNStatSrcKeyProcessName; 92 | extern NSString* kNStatSrcKeyProvider; 93 | extern NSString* kNStatSrcKeyRcvBufSize; 94 | extern NSString* kNStatSrcKeyRcvBufUsed; 95 | extern NSString* kNStatSrcKeyReadProbeFailed; 96 | extern NSString* kNStatSrcKeyRemote; 97 | extern NSString* kNStatSrcKeyRouteDestination; 98 | extern NSString* kNStatSrcKeyRouteFlags; 99 | extern NSString* kNStatSrcKeyRouteGateway; 100 | extern NSString* kNStatSrcKeyRouteGatewayID; 101 | extern NSString* kNStatSrcKeyRouteID; 102 | extern NSString* kNStatSrcKeyRouteMask; 103 | extern NSString* kNStatSrcKeyRouteParentID; 104 | extern NSString* kNStatSrcKeyRxBytes; 105 | extern NSString* kNStatSrcKeyRxCellularBytes; 106 | extern NSString* kNStatSrcKeyRxDupeBytes; 107 | extern NSString* kNStatSrcKeyRxOOOBytes; 108 | extern NSString* kNStatSrcKeyRxPackets; 109 | extern NSString* kNStatSrcKeyRxWiFiBytes; 110 | extern NSString* kNStatSrcKeyRxWiredBytes; 111 | extern NSString* kNStatSrcKeySndBufSize; 112 | extern NSString* kNStatSrcKeySndBufUsed; 113 | extern NSString* kNStatSrcKeyStartAbsoluteTime; 114 | extern NSString* kNStatSrcKeyTCPCCAlgorithm; 115 | extern NSString* kNStatSrcKeyTCPState; 116 | extern NSString* kNStatSrcKeyTCPTxCongWindow; 117 | extern NSString* kNStatSrcKeyTCPTxUnacked; 118 | extern NSString* kNStatSrcKeyTCPTxWindow; 119 | extern NSString* kNStatSrcKeyTrafficClass; 120 | extern NSString* kNStatSrcKeyTrafficMgtFlags; 121 | extern NSString* kNStatSrcKeyTxBytes; 122 | extern NSString* kNStatSrcKeyTxCellularBytes; 123 | extern NSString* kNStatSrcKeyTxPackets; 124 | extern NSString* kNStatSrcKeyTxReTx; 125 | extern NSString* kNStatSrcKeyTxWiFiBytes; 126 | extern NSString* kNStatSrcKeyTxWiredBytes; 127 | extern NSString* kNStatSrcKeyUPID; 128 | extern NSString* kNStatSrcKeyUUID; 129 | extern NSString* kNStatSrcKeyVUUID; 130 | extern NSString* kNStatSrcKeyVarRTT; 131 | extern NSString* kNStatSrcKeyWriteProbeFailed; 132 | 133 | CFStringRef NStatSourceCopyProperty(NStatSourceRef, CFStringRef); 134 | void NStatSourceSetDescriptionBlock(NStatSourceRef arg, 135 | void (^)(CFDictionaryRef)); 136 | void NStatSourceSetRemovedBlock(NStatSourceRef arg, void (^)(void)); 137 | -------------------------------------------------------------------------------- /Frameworks/NetworkStatistics.framework/NetworkStatistics.tbd: -------------------------------------------------------------------------------- 1 | --- !tapi-tbd-v3 2 | archs: [ armv7, armv7s, arm64, arm64e ] 3 | platform: ios 4 | flags: [ flat_namespace ] 5 | install-name: /System/Library/PrivateFrameworks/NetworkStatistics.framework/NetworkStatistics 6 | current-version: 1 7 | compatibility-version: 1 8 | objc-constraint: retain_release 9 | exports: 10 | - archs: [ armv7, armv7s, arm64, arm64e ] 11 | symbols: [ _NStatManagerAddAllRoutes, 12 | _NStatManagerAddAllRoutesWithFilter, 13 | _NStatManagerAddAllTCP, 14 | _NStatManagerAddAllTCPWithFilter, 15 | _NStatManagerAddAllTCPWithOptions, 16 | _NStatManagerAddAllUDP, 17 | _NStatManagerAddAllUDPWithFilter, 18 | _NStatManagerAddAllUDPWithOptions, 19 | _NStatManagerCreate, 20 | _NStatManagerCreateInterfaceSource, 21 | _NStatManagerCreateRouteSource, 22 | _NStatManagerCreateSysinfoSource, 23 | _NStatManagerCreateTCPSource, 24 | _NStatManagerCreateUDPSource, _NStatManagerDestroy, 25 | _NStatManagerQueryAllSources, 26 | _NStatManagerQueryAllSourcesDescriptions, 27 | _NStatManagerQueryAllSourcesUpdate, 28 | _NStatManagerSetFlags, 29 | _NStatManagerSetInterfaceSourceFD, 30 | _NStatManagerSetInterfaceTraceFD, 31 | _NStatManagerSetQueuePriority, 32 | _NStatRouteValuesForIPv4Host, 33 | _NStatRouteValuesForIPv6Host, _NStatSourceCopyCounts, 34 | _NStatSourceCopyProperties, _NStatSourceCopyProperty, 35 | _NStatSourceCurrentSnapshot, _NStatSourceIdentifier, 36 | _NStatSourceQueryCounts, 37 | _NStatSourceQueryDescription, 38 | _NStatSourceQueryUpdate, _NStatSourceRemove, 39 | _NStatSourceSetCountsBlock, 40 | _NStatSourceSetDescriptionBlock, 41 | _NStatSourceSetEventsBlock, _NStatSourceSetFilter, 42 | _NStatSourceSetRemovedBlock, 43 | _kNStatProviderInterface, _kNStatProviderRoute, 44 | _kNStatProviderSysinfo, _kNStatProviderTCP, 45 | _kNStatProviderUDP, _kNStatSrcKeyAvgRTT, 46 | _kNStatSrcKeyChannelArchitecture, 47 | _kNStatSrcKeyConnProbeFailed, 48 | _kNStatSrcKeyConnectAttempt, 49 | _kNStatSrcKeyConnectSuccess, 50 | _kNStatSrcKeyDurationAbsoluteTime, _kNStatSrcKeyEPID, 51 | _kNStatSrcKeyEUPID, _kNStatSrcKeyEUUID, 52 | _kNStatSrcKeyEventFlags, _kNStatSrcKeyInterface, 53 | _kNStatSrcKeyInterfaceCellConfigBackoffTime, 54 | _kNStatSrcKeyInterfaceCellConfigInactivityTime, 55 | _kNStatSrcKeyInterfaceCellUlAvgQueueSize, 56 | _kNStatSrcKeyInterfaceCellUlMaxQueueSize, 57 | _kNStatSrcKeyInterfaceCellUlMinQueueSize, 58 | _kNStatSrcKeyInterfaceDescription, 59 | _kNStatSrcKeyInterfaceDlCurrentBandwidth, 60 | _kNStatSrcKeyInterfaceDlMaxBandwidth, 61 | _kNStatSrcKeyInterfaceIsAWD, 62 | _kNStatSrcKeyInterfaceIsAWDL, 63 | _kNStatSrcKeyInterfaceIsCellFallback, 64 | _kNStatSrcKeyInterfaceIsExpensive, 65 | _kNStatSrcKeyInterfaceLinkQualityMetric, 66 | _kNStatSrcKeyInterfaceName, 67 | _kNStatSrcKeyInterfaceThreshold, 68 | _kNStatSrcKeyInterfaceType, 69 | _kNStatSrcKeyInterfaceTypeCellular, 70 | _kNStatSrcKeyInterfaceTypeCompanionLink, 71 | _kNStatSrcKeyInterfaceTypeLoopback, 72 | _kNStatSrcKeyInterfaceTypeUnknown, 73 | _kNStatSrcKeyInterfaceTypeWiFi, 74 | _kNStatSrcKeyInterfaceTypeWired, 75 | _kNStatSrcKeyInterfaceUlBytesLost, 76 | _kNStatSrcKeyInterfaceUlCurrentBandwidth, 77 | _kNStatSrcKeyInterfaceUlEffectiveLatency, 78 | _kNStatSrcKeyInterfaceUlMaxBandwidth, 79 | _kNStatSrcKeyInterfaceUlMaxLatency, 80 | _kNStatSrcKeyInterfaceUlMinLatency, 81 | _kNStatSrcKeyInterfaceUlReTxtLevel, 82 | _kNStatSrcKeyInterfaceWifiConfigFrequency, 83 | _kNStatSrcKeyInterfaceWifiConfigMulticastRate, 84 | _kNStatSrcKeyInterfaceWifiDlEffectiveLatency, 85 | _kNStatSrcKeyInterfaceWifiDlErrorRate, 86 | _kNStatSrcKeyInterfaceWifiDlMaxLatency, 87 | _kNStatSrcKeyInterfaceWifiDlMinLatency, 88 | _kNStatSrcKeyInterfaceWifiScanCount, 89 | _kNStatSrcKeyInterfaceWifiScanDuration, 90 | _kNStatSrcKeyInterfaceWifiUlErrorRate, 91 | _kNStatSrcKeyLocal, _kNStatSrcKeyMinRTT, 92 | _kNStatSrcKeyPID, _kNStatSrcKeyProbeActivated, 93 | _kNStatSrcKeyProcessName, _kNStatSrcKeyProvider, 94 | _kNStatSrcKeyRcvBufSize, _kNStatSrcKeyRcvBufUsed, 95 | _kNStatSrcKeyReadProbeFailed, _kNStatSrcKeyRemote, 96 | _kNStatSrcKeyRouteDestination, 97 | _kNStatSrcKeyRouteFlags, _kNStatSrcKeyRouteGateway, 98 | _kNStatSrcKeyRouteGatewayID, _kNStatSrcKeyRouteID, 99 | _kNStatSrcKeyRouteMask, _kNStatSrcKeyRouteParentID, 100 | _kNStatSrcKeyRxBytes, _kNStatSrcKeyRxCellularBytes, 101 | _kNStatSrcKeyRxDupeBytes, _kNStatSrcKeyRxOOOBytes, 102 | _kNStatSrcKeyRxPackets, _kNStatSrcKeyRxWiFiBytes, 103 | _kNStatSrcKeyRxWiredBytes, _kNStatSrcKeySndBufSize, 104 | _kNStatSrcKeySndBufUsed, 105 | _kNStatSrcKeyStartAbsoluteTime, 106 | _kNStatSrcKeyTCPCCAlgorithm, _kNStatSrcKeyTCPState, 107 | _kNStatSrcKeyTCPTxCongWindow, 108 | _kNStatSrcKeyTCPTxUnacked, _kNStatSrcKeyTCPTxWindow, 109 | _kNStatSrcKeyTrafficClass, 110 | _kNStatSrcKeyTrafficMgtFlags, _kNStatSrcKeyTxBytes, 111 | _kNStatSrcKeyTxCellularBytes, _kNStatSrcKeyTxPackets, 112 | _kNStatSrcKeyTxReTx, _kNStatSrcKeyTxWiFiBytes, 113 | _kNStatSrcKeyTxWiredBytes, _kNStatSrcKeyUPID, 114 | _kNStatSrcKeyUUID, _kNStatSrcKeyVUUID, 115 | _kNStatSrcKeyVarRTT, _kNStatSrcKeyWriteProbeFailed, 116 | _kNStatSrcTCPStateCloseWait, 117 | _kNStatSrcTCPStateClosed, _kNStatSrcTCPStateClosing, 118 | _kNStatSrcTCPStateEstablished, 119 | _kNStatSrcTCPStateFinWait1, 120 | _kNStatSrcTCPStateFinWait2, 121 | _kNStatSrcTCPStateLastAck, _kNStatSrcTCPStateListen, 122 | _kNStatSrcTCPStateSynReceived, 123 | _kNStatSrcTCPStateSynSent, 124 | _kNStatSrcTCPStateTimeWait ] 125 | objc-classes: [ NWSInterfaceSnapshot, NWSProtocolSnapshot, 126 | NWSQUICSnapshot, NWSRouteSnapshot, NWSRouteSnapshotter, 127 | NWSSnapshot, NWSSnapshotSource, NWSSnapshotter, 128 | NWSTCPSnapshot, NWSUDPSnapshot, 129 | NWStatisticsDelegateBlockWrapper, 130 | NWStatisticsInterfaceSource, NWStatisticsManager, 131 | NWStatisticsQUICSource, NWStatisticsRouteSource, 132 | NWStatisticsSource, NWStatisticsTCPSource, 133 | NWStatisticsUDPSource ] 134 | objc-ivars: [ NWSInterfaceSnapshot._cellConfigBackoffTime, 135 | NWSInterfaceSnapshot._cellConfigInactivityTime, 136 | NWSInterfaceSnapshot._cellUlAvgQueueSize, 137 | NWSInterfaceSnapshot._cellUlMaxQueueSize, 138 | NWSInterfaceSnapshot._cellUlMinQueueSize, 139 | NWSInterfaceSnapshot._descriptor, 140 | NWSInterfaceSnapshot._dlEffectiveBandwidth, 141 | NWSInterfaceSnapshot._dlMaxBandwidth, 142 | NWSInterfaceSnapshot._interfaceDescription, 143 | NWSInterfaceSnapshot._interfaceName, 144 | NWSInterfaceSnapshot._linkQualityMetric, 145 | NWSInterfaceSnapshot._ulBytesLost, 146 | NWSInterfaceSnapshot._ulEffectiveBandwidth, 147 | NWSInterfaceSnapshot._ulEffectiveLatency, 148 | NWSInterfaceSnapshot._ulMaxBandwidth, 149 | NWSInterfaceSnapshot._ulMaxLatency, 150 | NWSInterfaceSnapshot._ulMinLatency, 151 | NWSInterfaceSnapshot._ulReTxtLevel, 152 | NWSInterfaceSnapshot._wifiConfigFrequency, 153 | NWSInterfaceSnapshot._wifiConfigMulticastRate, 154 | NWSInterfaceSnapshot._wifiDlEffectiveLatency, 155 | NWSInterfaceSnapshot._wifiDlErrorRate, 156 | NWSInterfaceSnapshot._wifiDlMaxLatency, 157 | NWSInterfaceSnapshot._wifiDlMinLatency, 158 | NWSInterfaceSnapshot._wifiScanCount, 159 | NWSInterfaceSnapshot._wifiScanDuration, 160 | NWSInterfaceSnapshot._wifiUlErrorRate, 161 | NWSProtocolSnapshot._countsIncludeHeaderOverhead, 162 | NWSProtocolSnapshot._epid, 163 | NWSProtocolSnapshot._eupid, 164 | NWSProtocolSnapshot._euuid, 165 | NWSProtocolSnapshot._eventFlags, 166 | NWSProtocolSnapshot._flowDuration, 167 | NWSProtocolSnapshot._flowStartContinuousTime, 168 | NWSProtocolSnapshot._flowStartTimestamp, 169 | NWSProtocolSnapshot._interfaceAWDL, 170 | NWSProtocolSnapshot._interfaceCellular, 171 | NWSProtocolSnapshot._interfaceCellularViaFallback, 172 | NWSProtocolSnapshot._interfaceCompanionLink, 173 | NWSProtocolSnapshot._interfaceExpensive, 174 | NWSProtocolSnapshot._interfaceIndex, 175 | NWSProtocolSnapshot._interfaceLoopback, 176 | NWSProtocolSnapshot._interfaceUnknown, 177 | NWSProtocolSnapshot._interfaceWifi, 178 | NWSProtocolSnapshot._interfaceWired, 179 | NWSProtocolSnapshot._localAddress, 180 | NWSProtocolSnapshot._networkActivityMapPart1, 181 | NWSProtocolSnapshot._networkActivityMapPart2, 182 | NWSProtocolSnapshot._networkActivityMapStartTime, 183 | NWSProtocolSnapshot._processID, 184 | NWSProtocolSnapshot._processName, 185 | NWSProtocolSnapshot._receiveBufferSize, 186 | NWSProtocolSnapshot._receiveBufferUsed, 187 | NWSProtocolSnapshot._remoteAddress, 188 | NWSProtocolSnapshot._trafficClass, 189 | NWSProtocolSnapshot._uniqueProcessID, 190 | NWSProtocolSnapshot._uuid, 191 | NWSProtocolSnapshot._vuuid, 192 | NWSQUICSnapshot._descriptor, NWSQUICSnapshot._euuid, 193 | NWSQUICSnapshot._eventFlags, 194 | NWSQUICSnapshot._localAddress, 195 | NWSQUICSnapshot._processName, 196 | NWSQUICSnapshot._provider, 197 | NWSQUICSnapshot._remoteAddress, 198 | NWSQUICSnapshot._rttAverage, 199 | NWSQUICSnapshot._rttMinimum, 200 | NWSQUICSnapshot._rttVariation, NWSQUICSnapshot._uuid, 201 | NWSQUICSnapshot._vuuid, NWSRouteSnapshot._descriptor, 202 | NWSRouteSnapshot._destination, 203 | NWSRouteSnapshot._gateway, NWSRouteSnapshot._mask, 204 | NWSSnapshot._changeSeqno, NWSSnapshot._counts, 205 | NWSSnapshot._provider, NWSSnapshot._sourceIdentifier, 206 | NWSSnapshot._traditionalDictionary, 207 | NWSSnapshotSource._sockFd, 208 | NWSSnapshotter._kernelSourceRef, 209 | NWSSnapshotter._snapshotSource, 210 | NWSTCPSnapshot._congestionAlgorithm, 211 | NWSTCPSnapshot._descriptor, NWSTCPSnapshot._euuid, 212 | NWSTCPSnapshot._eventFlags, 213 | NWSTCPSnapshot._localAddress, 214 | NWSTCPSnapshot._processName, 215 | NWSTCPSnapshot._provider, 216 | NWSTCPSnapshot._remoteAddress, NWSTCPSnapshot._uuid, 217 | NWSTCPSnapshot._vuuid, NWSUDPSnapshot._descriptor, 218 | NWSUDPSnapshot._euuid, NWSUDPSnapshot._eventFlags, 219 | NWSUDPSnapshot._localAddress, 220 | NWSUDPSnapshot._processName, 221 | NWSUDPSnapshot._provider, 222 | NWSUDPSnapshot._remoteAddress, NWSUDPSnapshot._uuid, 223 | NWSUDPSnapshot._vuuid, 224 | NWStatisticsDelegateBlockWrapper._addedBlock, 225 | NWStatisticsDelegateBlockWrapper._countsBlock, 226 | NWStatisticsDelegateBlockWrapper._descriptionBlock, 227 | NWStatisticsDelegateBlockWrapper._eventsBlock, 228 | NWStatisticsDelegateBlockWrapper._removedBlock, 229 | NWStatisticsInterfaceSource._descriptor, 230 | NWStatisticsManager.__internalSources, 231 | NWStatisticsManager._clientQueue, 232 | NWStatisticsManager._continuationCount, 233 | NWStatisticsManager._currentQueries, 234 | NWStatisticsManager._currentQueryAllReference, 235 | NWStatisticsManager._delegate, 236 | NWStatisticsManager._filter, NWStatisticsManager._id, 237 | NWStatisticsManager._iftracebuf, 238 | NWStatisticsManager._interfaceSourceFd, 239 | NWStatisticsManager._interfaceTraceFd, 240 | NWStatisticsManager._internalQueue, 241 | NWStatisticsManager._invalidated, 242 | NWStatisticsManager._mgrflags, 243 | NWStatisticsManager._numSourceAddsReceived, 244 | NWStatisticsManager._numSourceAddsSkipped, 245 | NWStatisticsManager._numSourcesInserted, 246 | NWStatisticsManager._numSourcesQueried, 247 | NWStatisticsManager._numSourcesRemoved, 248 | NWStatisticsManager._numUpdatesDispatched, 249 | NWStatisticsManager._numUpdatesLazyDispatched, 250 | NWStatisticsManager._numUpdatesLazySkipped, 251 | NWStatisticsManager._numUpdatesSkipped, 252 | NWStatisticsManager._providerFilters, 253 | NWStatisticsManager._querySequenceNumber, 254 | NWStatisticsManager._queuedQueryAlls, 255 | NWStatisticsManager._readBuffer, 256 | NWStatisticsManager._readSource, 257 | NWStatisticsManager._reading, 258 | NWStatisticsManager._sockfd, 259 | NWStatisticsManager._strongDelegate, 260 | NWStatisticsManager._systemInformationSubscribed, 261 | NWStatisticsQUICSource._descriptor, 262 | NWStatisticsQUICSource._eventFlags, 263 | NWStatisticsRouteSource._descriptor, 264 | NWStatisticsRouteSource._destination, 265 | NWStatisticsSource._countsSeqno, 266 | NWStatisticsSource._delegate, 267 | NWStatisticsSource._descriptorSeqno, 268 | NWStatisticsSource._filter, 269 | NWStatisticsSource._last_counts, 270 | NWStatisticsSource._manager, 271 | NWStatisticsSource._provider, 272 | NWStatisticsSource._reference, 273 | NWStatisticsSource._removing, 274 | NWStatisticsTCPSource._descriptor, 275 | NWStatisticsTCPSource._eventFlags, 276 | NWStatisticsUDPSource._descriptor, 277 | NWStatisticsUDPSource._eventFlags ] 278 | undefineds: 279 | - archs: [ armv7, armv7s, arm64, arm64e ] 280 | symbols: [ _CFArrayApplyFunction, _CFArrayGetCount, 281 | _CFArrayGetTypeID, _CFBooleanGetTypeID, 282 | _CFBooleanGetValue, _CFCopyDescription, 283 | _CFDataGetTypeID, _CFDictionaryApplyFunction, 284 | _CFDictionaryGetCount, _CFDictionaryGetTypeID, 285 | _CFGetTypeID, _CFNumberGetType, _CFNumberGetTypeID, 286 | _CFNumberGetValue, _CFRelease, 287 | _CFStringCreateFromExternalRepresentation, 288 | _CFStringFindWithOptions, _CFStringGetCString, 289 | _CFStringGetCStringPtr, _CFStringGetLength, 290 | _CFStringGetMaximumSizeForEncoding, 291 | _CFStringGetTypeID, __Block_object_assign, 292 | __Block_object_dispose, __NSConcreteGlobalBlock, 293 | __NSConcreteStackBlock, __Unwind_Resume, 294 | ___CFConstantStringClassReference, ___assert_rtn, 295 | ___error, ___kCFBooleanTrue, ___memcpy_chk, 296 | ___objc_personality_v0, ___snprintf_chk, 297 | ___stack_chk_fail, ___stack_chk_guard, ___strlcpy_chk, 298 | __dispatch_source_type_read, __objc_empty_cache, 299 | __os_log_debug_impl, __os_log_error_impl, 300 | __os_log_impl, _asxprintf, _close, _connect, 301 | _dispatch_assert_queue$V2, 302 | _dispatch_assert_queue_not$V2, _dispatch_async, 303 | _dispatch_get_global_queue, _dispatch_once, 304 | _dispatch_queue_attr_make_with_qos_class, 305 | _dispatch_queue_create, 306 | _dispatch_queue_get_qos_class, _dispatch_resume, 307 | _dispatch_semaphore_create, 308 | _dispatch_semaphore_signal, _dispatch_semaphore_wait, 309 | _dispatch_source_cancel, _dispatch_source_create, 310 | _dispatch_source_set_cancel_handler, 311 | _dispatch_source_set_event_handler, _dispatch_sync, 312 | _dispatch_time, _fcntl, _fprintf, _free, _getnameinfo, 313 | _getpid, _gettimeofday, _if_indextoname, _ioctl, 314 | _kCFAllocatorDefault, _mach_continuous_time, 315 | _mach_timebase_info, _malloc, _memcmp, _memcpy, 316 | _new_printf_domain, _objc_alloc, _objc_alloc_init, 317 | _objc_autoreleasePoolPop, _objc_autoreleasePoolPush, 318 | _objc_autoreleaseReturnValue, _objc_destroyWeak, 319 | _objc_enumerationMutation, _objc_getProperty, 320 | _objc_loadWeakRetained, _objc_msgSend, 321 | _objc_msgSendSuper2, _objc_opt_class, 322 | _objc_opt_isKindOfClass, 323 | _objc_opt_respondsToSelector, _objc_release, 324 | _objc_retain, _objc_retainAutorelease, 325 | _objc_retainAutoreleaseReturnValue, 326 | _objc_retainAutoreleasedReturnValue, 327 | _objc_retainBlock, _objc_setProperty_atomic, 328 | _objc_setProperty_atomic_copy, _objc_storeStrong, 329 | _objc_storeWeak, _objc_sync_enter, _objc_sync_exit, 330 | _objc_unsafeClaimAutoreleasedReturnValue, _open, 331 | _os_log_create, _os_log_type_enabled, _proc_name, _recv, 332 | _register_printf_domain_function, 333 | _register_printf_domain_render_std, _send, _setsockopt, 334 | _snprintf, _socket, _strerror, _strlen, _uuid_is_null, 335 | _vasxprintf, _write, dyld_stub_binder ] 336 | objc-classes: [ NSData, NSDate, NSDateFormatter, NSDictionary, NSLocale, 337 | NSMutableDictionary, NSNumber, NSObject, 338 | NSPropertyListSerialization, NSSet, NSString, NSTimeZone, 339 | NSUUID ] 340 | ... 341 | -------------------------------------------------------------------------------- /Frameworks/Sharing.framework/Headers/Sharing.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | typedef struct __SFBrowser *SFBrowserRef; 4 | typedef struct __SFNode *SFNodeRef; 5 | typedef struct __SFOperation *SFOperationRef; 6 | SFBrowserRef SFBrowserCreate(CFAllocatorRef, CFStringRef); 7 | extern CFStringRef kSFBrowserKindAirDrop; 8 | extern CFStringRef kSFOperationKindSender; 9 | extern CFStringRef kSFOperationKindController; 10 | extern CFStringRef kSFOperationFileIconKey; 11 | extern CFStringRef kSFOperationItemsKey; 12 | extern CFStringRef kSFOperationNodeKey; 13 | extern CFStringRef kSFOperationErrorKey; 14 | extern CFStringRef kSFOperationKindKey; 15 | extern CFStringRef kSFOperationTotalBytesKey; 16 | extern CFStringRef kSFOperationBytesCopiedKey; 17 | extern CFStringRef kSFOperationDiscoverableModeKey; 18 | extern CFStringRef kSFOperationDiscoverableModeOff; 19 | extern CFStringRef kSFOperationDiscoverableModeContactsOnly; 20 | extern CFStringRef kSFOperationDiscoverableModeEveryone; 21 | void SFBrowserSetDispatchQueue(SFBrowserRef, dispatch_queue_t); 22 | CFStringRef SFNodeCopyComputerName(SFNodeRef); 23 | CFStringRef SFNodeCopyFirstName(SFNodeRef); 24 | CFStringRef SFNodeCopyLastName(SFNodeRef); 25 | CFStringRef SFNodeCopyRealName(SFNodeRef); 26 | CFStringRef SFNodeCopyIDSDeviceIdentifier(SFNodeRef); 27 | void SFBrowserOpenNode(SFBrowserRef, SFNodeRef, CFTypeRef, CFOptionFlags); 28 | CFArrayRef SFBrowserCopyChildren(SFBrowserRef, SFNodeRef); 29 | void SFBrowserInvalidate(SFBrowserRef); 30 | 31 | typedef CF_OPTIONS(CFOptionFlags, SFBrowserFlags) { 32 | kSFBrowserFlagsNone = 0, 33 | kSFBrowserFlagsGuest = 1, 34 | kSFBrowserFlagsAnonymous = 2, 35 | kSFBrowserFlagsForceUI = 4, 36 | kSFBrowserFlagsAllowUI = 8, 37 | kSFBrowserFlagsAsk = 16 38 | }; 39 | 40 | enum SFBrowserError { 41 | kSFBrowserErrorNone = 0, 42 | kSFBrowserErrorFailed = -1, 43 | kSFBrowserErrorNotAuthorized = -2, 44 | kSFBrowserErrorBadArgument = -3 45 | }; 46 | typedef enum SFBrowserError SFBrowserError; 47 | 48 | struct SFContext { 49 | CFIndex version; 50 | void *info; 51 | CFAllocatorRetainCallBack retain; 52 | CFAllocatorReleaseCallBack release; 53 | CFAllocatorCopyDescriptionCallBack copyDescription; 54 | }; 55 | typedef struct SFContext SFBrowserContext; 56 | typedef struct SFContext SFOperationContext; 57 | 58 | typedef void (*SFBrowserCallBack)(SFBrowserRef browser, SFNodeRef node, CFStringRef protocol, SFBrowserFlags flags, SFBrowserError error, void *info); 59 | void SFBrowserSetClient(SFBrowserRef, SFBrowserCallBack, SFBrowserContext*); 60 | 61 | enum SFOperationEvent { 62 | UNKNOWN = 0, 63 | NEW_OPERATION, 64 | ASK_USER, 65 | WAIT_FOR_ANSWER, 66 | CANCELED, 67 | STARTED, 68 | PREPROCESS, 69 | PROGRESS, 70 | POSTPROCESS, 71 | FINISHED, 72 | ERROR, 73 | CONNECTING, 74 | INFORMATION, 75 | CONFLICT, 76 | BLOCKED, 77 | CONVERTING 78 | }; 79 | typedef enum SFOperationEvent SFOperationEvent; 80 | 81 | SFOperationRef SFOperationCreate(CFAllocatorRef, CFStringRef); 82 | typedef void (*SFOperationCallBack)(SFOperationRef operation, SFOperationEvent event, CFDictionaryRef results, void *info); 83 | void SFOperationSetClient(SFOperationRef, SFOperationCallBack, SFOperationContext*); 84 | void SFOperationSetProperty(SFOperationRef, CFStringRef, CFTypeRef); 85 | void SFOperationSetDispatchQueue(SFOperationRef, dispatch_queue_t); 86 | void SFOperationResume(SFOperationRef); 87 | CFTypeRef SFOperationCopyProperty(SFOperationRef, CFStringRef); 88 | -------------------------------------------------------------------------------- /Frameworks/Sharing.framework/Sharing.tbd: -------------------------------------------------------------------------------- 1 | --- !tapi-tbd 2 | tbd-version: 4 3 | targets: [ arm64-ios, arm64e-ios, arm64-macos, arm64e-macos, x86_64-macos ] 4 | install-name: '/System/Library/PrivateFrameworks/Sharing.framework/Sharing' 5 | current-version: 1622.1.3 6 | exports: 7 | - targets: [ arm64-ios, arm64-macos, arm64e-macos, x86_64-macos ] 8 | symbols: [ _NSDataFromHexString, _NSStringLooksLikeBTAddress, _RPCompanionLinkDeviceIsEqualToSFDevice, 9 | _SDAutoUnlockManagerMetricAWDLBringUpKey, _SDAutoUnlockManagerMetricAWDLPeerFoundKey, 10 | _SDAutoUnlockManagerMetricAWDLRangingKey, _SDAutoUnlockManagerMetricAttemptTimeKey, 11 | _SDAutoUnlockManagerMetricAttemptTypeKey, _SDAutoUnlockManagerMetricAutoRelockKey, 12 | _SDAutoUnlockManagerMetricAutoRelockTimerCanceledKey, _SDAutoUnlockManagerMetricAutoRelockWindowExpiredKey, 13 | _SDAutoUnlockManagerMetricBluetoothAWDLExchangeKey, _SDAutoUnlockManagerMetricBluetoothConfirmationKey, 14 | _SDAutoUnlockManagerMetricBluetoothKeyConnectionKey, _SDAutoUnlockManagerMetricBluetoothKeyDeviceDiscoveryKey, 15 | _SDAutoUnlockManagerMetricBluetoothKeyRequestExchangeKey, 16 | _SDAutoUnlockManagerMetricBluetoothPeerDiscoveryKey, _SDAutoUnlockManagerMetricBluetoothProxyConnectionKey, 17 | _SDAutoUnlockManagerMetricBluetoothProxyDeviceDiscoveryKey, 18 | _SDAutoUnlockManagerMetricBluetoothTokenExchangeKey, _SDAutoUnlockManagerMetricBluetoothTotalKey, 19 | _SDAutoUnlockManagerMetricCancelReasonKey, _SDAutoUnlockManagerMetricCancelTimeKey, 20 | _SDAutoUnlockManagerMetricClamshellWaitKey, _SDAutoUnlockManagerMetricConnectedBluetoothDevicesKey, 21 | _SDAutoUnlockManagerMetricDeviceIDKey, _SDAutoUnlockManagerMetricDisplayWaitKey, 22 | _SDAutoUnlockManagerMetricDistanceKey, _SDAutoUnlockManagerMetricErrorCodeKey, 23 | _SDAutoUnlockManagerMetricErrorDomainKey, _SDAutoUnlockManagerMetricErrorStringKey, 24 | _SDAutoUnlockManagerMetricErrorTypeKey, _SDAutoUnlockManagerMetricKeyDeviceModelKey, 25 | _SDAutoUnlockManagerMetricKeyDeviceRSSIKey, _SDAutoUnlockManagerMetricLastSleepTypeKey, 26 | _SDAutoUnlockManagerMetricManualRelockKey, _SDAutoUnlockManagerMetricMaskKey, 27 | _SDAutoUnlockManagerMetricPrewarmKey, _SDAutoUnlockManagerMetricPrewarmTimeKey, 28 | _SDAutoUnlockManagerMetricProxyDeviceModelKey, _SDAutoUnlockManagerMetricProxyDeviceRSSIKey, 29 | _SDAutoUnlockManagerMetricSuccessKey, _SDAutoUnlockManagerMetricTimeKey, 30 | _SDAutoUnlockManagerMetricTimeSinceLastWakeKey, _SDAutoUnlockManagerMetricUsingProxyDeviceKey, 31 | _SDAutoUnlockManagerMetricUsingToolKey, _SDAutoUnlockManagerMetricWatchBuildVersionKey, 32 | _SDAutoUnlockManagerMetricWatchOSVersionKey, _SDAutoUnlockManagerMetricWiFiResultsKey, 33 | _SDAutoUnlockManagerMetricWithinRangeKey, _SDAutoUnlockManagerMetricsKey, 34 | _SFAWDEnsureInitialized, _SFAWDSubmit, _SFAccessibilityServiceName, 35 | _SFActivityAdvertiserOptionFlagCopyPasteKey, _SFActivityAdvertiserOptionMinorVersionKey, 36 | _SFActivityAdvertiserOptionVersionKey, _SFActivityScanTypesToString, 37 | _SFAddSuffixForCurrentDeviceClass, _SFAddSuffixForDeviceClass, 38 | _SFAdjustmentsKeyBias, _SFAdjustmentsKeyDark, _SFAdjustmentsKeyLight, 39 | _SFAdjustmentsKeyMatrix, _SFAdvertismentDescriptionFromPayloadData, 40 | _SFAirDropDownloadsURL, _SFAirDropTransferFailureReasonToString, 41 | _SFAirDropTransferStateToString, _SFAirDropTransferTypesToString, 42 | _SFAirDropTransferUserResponseToString, _SFAirDropUrlSchemeIsSupported, 43 | _SFAppleAccountSignedInNotification, _SFAppleAccountSignedOutNotification, 44 | _SFAppleIDAddCertificateToKeychain, _SFAppleIDAddKeyToKeychain, 45 | _SFAppleIDCertificateAndKeyCounts, _SFAppleIDClientCopyCertificate, 46 | _SFAppleIDClientCopyCertificateInfo, _SFAppleIDClientCopyIdentity, 47 | _SFAppleIDClientCopyMyAccountInfo, _SFAppleIDClientCopyMyAppleID, 48 | _SFAppleIDClientCopyPersonInfo, _SFAppleIDCommonNameForCertificate, 49 | _SFAppleIDCopyCertificateFromKeychainForReference, _SFAppleIDCopyKeyFromKeychainForReference, 50 | _SFAppleIDCopyKeychainReferenceForCertificate, _SFAppleIDCopyKeychainReferenceForKey, 51 | _SFAppleIDCreateCertificateRequestPEMStringForKeyPair, _SFAppleIDCreateCertificateWithPEMString, 52 | _SFAppleIDCreateKeyPair, _SFAppleIDCreationDateForKey, _SFAppleIDErrorDomain, 53 | _SFAppleIDErrorUserInfoRetryDelaySecondsKey, _SFAppleIDExpirationDateForCertificate, 54 | _SFAppleIDIdentityDidChangeNotification, _SFAppleIDParseValidationRecordData, 55 | _SFAppleIDRemoveAllCertificatesFromKeychain, _SFAppleIDRemoveAllKeysFromKeychain, 56 | _SFAppleIDRemoveCertificateFromKeychain, _SFAppleIDRemoveKeyFromKeychain, 57 | _SFAppleIDSerialNumberForCertificate, _SFAppleIDSignedHashForData, 58 | _SFAppleIDValidationRecordDidChangeNotification, _SFAppleIDVerifyCertificateChain, 59 | _SFAppleIDVerifyCertificateChainSync, _SFAppleIDVerifySignedHashForData, 60 | _SFAutoUnlockDynamicStoreEnabledKey, _SFAutoUnlockDynamicStoreEnabledPath, 61 | _SFAutoUnlockDynamicStoreInProgressKey, _SFAutoUnlockDynamicStoreInProgressPath, 62 | _SFAutoUnlockDynamicStoreSharingDomainKey, _SFAutoUnlockErrorDomain, 63 | _SFAutoUnlockManagerAttemptFailedNotification, _SFAutoUnlockManagerAutoUnlockAuthorizationTestModeDefault, 64 | _SFAutoUnlockManagerAutoUnlockTestModeDefault, _SFAutoUnlockManagerAutoUnlockTestModeDictionary, 65 | _SFAutoUnlockManagerAutoUnlockTestModeDuration, _SFAutoUnlockManagerAutoUnlockTestModeFailureString, 66 | _SFAutoUnlockManagerAutoUnlockTestModePassword, _SFAutoUnlockManagerAutoUnlockTestModeShouldFail, 67 | _SFAutoUnlockManagerAutoolOptionKey, _SFAutoUnlockManagerAutoolOptionRadarNotificationKey, 68 | _SFAutoUnlockManagerAutoolUserName, _SFAutoUnlockManagerDefaultsSuiteName, 69 | _SFAutoUnlockManagerDevicesChangedNotification, _SFAutoUnlockManagerDismissUnlockNotification, 70 | _SFAutoUnlockManagerErrorBodyKey, _SFAutoUnlockManagerErrorTitleKey, 71 | _SFAutoUnlockManagerShowBeganUnlockingNotification, _SFAutoUnlockManagerShowUnlockNotification, 72 | _SFAutoUnlockStateChangedNotification, _SFBase64StringFromHexString, 73 | _SFBluetoothNotificationKeyConnectStart, _SFBluetoothNotificationKeyConnectTime, 74 | _SFBluetoothNotificationKeyPeerDevice, _SFBluetoothNotificationKeyState, 75 | _SFBluetoothNotificationNameConnected, _SFBluetoothNotificationNameDisconnected, 76 | _SFBluetoothNotificationNameStateChanged, _SFBrowserAddNode, 77 | _SFBrowserCloseNode, _SFBrowserCopyChildren, _SFBrowserCopyNodeForURL, 78 | _SFBrowserCopySidebarChildren, _SFBrowserCreate, _SFBrowserGetRootNode, 79 | _SFBrowserGetTypeID, _SFBrowserInvalidate, _SFBrowserOpenNode, 80 | _SFBrowserRemoveNode, _SFBrowserScheduleWithRunLoop, _SFBrowserSetClient, 81 | _SFBrowserSetDispatchQueue, _SFBrowserSetMode, _SFBrowserSetOptions, 82 | _SFCombinedHashFromArray, _SFCompactStringFromCollection, 83 | _SFContentTypes, _SFCopyTypeIdentifierForColorArrayAndModelCode, 84 | _SFCreateCGImageFromData, _SFCreateLivePhotoBundle, _SFDashboardLog, 85 | _SFDashboardLogJSON, _SFDataFromCGImage, _SFDataFromHexString, 86 | _SFDateToStringRFC3339, _SFDecryptData, _SFDeviceAssetAttributeColorKey, 87 | _SFDeviceAssetAttributeH264Key, _SFDeviceAssetAttributeProductTypeKey, 88 | _SFDeviceAssetAttributeVariantNameKey, _SFDeviceAssetNameAdjustments, 89 | _SFDeviceAssetNameFeatures, _SFDeviceAssetNameImageCaseClosed, 90 | _SFDeviceAssetNameImageCaseClosedCharged, _SFDeviceAssetNameImageCaseClosedCharging, 91 | _SFDeviceAssetNameImageLeft, _SFDeviceAssetNameImageRight, 92 | _SFDeviceAssetNameMovieConnectIntro, _SFDeviceAssetNameMovieConnectLoop, 93 | _SFDeviceAssetNameMovieFeatures, _SFDeviceAssetNameMovieLoop, 94 | _SFDeviceAssetNameMovieRepairLoop, _SFDeviceAssetNameMovieStatusLoopCharged, 95 | _SFDeviceAssetNameMovieStatusLoopCharging, _SFDeviceAssetQueryModernProductTypeSuffix, 96 | _SFDeviceAssetsAssetType, _SFDeviceClassCodeGet, _SFDeviceColorCodeGet, 97 | _SFDeviceHomeButtonType, _SFDeviceModel, _SFDeviceModelCodeGet, 98 | _SFDeviceSetupAppleTVLocationAuthorizationInfo, _SFDeviceSetupDeviceInfo, 99 | _SFDeviceSetupHomeKitInfo, _SFDeviceSetupSiriInfo, _SFDeviceSupportsAWDL, 100 | _SFDeviceSupportsAirDrop, _SFDeviceSupportsAutoUnlock, _SFDeviceSupportsContinuity, 101 | _SFDeviceSupportsForceTouch, _SFDeviceSupportsLegacyAirDrop, 102 | _SFDeviceSupportsRanging, _SFDeviceSupportsRemoteDisc, _SFDeviceSupportsTVAudio, 103 | _SFDeviceToRPCompanionLinkDevice, _SFDispatchTimerSet, _SFEncryptData, 104 | _SFErrorF, _SFFakeFilesAndItemsArrayForURLs, _SFFeaturesKeyDuration, 105 | _SFFeaturesKeyStartTime, _SFFilesAppAvailable, _SFFullTextFromRTIDataPayload, 106 | _SFGenerateFileInfoForURL, _SFHexStringForBase64EncodedString, 107 | _SFHexStringForData, _SFHexStringForDataEx, _SFHighPriorityQueue, 108 | _SFHomePodDisplayNameForDeviceName, _SFHotspotNetworkTypeString, 109 | _SFHotspotResponseAdvertisementString, _SFHotspotTypeStringToType, 110 | _SFIsAnnounceCallsEnabled, _SFIsAppStoreLink, _SFIsAppleApp, 111 | _SFIsBluetoothEnabled, _SFIsCalendarEvent, _SFIsContact, _SFIsCoreType, 112 | _SFIsCredential, _SFIsDeviceAppleTV, _SFIsDeviceAudioAccessory, 113 | _SFIsDevicePhone, _SFIsFMFAllowed, _SFIsFindMyFriendsLink, 114 | _SFIsGreenTeaDevice, _SFIsHEIF, _SFIsIPA, _SFIsImage, _SFIsKeynoteLive, 115 | _SFIsKeynoteLiveLink, _SFIsLivePhotos, _SFIsManagedConfigurationType, 116 | _SFIsMapLink, _SFIsMusicLink, _SFIsMusicStoreLink, _SFIsNote, 117 | _SFIsPDF, _SFIsPass, _SFIsPhoneLink, _SFIsPhotosApp, _SFIsPhotosAssetBundle, 118 | _SFIsPlainText, _SFIsPlaygroundItem, _SFIsPodcastsLink, _SFIsRangingSupported, 119 | _SFIsSharediCloudDocumentsLink, _SFIsVideo, _SFIsVoiceMemo, 120 | _SFIsWebLink, _SFIsWiFiEnabled, _SFIsePub, _SFIsiBooksLink, 121 | _SFIsiCloudDriveEnabled, _SFIsiCloudFamilyLink, _SFIsiTunesULink, 122 | _SFIsiWorkLink, _SFJoinDataChunks, _SFLocalizePhoneNumber, 123 | _SFLocalizedNameForBluetoothProductID, _SFLocalizedStringEx, 124 | _SFLocalizedStringForKey, _SFLocalizedStringForKeyInStringsFileNamed, 125 | _SFLostMode, _SFMainQueue, _SFMeasureCPUDuration, _SFMetricsLog, 126 | _SFMetricsLogCAOnly, _SFMetricsLogUnexpectedEvent, _SFMinorWatchHardwareVersion, 127 | _SFMyAltDSID, _SFNestedErrorF, _SFNilEqual, _SFNodeAddBonjourProtocol, 128 | _SFNodeAddDomain, _SFNodeAddKind, _SFNodeAddWorkgroup, _SFNodeCanAcceptDrop, 129 | _SFNodeCancel, _SFNodeCopyAccessRights, _SFNodeCopyAppleID, 130 | _SFNodeCopyBonjourProtocols, _SFNodeCopyColor, _SFNodeCopyComputerName, 131 | _SFNodeCopyContactIdentifier, _SFNodeCopyDiskType, _SFNodeCopyDisplayName, 132 | _SFNodeCopyDomain, _SFNodeCopyDomains, _SFNodeCopyEmailHash, 133 | _SFNodeCopyFirstName, _SFNodeCopyFlags, _SFNodeCopyHandles, 134 | _SFNodeCopyHostName, _SFNodeCopyIDSDeviceIdentifier, _SFNodeCopyIconData, 135 | _SFNodeCopyIconHash, _SFNodeCopyKindString, _SFNodeCopyKinds, 136 | _SFNodeCopyLastName, _SFNodeCopyMediaCapabilities, _SFNodeCopyModel, 137 | _SFNodeCopyModelIdentifier, _SFNodeCopyMountPoint, _SFNodeCopyNetbiosName, 138 | _SFNodeCopyNickName, _SFNodeCopyParentIdentifier, _SFNodeCopyPassword, 139 | _SFNodeCopyPath, _SFNodeCopyPhoneHash, _SFNodeCopyProtocols, 140 | _SFNodeCopyRangingData, _SFNodeCopyRealName, _SFNodeCopySecondaryName, 141 | _SFNodeCopyServiceName, _SFNodeCopySharePointBrowserID, _SFNodeCopySiblingNodes, 142 | _SFNodeCopyTransportBundleID, _SFNodeCopyTypeIdentifier, _SFNodeCopyURL, 143 | _SFNodeCopyURLForProtocol, _SFNodeCopyURLs, _SFNodeCopyUserName, 144 | _SFNodeCopyWorkgroup, _SFNodeCopyWorkgroups, _SFNodeCreate, 145 | _SFNodeCreateCopy, _SFNodeEject, _SFNodeGetConnectionState, 146 | _SFNodeGetDisplayName, _SFNodeGetPortNumber, _SFNodeGetPriority, 147 | _SFNodeGetSelectionReason, _SFNodeGetSupportedMedia, _SFNodeGetTypeID, 148 | _SFNodeIsAutoFS, _SFNodeIsContainer, _SFNodeIsDropBox, _SFNodeIsMounted, 149 | _SFNodeIsNeighborhood, _SFNodeIsRemovable, _SFNodeIsRoot, 150 | _SFNodeIsServer, _SFNodeIsSharePoint, _SFNodeRemoveBonjourProtocol, 151 | _SFNodeRemoveDomain, _SFNodeRemoveKind, _SFNodeRemoveWorkgroup, 152 | _SFNodeResolve, _SFNodeSetAccessRights, _SFNodeSetAppleID, 153 | _SFNodeSetBonjourProtocols, _SFNodeSetColor, _SFNodeSetComputerName, 154 | _SFNodeSetConnectionState, _SFNodeSetContactIdentifier, _SFNodeSetDiskType, 155 | _SFNodeSetDisplayName, _SFNodeSetDomain, _SFNodeSetEmailHash, 156 | _SFNodeSetFirstName, _SFNodeSetFlags, _SFNodeSetHandles, _SFNodeSetHostName, 157 | _SFNodeSetIDSDeviceIdentifier, _SFNodeSetIconData, _SFNodeSetIconHash, 158 | _SFNodeSetKinds, _SFNodeSetLastName, _SFNodeSetMediaCapabilities, 159 | _SFNodeSetModel, _SFNodeSetModelIdentifier, _SFNodeSetMountPoint, 160 | _SFNodeSetNetbiosName, _SFNodeSetNickName, _SFNodeSetParentIdentifier, 161 | _SFNodeSetPassword, _SFNodeSetPath, _SFNodeSetPhoneHash, _SFNodeSetPortNumber, 162 | _SFNodeSetRangingData, _SFNodeSetRealName, _SFNodeSetSecondaryName, 163 | _SFNodeSetSelectionReason, _SFNodeSetServiceName, _SFNodeSetSharePointBrowserID, 164 | _SFNodeSetSiblingNodes, _SFNodeSetSupportedMedia, _SFNodeSetTransportBundleID, 165 | _SFNodeSetURL, _SFNodeSetUserName, _SFNodeSetWorkgroup, _SFNodeSetWorkgroups, 166 | _SFNodeSupportsAskToUse, _SFNodeSupportsCredentials, _SFNodeSupportsFMF, 167 | _SFNodeSupportsFileSharing, _SFNodeSupportsIris, _SFNodeSupportsMixedTypes, 168 | _SFNodeSupportsPasses, _SFNodeSupportsScreenSharing, _SFNodeSupportsUWB, 169 | _SFNonBreakingStringFromDeviceName, _SFNonLocalizedString, 170 | _SFNormalizeEmailAddress, _SFNormalizePhoneNumber, _SFNormalizedUserIdentifiersForContactIdentifier, 171 | _SFNormalizedUserIdentifiersForContactIdentifierEx, _SFNotificationKeyConnectionState, 172 | _SFNotificationNameBTPoweredOff, _SFNotificationNamePipeConnectionStateChanged, 173 | _SFOperationCancel, _SFOperationCopyProperty, _SFOperationCreate, 174 | _SFOperationGetTypeID, _SFOperationResume, _SFOperationSetClient, 175 | _SFOperationSetDispatchQueue, _SFOperationSetProperty, _SFPairedUnlockStateChangedNotification, 176 | _SFPasswordSharingAvailabilityNotification, _SFPlaygroundsAppAvailable, 177 | _SFPowerLogEvent, _SFPowerLogTimeSensitiveEvent, _SFRTIDataPayloadForData, 178 | _SFRealpathForFileURL, _SFRemoteDeviceCanConnectOn5GHz, _SFRemoteHotspotNetworkTypeHSDPA, 179 | _SFRemoteTextInputPayloadFromLegacyAPI, _SFRemoteTextInputPayloadToLegacyAPI, 180 | _SFRemovableSystemAppAvailable, _SFServiceIdentifierAirPlay, 181 | _SFServiceIdentifierApplePay, _SFServiceIdentifierApplePayLegacy, 182 | _SFServiceIdentifierAppleTVSetup, _SFServiceIdentifierAudioTuning, 183 | _SFServiceIdentifierAuthenticateAccounts, _SFServiceIdentifierAutoUnlock, 184 | _SFServiceIdentifierCompanionLinkProx, _SFServiceIdentifierConfigurator, 185 | _SFServiceIdentifierContinuityRemote, _SFServiceIdentifierControl, 186 | _SFServiceIdentifierDebug, _SFServiceIdentifierDeviceDiagnostics, 187 | _SFServiceIdentifierInternetRelay, _SFServiceIdentifierPINPair, 188 | _SFServiceIdentifierPasswordGranting, _SFServiceIdentifierPasswordSharing, 189 | _SFServiceIdentifierProxHandoff, _SFServiceIdentifierRemoteApp, 190 | _SFServiceIdentifierRemoteAutoFill, _SFServiceIdentifierRemoteAutoFillPong, 191 | _SFServiceIdentifierRemoteDisplay, _SFServiceIdentifierRemoteManagement, 192 | _SFServiceIdentifierRepair, _SFServiceIdentifierSetup, _SFServiceIdentifierSetup2, 193 | _SFServiceIdentifierShareAudio, _SFServiceIdentifierSystem, 194 | _SFServiceIdentifierToType, _SFServiceIdentifierToUUID, _SFServiceIdentifierWHASetup, 195 | _SFServiceIdentifieriOSSetup, _SFServiceTypeToUUID, _SFSharablePasswordAirDropURLEncryptedString, 196 | _SFSharablePasswordForEncryptedAirDropURL, _SFSharablePasswordForURL, 197 | _SFShareablePasswordForSSID, _SFSharediCloudDocumentsLinkToAppName, 198 | _SFSharediCloudDocumentsLinkToFileName, _SFShouldShowRepairProxCard, 199 | _SFShouldShowWirelessSplitterProxCard, _SFSplitDataChunks, 200 | _SFStoreDemoMode, _SFStringComponentsFromTimeInterval, _SFStringContainsOnlyPhoneNumberCharacters, 201 | _SFStringFromTimeInterval, _SFStringIsJSON, _SFStringToDateRFC3339, 202 | _SFTestFlagsFromString, _SFTextInputDataForRTIDataPayload, 203 | _SFTextInputDataLogString, _SFUnlockErrorDomian, _SFUpTicksDiffFromNowToString, 204 | _SFViewServiceAirDropItemsKey, _SFViewServiceSandboxExceptionsKey, 205 | _SFVoiceMemosAppAvailable, _SFWalletAppAvailable, _SFWiFiChannelToIndex, 206 | _SFWiFiIndexToChannel, _SFWiFiPasswordSharingAdvertisingBegan, 207 | _SFWiFiPasswordSharingAdvertisingEnded, _SFiTunesStoreLinkType, 208 | __SFIsWiFiEnabled, __SFNodeCreateWithXPCObject, __SFNodeUpdateCachedChildNode, 209 | __SFNodeUpdateCachedParentNode, __SFNodeXPCObjectCreate, _airdrop_log, 210 | _airdrop_ui_log, _asset_log, _asset_metadata_log, _authenticate_accounts_log, 211 | _auto_unlock_log, _b332_log, _b389_log, _browser_log, _charging_events_log, 212 | _charging_log, _createSFNodeArrayForXPCArray, _createXPCArrayForSFNodeArray, 213 | _daemon_log, _framework_log, _gSDAppleIDAgent, _gSDSetupAgent, 214 | _gSFNearbyAgent, _gSFRunningInSharingD, _handoff_log, _kCFErrorDomainSFOperation, 215 | _kSFAppleIDClientAccountInfoAppleIDCFKey, _kSFAppleIDClientAccountInfoCertificateExpirationDateCFKey, 216 | _kSFAppleIDClientAccountInfoCertificateSerialNumberCFKey, 217 | _kSFAppleIDClientAccountInfoFirstNameCFKey, _kSFAppleIDClientAccountInfoLastNameCFKey, 218 | _kSFAppleIDClientAccountInfoVerifiedEmailAddressesCFKey, _kSFAppleIDClientAccountInfoVerifiedPhoneNumbersCFKey, 219 | _kSFAppleIDClientCertificateInfoCertificateCFKey, _kSFAppleIDClientCertificateInfoCertificateSerialNumberCFKey, 220 | _kSFAppleIDClientCertificateInfoEncDSIDCFKey, _kSFAppleIDClientCertificateInfoValidationRecordDataCFKey, 221 | _kSFAppleIDClientPersonInfoAccountIdentifierCFKey, _kSFAppleIDClientPersonInfoAltDSIDCFKey, 222 | _kSFAppleIDClientPersonInfoCertificateStatusCFKey, _kSFAppleIDClientPersonInfoMatchedValueCFKey, 223 | _kSFBrowserKindAirDrop, _kSFBrowserKindNetwork, _kSFBrowserKindPrinter, 224 | _kSFBrowserKindRemoteDisc, _kSFBrowserOptionsBundleIDKey, 225 | _kSFBrowserOptionsPhotosAssetIDsKey, _kSFBrowserOptionsURLsBeingSharedKey, 226 | _kSFBrowserPreferencesAllEnabled, _kSFBrowserPreferencesBackToMyMacEnabled, 227 | _kSFBrowserPreferencesBonjourEnabled, _kSFBrowserPreferencesConnectedEnabled, 228 | _kSFCompanionAdvertiserDateKey, _kSFCompanionAdvertiserIdentifierKey, 229 | _kSFCompanionAdvertiserServiceTypeKey, _kSFCompanionAdvertiserStatusKey, 230 | _kSFCompanionServiceAuthorDataKey, _kSFCompanionServiceBonjourNameKey, 231 | _kSFCompanionServiceClientIDKey, _kSFCompanionServiceManagerIDKey, 232 | _kSFCompanionServiceMessageVersionKey, _kSFCompanionServiceUniqueIDKey, 233 | _kSFNodeKindADisk, _kSFNodeKindAirDrop, _kSFNodeKindAll, _kSFNodeKindAutoFS, 234 | _kSFNodeKindBonjour, _kSFNodeKindClassroom, _kSFNodeKindClassroomCourse, 235 | _kSFNodeKindClassroomGroup, _kSFNodeKindConnected, _kSFNodeKindDisabled, 236 | _kSFNodeKindDomain, _kSFNodeKindManaged, _kSFNodeKindMe, _kSFNodeKindMonogram, 237 | _kSFNodeKindMyMac, _kSFNodeKindODisk, _kSFNodeKindPerson, 238 | _kSFNodeKindPrinter, _kSFNodeKindRapport, _kSFNodeKindRecent, 239 | _kSFNodeKindRoot, _kSFNodeKindSuggestion, _kSFNodeKindUnknown, 240 | _kSFNodeKindVolume, _kSFNodeKindWindows, _kSFNodeKindWorkgroup, 241 | _kSFNodeProtocolADisk, _kSFNodeProtocolAFP, _kSFNodeProtocolAirDrop, 242 | _kSFNodeProtocolAutoFS, _kSFNodeProtocolFTP, _kSFNodeProtocolFTPS, 243 | _kSFNodeProtocolFile, _kSFNodeProtocolHTTP, _kSFNodeProtocolHTTPS, 244 | _kSFNodeProtocolNFS, _kSFNodeProtocolNWNode, _kSFNodeProtocolNetBIOS, 245 | _kSFNodeProtocolODisk, _kSFNodeProtocolSMB, _kSFNodeProtocolVNC, 246 | _kSFNodeProtocolWebDAV, _kSFNodeProtocolWebDAVS, _kSFNodeProtocolWorkgroups, 247 | _kSFOperationAirDropEnabledKey, _kSFOperationAirplaneModeEnabledKey, 248 | _kSFOperationAutoAcceptKey, _kSFOperationBlockerCompositeNameKey, 249 | _kSFOperationBlockerComputerNameKey, _kSFOperationBlockerFirstNameKey, 250 | _kSFOperationBlockerLastNameKey, _kSFOperationBluetoothEnabledKey, 251 | _kSFOperationBundleIDKey, _kSFOperationBytesCopiedKey, _kSFOperationComputerToComputerKey, 252 | _kSFOperationContactsOnlyKey, _kSFOperationConvertMediaFormatsKey, 253 | _kSFOperationDestinationURLKey, _kSFOperationDeviceSupportsWAPIKey, 254 | _kSFOperationDiscoverableModeContactsOnly, _kSFOperationDiscoverableModeDisabled, 255 | _kSFOperationDiscoverableModeEveryone, _kSFOperationDiscoverableModeKey, 256 | _kSFOperationDiscoverableModeOff, _kSFOperationErrorKey, _kSFOperationExtractLivePhotoImagesKey, 257 | _kSFOperationExtractPhotosBundleMediaKey, _kSFOperationFileBomPathKey, 258 | _kSFOperationFileIconKey, _kSFOperationFileIsDirectoryKey, 259 | _kSFOperationFileNameKey, _kSFOperationFileSizeKey, _kSFOperationFileTypeKey, 260 | _kSFOperationFilesCopiedKey, _kSFOperationFilesKey, _kSFOperationFlagsKey, 261 | _kSFOperationHTTPServerConnectionKey, _kSFOperationHideProgressKey, 262 | _kSFOperationItemsDescriptionKey, _kSFOperationItemsKey, _kSFOperationKindController, 263 | _kSFOperationKindEjecter, _kSFOperationKindInformation, _kSFOperationKindKey, 264 | _kSFOperationKindListener, _kSFOperationKindLogger, _kSFOperationKindReceiver, 265 | _kSFOperationKindResolver, _kSFOperationKindSender, _kSFOperationKindStatus, 266 | _kSFOperationLegacyDeviceKey, _kSFOperationLegacyModeEnabledKey, 267 | _kSFOperationLegacyModeSettableKey, _kSFOperationNodeKey, 268 | _kSFOperationPercentConvertedKey, _kSFOperationProtocolKey, 269 | _kSFOperationReceiverCompositeNameKey, _kSFOperationReceiverComputerNameKey, 270 | _kSFOperationReceiverDeviceIRKDataKey, _kSFOperationReceiverEdPKDataKey, 271 | _kSFOperationReceiverEmailHashKey, _kSFOperationReceiverEmailKey, 272 | _kSFOperationReceiverFirstNameKey, _kSFOperationReceiverIDKey, 273 | _kSFOperationReceiverIDSDeviceIDKey, _kSFOperationReceiverIconHashKey, 274 | _kSFOperationReceiverIconKey, _kSFOperationReceiverKey, _kSFOperationReceiverLastNameKey, 275 | _kSFOperationReceiverMediaCapabilitiesKey, _kSFOperationReceiverModelNameKey, 276 | _kSFOperationReceiverPhoneHashKey, _kSFOperationReceiverRecordDataKey, 277 | _kSFOperationRunLoopKey, _kSFOperationRunLoopModeKey, _kSFOperationSenderCompositeNameKey, 278 | _kSFOperationSenderComputerNameKey, _kSFOperationSenderEmailHashKey, 279 | _kSFOperationSenderEmailKey, _kSFOperationSenderFirstNameKey, 280 | _kSFOperationSenderIDKey, _kSFOperationSenderIconHashKey, 281 | _kSFOperationSenderIconKey, _kSFOperationSenderIsMeKey, _kSFOperationSenderLastNameKey, 282 | _kSFOperationSenderModelNameKey, _kSFOperationSenderNodeKey, 283 | _kSFOperationSenderPhoneHashKey, _kSFOperationSenderRecordDataKey, 284 | _kSFOperationSendersKnownAliasKey, _kSFOperationSessionIDKey, 285 | _kSFOperationSmallFileIconKey, _kSFOperationTimeRemainingKey, 286 | _kSFOperationTotalBytesKey, _kSFOperationUltraWideBandEnabledKey, 287 | _kSFOperationUsePKZip, _kSFOperationVerifiableIdentityKey, 288 | _kSFOperationWirelessAccessPointKey, _kSFOperationWirelessCarPlayKey, 289 | _kSFOperationWirelessEnabledKey, _kSFOperationtFileSubTypeKey, 290 | _kSFPowerChargingMonitoringLevelKeys, _kSFPowerSourceStatusDomain, 291 | _kSFPowerSourceStatusFeatureKey, _kSFPowerSourceStatusNotificationFromWatch, 292 | _log_submit_log, _magic_head_log, _paired_unlock_log, _remote_log, 293 | _share_sheet_log, _sharingHUDLog, _sharingXPCHelperLog, _sharing_persistent_log, 294 | _streams_log, _tethering_log, _utilities_log ] 295 | objc-classes: [ SFAccessibilityClient, SFAccountManager, SFActivityAdvertisement, 296 | SFActivityAdvertiser, SFActivityScanner, SFAirDropAction, 297 | SFAirDropBrowser, SFAirDropClassroomTransferManager, SFAirDropNode, 298 | SFAirDropTransfer, SFAirDropTransferItem, SFAirDropTransferMetaData, 299 | SFAirDropTransferObserver, SFAnnounceMessagesEvent, SFAppleIDAccount, 300 | SFAppleIDClient, SFAppleIDContactInfo, SFAppleIDIdentity, 301 | SFAppleIDPersonInfo, SFAppleIDValidationRecord, SFApproveDiscovery, 302 | SFAuthenticateAccountInfo, SFAuthenticateAccountsService, 303 | SFAuthenticateAccountsSession, SFAutoUnlockDevice, SFAutoUnlockManager, 304 | SFB389NFCPromptConfiguration, SFB389NFCPromptSession, SFBLEAdvertiser, 305 | SFBLEClient, SFBLEConnection, SFBLEData, SFBLEDevice, SFBLEPipe, 306 | SFBLERecorder, SFBLEScanner, SFBatteryInfo, SFBluetoothPairingSession, 307 | SFBubbleEstimator, SFChargingUICoordinator, SFClient, SFClientGetDeviceAssetsParams, 308 | SFClientGetDeviceAssetsResults, SFClientSubCredentialParams, 309 | SFCompanionAdvertiser, SFCompanionManager, SFCompanionService, 310 | SFCompanionXPCManager, SFContactInfo, SFContinuityRemoteSession, 311 | SFCoordinatedAlertRequest, SFDefaults, SFDevice, SFDeviceAssetManager, 312 | SFDeviceAssetQuery, SFDeviceAssetRequestConfiguration, SFDeviceDiscovery, 313 | SFDeviceOperationCDPSetup, SFDeviceOperationHandlerCDPSetup, 314 | SFDeviceOperationHandlerWiFiSetup, SFDeviceOperationHomeKitSetup, 315 | SFDeviceOperationWiFiSetup, SFDeviceRepairService, SFDeviceRepairSession, 316 | SFDeviceSetupAppleTVService, SFDeviceSetupAppleTVSession, 317 | SFDeviceSetupB238Service, SFDeviceSetupB238Session, SFDeviceSetupServiceiOS, 318 | SFDeviceSetupSessioniOS, SFDeviceSetupTVColorCalibratorService, 319 | SFDeviceSetupTVColorCalibratorSession, SFDeviceSetupTVLatencyService, 320 | SFDeviceSetupTVLatencySession, SFDeviceSetupWHAService, SFDeviceSetupWHASession, 321 | SFDiagnostics, SFEventMessage, SFHeadphoneProduct, SFMagicHeadSettings, 322 | SFMessage, SFMessageSessionRequestEntry, SFNFCTagReaderUIController, 323 | SFNotificationError, SFNotificationInfo, SFPINPairSession, 324 | SFPasswordSharingInfo, SFPasswordSharingService, SFPasswordSharingSession, 325 | SFPeerDevice, SFPeopleSuggesterParams, SFPeopleSuggesterResult, 326 | SFPowerSource, SFPowerSourceLEDInfo, SFPowerSourceMonitor, 327 | SFProxCardSessionClient, SFProxCardSessionServer, SFProxHandoffService, 328 | SFProximityClient, SFProximityEstimator, SFRemoteAutoFillScanAction, 329 | SFRemoteAutoFillService, SFRemoteAutoFillSession, SFRemoteAutoFillSessionHelper, 330 | SFRemoteHotspotDevice, SFRemoteHotspotInfo, SFRemoteHotspotSession, 331 | SFRemoteInteractionSession, SFRemoteTextInputClient, SFRemoteTextSessionInfo, 332 | SFRequestMessage, SFResponseMessage, SFService, SFSession, 333 | SFSessionCache, SFSessionRequestInfo, SFSettings, SFSettingsDomain, 334 | SFShareAudioService, SFShareAudioSessionClient, SFSiriClient, 335 | SFSiriController, SFSiriDeviceSetupGreetingDetails, SFSiriWordTimingInfo, 336 | SFSiriWordTimingPlayer, SFSystemService, SFSystemSession, 337 | SFTRSession, SFTokenBucket, SFTokenBucketWithDups, SFUnlockManager, 338 | SFUnlockState, SFUserAlert, SFWiFiHealthMonitor, SFWirelessSettingsController, 339 | SFXPCClient ] 340 | objc-ivars: [ SFSession._dispatchQueue, SFSession._encryptionReadAEAD, SFSession._encryptionReadNonce, 341 | SFSession._encryptionWriteAEAD, SFSession._encryptionWriteNonce, 342 | SFSession._fixedPIN, SFSession._fragmentData, SFSession._fragmentLastIndex, 343 | SFSession._heartbeatLastTicks, SFSession._heartbeatTimer, 344 | SFSession._peer, SFSession._peerAppleID, SFSession._requestHandlers, 345 | SFSession._requestMap, SFSession._serviceType, SFSession._sessionFlags, 346 | SFSession._sessionID, SFSession._sharingSourceVersion, SFSession._transaction, 347 | SFSession._ucatCore, SFSession._ucatCrypto ] 348 | ... 349 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2020-2022 Procursus Team 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | CC ?= xcrun -sdk iphoneos cc -arch arm64 2 | STRIP ?= xcrun -sdk iphoneos strip 3 | 4 | LDID ?= ldid 5 | 6 | NO_CELLULAR ?= 0 7 | NO_WIFI ?= 0 8 | NO_AIRDROP ?= 0 9 | NO_AIRPLANE ?= 0 10 | NO_PRINT ?= 0 11 | NO_MONITOR ?= 0 12 | 13 | ifeq ($(BUILD_FOR_MACOSX),1) 14 | NO_CELLULAR = 1 15 | NO_WIFI = 1 16 | NO_AIRPLANE = 1 17 | endif 18 | 19 | CFLAGS += -DNO_CELLULAR=$(NO_CELLULAR) -DNO_WIFI=$(NO_WIFI) -DNO_AIRDROP=$(NO_AIRDROP) -DNO_AIRPLANE=$(NO_AIRPLANE) -DNO_PRINT=$(NO_PRINT) -DNO_MONITOR=$(NO_MONITOR) 20 | 21 | SRC := netctl.c 22 | SRC += utils/output.m utils/strtonum.c 23 | ifneq ($(NO_CELLULAR),1) 24 | SRC += cellular/cellular.m 25 | LIBS += -framework CoreTelephony 26 | endif 27 | ifneq ($(NO_WIFI),1) 28 | SRC += wifi/wifi.m wifi/wifi-connect.m wifi/wifi-scan.m wifi/wifi-power.m wifi/wifi-info.m wifi/wifi-forget.m 29 | LIBS += -framework MobileWiFi 30 | endif 31 | ifneq ($(NO_AIRDROP),1) 32 | SRC += airdrop/airdrop.c airdrop/airdrop-scan.m airdrop/airdrop-send.m airdrop/airdrop-power.m 33 | LIBS += -framework Sharing 34 | endif 35 | ifneq ($(NO_AIRPLANE),1) 36 | SRC += airplane/airplane.m 37 | LIBS += -framework AppSupport 38 | endif 39 | ifneq ($(NO_MONITOR),1) 40 | SRC += monitor/monitor.m monitor/SourceInfo.m monitor/DataInfo.m 41 | LIBS += -framework NetworkStatistics 42 | endif 43 | ifneq ($(NO_PRINT),1) 44 | SRC += print/print.m 45 | LIBS += -lcups 46 | endif 47 | 48 | all: netctl 49 | 50 | %.m.o: %.m 51 | $(CC) $(CFLAGS) -Iinclude -F Frameworks -fobjc-arc $< -c -o $@ 52 | 53 | %.c.o: %.c 54 | $(CC) $(CFLAGS) $< -c -o $@ 55 | 56 | netctl: $(SRC:%=%.o) 57 | $(CC) $(CFLAGS) $(LDFLAGS) -F Frameworks -fobjc-arc $^ -o $@ $(LIBS) 58 | $(STRIP) $@ 59 | -$(LDID) -Cadhoc -Sentitlements.plist $@ 60 | 61 | clean: 62 | rm -rf netctl *.dSYM $(SRC:%=%.o) 63 | 64 | format: 65 | clang-format -i $(SRC) 66 | 67 | .PHONY: all clean format 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TODO: 2 | 3 | ## wifi 4 | * [x] `netctl wifi info SSID` 5 | * [x] `netctl wifi info -k key SSID` 6 | * [x] `netctl wifi current` 7 | * [x] `netctl wifi current -k key` 8 | * [x] `netctl wifi list` 9 | * [x] `netctl wifi connect SSID` 10 | * [x] `netctl wifi disconnect SSID` 11 | * [x] `netctl wifi forget SSID` 12 | * [x] `netctl wifi scan` 13 | * [x] `netctl wifi power status/on/off/toggle` 14 | 15 | ## cellular 16 | * [ ] `netctl cellular info` 17 | * [x] `netctl cellular number` 18 | * [x] `netctl cellular call` 19 | 20 | ## airdrop 21 | * [ ] `netctl airdrop scan` 22 | * [ ] `netctl airdrop send` 23 | * [ ] `netctl airdrop power status/everyone/contacts/off` 24 | 25 | ## airplane 26 | * [x] `netctl airplane status` 27 | * [ ] `netctl airplane [toggle | on | off]` 28 | -------------------------------------------------------------------------------- /airdrop/airdrop-power.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | 6 | int airdroppower(char *action) { 7 | SFOperationRef operation = SFOperationCreate(kCFAllocatorDefault, kSFOperationKindController); 8 | 9 | if (action == NULL || !strcmp(action, "status")) { 10 | NSLog(@"%@", SFOperationCopyProperty(operation, kSFOperationDiscoverableModeKey)); 11 | return 0; 12 | } else if (!strcmp(action, "everyone") || !strcmp(action, "on")) { 13 | SFOperationSetProperty(operation, kSFOperationDiscoverableModeKey, kSFOperationDiscoverableModeEveryone); 14 | SFOperationResume(operation); 15 | return 0; 16 | } else if (!strcmp(action, "contacts")) { 17 | SFOperationSetProperty(operation, kSFOperationDiscoverableModeKey, kSFOperationDiscoverableModeContactsOnly); 18 | SFOperationResume(operation); 19 | return 0; 20 | } else if (!strcmp(action, "off")) { 21 | SFOperationSetProperty(operation, kSFOperationDiscoverableModeKey, kSFOperationDiscoverableModeOff); 22 | SFOperationResume(operation); 23 | return 0; 24 | } 25 | 26 | 27 | fprintf(stderr, "Usage: netctl airdrop power [status | everyone | contacts | off]\n"); 28 | return 1; 29 | } 30 | -------------------------------------------------------------------------------- /airdrop/airdrop-scan.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "output.h" 10 | #include "netctl.h" 11 | 12 | CFMutableArrayRef discovered; 13 | 14 | NSMutableArray* devices; 15 | 16 | void airdropBrowserCallBack(SFBrowserRef browser, SFNodeRef node, CFStringRef protocol, SFBrowserFlags flags, SFBrowserError error, void *info) { 17 | CFArrayRef children = SFBrowserCopyChildren(browser, node); 18 | 19 | for (int i = 0; i < CFArrayGetCount(children); i++) { 20 | SFNodeRef node = (SFNodeRef)CFArrayGetValueAtIndex(children, i); 21 | if (![(__bridge NSArray *)discovered 22 | containsObject:(__bridge id)node]) { 23 | 24 | NSString* name = (__bridge_transfer NSString *)SFNodeCopyComputerName(node); 25 | NSString* ident = (__bridge_transfer NSString *)SFNodeCopyRealName(node); 26 | 27 | [devices addObjectsFromArray:@[ 28 | @{ @"name" : name}, 29 | @{ @"id" : ident} 30 | ]]; 31 | 32 | CFArrayAppendValue(discovered, node); 33 | } 34 | } 35 | CFRelease(children); 36 | } 37 | 38 | int airdropscan(int argc, char **argv) { 39 | int ch; 40 | int timeout = 30; 41 | const char *errstr; 42 | 43 | devices = [NSMutableArray array]; 44 | 45 | struct option opts[] = { 46 | { "timeout", required_argument, 0, 't' }, 47 | { NULL, 0, NULL, 0 } 48 | }; 49 | 50 | while ((ch = getopt_long(argc, argv, "t:j", opts, NULL)) != -1) { 51 | switch (ch) { 52 | case 't': 53 | timeout = strtonum(optarg, 0, INT_MAX, &errstr); 54 | if (errstr != NULL) 55 | err(1, "%s", optarg); 56 | break; 57 | } 58 | } 59 | argc -= optind; 60 | argv += optind; 61 | 62 | discovered = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks); 63 | SFBrowserRef browser = SFBrowserCreate(kCFAllocatorDefault, kSFBrowserKindAirDrop); 64 | SFBrowserSetDispatchQueue(browser, dispatch_get_main_queue()); 65 | SFBrowserContext context = {}; 66 | 67 | SFBrowserSetClient(browser, airdropBrowserCallBack, &context); 68 | SFBrowserOpenNode(browser, 0, 0, 0); 69 | 70 | fprintf(stderr, "scanning... timeout set for %d seconds\n", timeout); 71 | 72 | CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeout, false); 73 | 74 | CFRelease(discovered); 75 | SFBrowserInvalidate(browser); 76 | 77 | [NCOutput printArray:devices withJSON:json]; 78 | 79 | return 0; 80 | } 81 | -------------------------------------------------------------------------------- /airdrop/airdrop-send.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | NSString *name; 11 | NSMutableArray *files; 12 | bool foundNode = false; 13 | 14 | void airdropSendOperationCallback(SFOperationRef operation, SFOperationEvent event, CFDictionaryRef results, void *info) { 15 | NSError *error; 16 | NSNumber *copied, *total; 17 | 18 | switch (event) { 19 | case CANCELED: 20 | exit(1); 21 | CFRunLoopStop(CFRunLoopGetCurrent()); 22 | break; 23 | case FINISHED: 24 | CFRunLoopStop(CFRunLoopGetCurrent()); 25 | break; 26 | case ERROR: 27 | error = (__bridge_transfer NSError*)CFDictionaryGetValue(results, kSFOperationErrorKey); 28 | errx(1, "%s", error.localizedDescription.UTF8String); 29 | break; 30 | case PROGRESS: 31 | copied = (__bridge_transfer NSNumber*)CFDictionaryGetValue(results, kSFOperationBytesCopiedKey); 32 | total = (__bridge_transfer NSNumber*)CFDictionaryGetValue(results, kSFOperationTotalBytesKey); 33 | printf("%lld B/%lld B\n", copied.longLongValue, total.longLongValue); 34 | break; 35 | default: 36 | break; 37 | } 38 | } 39 | 40 | void airdropSendBrowserCallback(SFBrowserRef browser, SFNodeRef node, CFStringRef protocol, SFBrowserFlags flags, SFBrowserError error, void *info) { 41 | CFArrayRef children = SFBrowserCopyChildren(browser, node); 42 | 43 | for (int i = 0; i < CFArrayGetCount(children); i++) { 44 | SFNodeRef node = (SFNodeRef)CFArrayGetValueAtIndex(children, i); 45 | if (foundNode == false && 46 | ([(__bridge_transfer NSString *)SFNodeCopyComputerName(node) isEqualToString:name] || 47 | [(__bridge_transfer NSString *)SFNodeCopyRealName(node) isEqualToString:name])) { 48 | foundNode = true; 49 | SFOperationRef operation = SFOperationCreate(kCFAllocatorDefault, kSFOperationKindSender); 50 | SFOperationSetProperty(operation, kSFOperationItemsKey, (__bridge CFArrayRef)files); 51 | SFOperationSetProperty(operation, kSFOperationNodeKey, node); 52 | SFOperationContext context = {}; 53 | SFOperationSetDispatchQueue(operation, dispatch_get_main_queue()); 54 | SFOperationSetClient(operation, airdropSendOperationCallback, &context); 55 | SFOperationResume(operation); 56 | break; 57 | } 58 | } 59 | CFRelease(children); 60 | } 61 | 62 | int airdropsend(int argc, char **argv) { 63 | if (argc < 3) { 64 | fprintf(stderr, "Usage: netctl airdrop send reciever files...\n"); 65 | return 1; 66 | } 67 | 68 | name = [NSString stringWithUTF8String:argv[1]]; 69 | 70 | files = [[NSMutableArray alloc] init]; 71 | 72 | for (int i = 2; i < argc; i++) { 73 | if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithUTF8String:argv[i]]]) 74 | [files addObject:[NSURL fileURLWithPath:[NSString stringWithUTF8String:argv[i]]]]; 75 | else 76 | [files addObject:[NSURL URLWithString:[NSString stringWithUTF8String:argv[i]]]]; 77 | } 78 | 79 | SFBrowserRef browser = SFBrowserCreate(kCFAllocatorDefault, kSFBrowserKindAirDrop); 80 | SFBrowserSetDispatchQueue(browser, dispatch_get_main_queue()); 81 | SFBrowserContext context = {}; 82 | SFBrowserSetClient(browser, airdropSendBrowserCallback, &context); 83 | SFBrowserOpenNode(browser, 0, 0, 0); 84 | 85 | CFRunLoopRun(); 86 | 87 | return 0; 88 | } 89 | -------------------------------------------------------------------------------- /airdrop/airdrop.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int airdropscan(int, char **); 6 | int airdropsend(int, char **); 7 | int airdroppower(char *); 8 | 9 | int airdrop(int argc, char **argv) { 10 | if (!argv[2]) { 11 | fprintf(stderr, "Usage: netctl airdrop [scan | browse | send | power] [arguments]\n"); 12 | return 1; 13 | } 14 | 15 | if (!strcmp(argv[2], "scan") || !strcmp(argv[2], "browse")) { 16 | return airdropscan(argc - 2, argv + 2); 17 | } else if (!strcmp(argv[2], "send")) { 18 | return airdropsend(argc - 2, argv + 2); 19 | } else if (!strcmp(argv[2], "power")) { 20 | if (argc < 3) 21 | return airdroppower(NULL); 22 | else 23 | return airdroppower(argv[3]); 24 | } 25 | 26 | fprintf(stderr, "Usage: netctl airdrop [scan | browse | send | power] [arguments]\n"); 27 | return 1; 28 | } 29 | -------------------------------------------------------------------------------- /airplane/airplane.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @protocol RadiosPreferencesDelegate 5 | -(void)airplaneModeChanged; 6 | @end 7 | 8 | @interface RadiosPreferences : NSObject 9 | @property (nonatomic) bool airplaneMode; 10 | @property (nonatomic) id delegate; 11 | -(void)refresh; 12 | -(void)syncrohnize; 13 | @end 14 | 15 | @interface NCRadiosPreferences : RadiosPreferences 16 | @end 17 | 18 | @implementation NCRadiosPreferences 19 | -(void)airplaneModeChanged { 20 | CFRunLoopStop(CFRunLoopGetCurrent()); 21 | } 22 | @end 23 | 24 | int airplane(char *set) { 25 | NCRadiosPreferences *radiosPreferences = [NCRadiosPreferences new]; 26 | 27 | radiosPreferences.delegate = radiosPreferences; 28 | 29 | if (set == NULL || !strcmp(set, "status")) { 30 | printf("%s\n", [radiosPreferences airplaneMode] ? "on" : "off"); 31 | return 0; 32 | } else if (!strcmp(set, "on")) { 33 | [radiosPreferences setAirplaneMode:1]; 34 | } else if (!strcmp(set, "off")) { 35 | [radiosPreferences setAirplaneMode:0]; 36 | } else if (!strcmp(set, "toggle")) { 37 | [radiosPreferences setAirplaneMode:![radiosPreferences airplaneMode]]; 38 | } else { 39 | fprintf(stderr, "Usage: netctl airplane [status | toggle | on | off]\n"); 40 | return 1; 41 | } 42 | 43 | CFRunLoopRun(); 44 | 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /cellular/cellular.m: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "netctl.h" 9 | 10 | static CTServerConnectionRef serverConnection; 11 | 12 | static int number(void) { 13 | printf("%s\n", [(__bridge_transfer NSString*)CTSettingCopyMyPhoneNumber() UTF8String]); 14 | return 0; 15 | } 16 | 17 | static int info(void) { 18 | CTTelephonyNetworkInfo* info = [[CTTelephonyNetworkInfo alloc] init]; 19 | NSDictionary* serviceTech = info.serviceSubscriberCellularProviders; 20 | CFDictionaryRef mobileEquipmentInfoCF; 21 | _CTServerConnectionCopyMobileEquipmentInfo(serverConnection, &mobileEquipmentInfoCF); 22 | NSDictionary* mobileEquipmentInfo = (__bridge_transfer NSDictionary*)mobileEquipmentInfoCF; 23 | 24 | long int raw = 0, graded = 0, bars = 0; 25 | bool inHomeCountry = false; 26 | CFStringRef registrationStatus = nil; 27 | NSNumber *mobileId, *subscriberId, *ICCID, *IMEI, *IMSI, *MEID, *SlotId; 28 | 29 | mobileId = mobileEquipmentInfo[kCTMobileEquipmentInfoCurrentMobileId]; 30 | subscriberId = mobileEquipmentInfo[kCTMobileEquipmentInfoCurrentSubscriberId]; 31 | ICCID = mobileEquipmentInfo[kCTMobileEquipmentInfoICCID]; 32 | IMEI = mobileEquipmentInfo[kCTMobileEquipmentInfoIMEI]; 33 | IMSI = mobileEquipmentInfo[kCTMobileEquipmentInfoIMSI]; 34 | MEID = mobileEquipmentInfo[kCTMobileEquipmentInfoMEID]; 35 | SlotId = mobileEquipmentInfo[kCTMobileEquipmentInfoSlotId]; 36 | 37 | CTIndicatorsGetSignalStrength(&raw, &graded, &bars); 38 | _CTServerConnectionIsInHomeCountry(serverConnection, &inHomeCountry); 39 | _CTServerConnectionGetRegistrationStatus(serverConnection, ®istrationStatus); 40 | 41 | NSMutableArray* array = [NSMutableArray array]; 42 | 43 | [array addObjectsFromArray:@[ 44 | @{ @"Connection Strength" : @(bars * 25)}, 45 | @{ @"In Home Country" : inHomeCountry ? @"Yes" : @"No"}, 46 | @{ @"Registration Status" : (__bridge NSString*)registrationStatus}, 47 | @{ @"Mobile ID" : mobileId}, 48 | @{ @"Subscriber ID" : subscriberId}, 49 | @{ @"ICCID" : ICCID}, 50 | @{ @"IMEI" : IMEI}, 51 | @{ @"IMSI" : IMSI}, 52 | @{ @"MEID" : MEID}, 53 | @{ @"Slot ID" : SlotId} 54 | ]]; 55 | 56 | [array addObject:[NCNewline new]]; 57 | 58 | int i = 0; 59 | for (NSString* key in serviceTech) { 60 | NSString* simString = [NSString stringWithFormat: @"SIM %d", i]; 61 | [array addObject: @{ simString : @[ 62 | @{ @"Carrier Name" : serviceTech[key].carrierName ?: [NSNull null]}, 63 | @{ @"Allows VOIP (Voice over IP)" : serviceTech[key].allowsVOIP ? @"Yes" : @"No" }, 64 | @{ @"ISO Country Code" : serviceTech[key].isoCountryCode ?: [NSNull null]}, 65 | @{ @"Mobile Country Code (MCC)" : serviceTech[key].mobileCountryCode ?: [NSNull null]}, 66 | @{ @"Mobile Network Code (MNC)" : serviceTech[key].mobileNetworkCode ?: [NSNull null]} 67 | ]}]; 68 | i++; 69 | } 70 | 71 | [NCOutput printArray:array withJSON:json]; 72 | CFRelease(registrationStatus); 73 | return 0; 74 | } 75 | 76 | static int call(NSString* number) { 77 | CTCallRef call = CTCallDial(number); 78 | printf("Calling %s...\n", [(__bridge_transfer NSString*)CTCallCopyAddress(nil, call) UTF8String]); 79 | return 0; 80 | } 81 | 82 | static int cells(void) { 83 | int success = 0; 84 | CFArrayRef cells; 85 | _CTServerConnectionCellMonitorCopyCellInfo(serverConnection, &success, &cells); 86 | if (!success) { 87 | errx(1, "could not get cell info"); 88 | return 1; 89 | } 90 | 91 | for (NSDictionary* cell in (__bridge NSArray*)cells) { 92 | NSNumber* bandinfo = cell[kCTCellMonitorBandInfo]; 93 | NSNumber* bandwidth = cell[kCTCellMonitorBandwidth]; 94 | NSNumber* cellID = cell[kCTCellMonitorCellId]; 95 | NSString* cellTechnology = [cell[kCTCellMonitorCellRadioAccessTechnology] componentsSeparatedByString:@"kCTCellMonitorRadioAccessTechnology"][1]; 96 | NSString* cellType = cell[kCTCellMonitorCellType]; 97 | NSNumber* mcc = cell[kCTCellMonitorMCC]; 98 | NSNumber* mnc = cell[kCTCellMonitorMNC]; 99 | NSNumber* pid = cell[kCTCellMonitorPID]; 100 | NSNumber* tac = cell[kCTCellMonitorTAC]; 101 | NSNumber* uarfcn = cell[kCTCellMonitorUARFCN]; 102 | 103 | [NCOutput printArray:@[ 104 | @{ @"Current Cell" : @[ 105 | @{ @"Bandinfo" : bandinfo }, 106 | @{ @"Bandwidth" : bandwidth}, 107 | @{ @"Cell ID" : cellID }, 108 | @{ @"Cell Technology" : cellTechnology }, 109 | @{ @"Cell Type" : cellType }, 110 | @{ @"MCC" : mcc }, 111 | @{ @"MNC" : mnc }, 112 | @{ @"PID" : pid }, 113 | @{ @"TAC" : tac }, 114 | @{ @"UARFCN" : uarfcn }, 115 | ]}] withJSON:json]; 116 | 117 | } 118 | 119 | CFRelease(cells); 120 | 121 | return 0; 122 | } 123 | 124 | static int registration(NSString* arg) { 125 | if ([arg isEqualToString:@"enable"]) { 126 | _CTServerConnectionEnableRegistration(serverConnection); 127 | } else if ([arg isEqualToString:@"disable"]) { 128 | _CTServerConnectionDisableRegistration(serverConnection); 129 | } else { 130 | fprintf(stderr, "Usage: netctl cellular registration [disable | enable]\n"); 131 | return 1; 132 | } 133 | 134 | // we do a little race conditioning 135 | usleep(50000); 136 | 137 | return 0; 138 | } 139 | 140 | int cellular(int argc, char** argv) { 141 | const char* cmd = argv[2]; 142 | 143 | if (argc < 3) { 144 | fprintf(stderr, "Usage: netctl cellular [number | info | call | registration | cells] [arguments]\n"); 145 | return 1; 146 | } 147 | 148 | serverConnection = _CTServerConnectionCreate(NULL, NULL, NULL); 149 | 150 | if (!strcmp(cmd, "number")) { 151 | return number(); 152 | } if (!strcmp(cmd, "info")) { 153 | return info(); 154 | } else if (!strcmp(cmd, "call")) { 155 | if (argc < 4) { 156 | errx(1, "no phone number specified"); 157 | return 1; 158 | } 159 | return call([NSString stringWithUTF8String:argv[3]]); 160 | } else if (!strcmp(cmd, "cells")) { 161 | return cells(); 162 | } else if (!strcmp(cmd, "registration")) { 163 | if (argc < 4) { 164 | fprintf(stderr, "Usage: netctl cellular registration [disable | enable]\n"); 165 | return 1; 166 | } 167 | return registration([NSString stringWithUTF8String:argv[3]]); 168 | } 169 | 170 | fprintf(stderr, "Usage: netctl cellular [number | info | call | registration | cells] [arguments]\n"); 171 | return 1; 172 | } 173 | -------------------------------------------------------------------------------- /entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | platform-application 5 | 6 | com.apple.private.skip-library-validation 7 | 8 | com.apple.wifi.manager-access 9 | 10 | com.apple.private.corewifi.internal 11 | 12 | com.apple.coretelephony.Calls.allow 13 | 14 | com.apple.coretelephony.Identity.get 15 | 16 | com.apple.CommCenter.fine-grained 17 | 18 | cellular-plan 19 | spi 20 | 21 | com.apple.security.exception.mach-lookup.global-name 22 | 23 | com.apple.commcenter.carrierspace.xpc 24 | com.apple.basebandd.xpc 25 | com.apple.private.corewifi.internal-xpc 26 | 27 | keychain-access-groups 28 | 29 | apple 30 | 31 | com.apple.keystore.access-keychain-keys 32 | 33 | com.apple.private.airdrop.discovery 34 | 35 | com.apple.SystemConfiguration.SCPreferences-write-access 36 | 37 | com.apple.radios.plist 38 | 39 | com.apple.private.network.statistics 40 | 41 | platform-application 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /include/CTPrivate.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include "CTServerConnection.h" 3 | 4 | CFStringRef CTSettingCopyMyPhoneNumber(void); 5 | int CTGetSignalStrength(void); 6 | void CTIndicatorsGetSignalStrength(long int* raw, long int* graded, long int* bars); 7 | CFStringRef CTRegistrationGetStatus(void); 8 | 9 | typedef enum { 10 | kCTCallStatusUnknown = 0, 11 | kCTCallStatusAnswered, 12 | kCTCallStatusDroppedInterrupted, 13 | kCTCallStatusOutgoingInitiated, 14 | kCTCallStatusIncomingCall, 15 | kCTCallStatusIncomingCallEnded 16 | } CTCallStatus; 17 | 18 | typedef void* CTCallRef; 19 | CTCallRef CTCallDial(NSString* number); 20 | CTCallStatus CTCallGetStatus(CTCallRef call); 21 | CFStringRef CTCallCopyAddress(CFAllocatorRef allocator, CTCallRef call); 22 | BOOL CTCallGetDuration(CTCallRef, double*); 23 | -------------------------------------------------------------------------------- /include/CTServerConnection.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CoreTelephony server connection support. 3 | * 4 | * Copyright (c) 2013-2016 Cykey (David Murray) 5 | * All rights reserved. 6 | */ 7 | 8 | #ifndef CTSERVERCONNECTION_H_ 9 | #define CTSERVERCONNECTION_H_ 10 | 11 | #include 12 | 13 | #if __cplusplus 14 | extern "C" { 15 | #endif 16 | struct CTResult 17 | { 18 | int flag; 19 | int a; 20 | }; 21 | 22 | struct __CTServerConnection 23 | { 24 | int a; 25 | int b; 26 | CFMachPortRef port; 27 | int c; 28 | int d; 29 | int e; 30 | int f; 31 | int g; 32 | int h; 33 | int i; 34 | }; 35 | 36 | typedef struct __CTServerConnection *CTServerConnectionRef; 37 | 38 | struct __CellInfo 39 | { 40 | int servingmnc; 41 | int network; 42 | int location; 43 | int cellid; 44 | int station; 45 | int freq; 46 | int rxlevel; 47 | int c1; 48 | int c2; 49 | }; 50 | 51 | extern NSString* kCTIndicatorRadioTransmitNotification; 52 | extern NSString* kCTRadioTransmitDCHStatus; 53 | 54 | // CopyCellInfo() 55 | extern NSString* kCTCellMonitorBandInfo; 56 | extern NSString* kCTCellMonitorBandwidth; 57 | extern NSString* kCTCellMonitorCellId; 58 | extern NSString* kCTCellMonitorCellRadioAccessTechnology; 59 | extern NSString* kCTCellMonitorCellType; 60 | extern NSString* kCTCellMonitorMCC; 61 | extern NSString* kCTCellMonitorMNC; 62 | extern NSString* kCTCellMonitorPID; 63 | extern NSString* kCTCellMonitorTAC; 64 | extern NSString* kCTCellMonitorUARFCN; 65 | 66 | // MobileEquipmentInfo() 67 | extern NSString* kCTMobileEquipmentInfoCurrentMobileId; 68 | extern NSString* kCTMobileEquipmentInfoCurrentSubscriberId; 69 | extern NSString* kCTMobileEquipmentInfoICCID; 70 | extern NSString* kCTMobileEquipmentInfoIMEI; 71 | extern NSString* kCTMobileEquipmentInfoIMSI; 72 | extern NSString* kCTMobileEquipmentInfoMEID; 73 | extern NSString* kCTMobileEquipmentInfoSlotId; 74 | 75 | typedef struct __CellInfo CellInfo; 76 | 77 | typedef void (*CTServerConnectionCreateCallback)(CTServerConnectionRef serverConnection, CFStringRef string, CFDictionaryRef flags, void *unknown); 78 | typedef void (*CTServerConnectionNotificationCallback)(CTServerConnectionRef serverConnection, CFStringRef string, CFDictionaryRef flags, void *unknown); 79 | 80 | CTServerConnectionRef _CTServerConnectionCreate(CFAllocatorRef allocator, CTServerConnectionCreateCallback callback, int *unknown); 81 | CTServerConnectionRef _CTServerConnectionCreateWithIdentifier(CFAllocatorRef allocator, const char *identifier, CTServerConnectionCreateCallback callback, int *unknown); 82 | void _CTServerConnectionAddToRunLoop(CTServerConnectionRef connection, CFRunLoopRef runLoop); 83 | void _CTServerConnectionSetTargetQueue(CTServerConnectionRef serverConnection, dispatch_queue_t queue); 84 | 85 | mach_port_t _CTServerConnectionGetPort(CTServerConnectionRef connection); 86 | 87 | void _CTServerConnectionCellMonitorStart(CFMachPortRef *port, CTServerConnectionRef connection); 88 | 89 | void _CTServerConnectionRegisterForNotification(CTServerConnectionRef conncetion, CFStringRef notification, CTServerConnectionNotificationCallback); 90 | void kCTCellMonitorUpdateNotification(); 91 | 92 | void _CTServerConnectionCellMonitorGetCellCount(CFMachPortRef *port, CTServerConnectionRef connection, int *cellInfoCount); 93 | void _CTServerConnectionCellMonitorGetCellInfo(CFMachPortRef *port, CTServerConnectionRef connection, int cellInfoNumber, void *buffer); 94 | 95 | 96 | void _CTServerConnectionIsInHomeCountry(CTServerConnectionRef ref, bool* res); 97 | void _CTServerConnectionGetRegistrationStatus(CTServerConnectionRef ref, CFStringRef* status); 98 | void _CTServerConnectionCellMonitorCopyCellInfo(CTServerConnectionRef ref, int* success, CFArrayRef* cells); 99 | void _CTServerConnectionEnableRegistration(CTServerConnectionRef ref); 100 | void _CTServerConnectionDisableRegistration(CTServerConnectionRef ref); 101 | void _CTServerConnectionCopyMobileEquipmentInfo(CTServerConnectionRef ref, CFDictionaryRef* dict); 102 | 103 | #if __cplusplus 104 | } 105 | #endif 106 | 107 | #endif /* CTSERVERCONNECTION_H_ */ 108 | -------------------------------------------------------------------------------- /include/netctl.h: -------------------------------------------------------------------------------- 1 | #include 2 | extern bool json; 3 | -------------------------------------------------------------------------------- /include/output.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NCOutput : NSObject 4 | +(void)printArray:(NSArray*)array withJSON:(BOOL)useJSON; 5 | @end 6 | 7 | @interface NCNewline : NSObject 8 | @end 9 | -------------------------------------------------------------------------------- /monitor/DataInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #import 4 | 5 | @interface NCDataInfo : NSObject 6 | @property(nonatomic) NSNumber* tx; 7 | @property(nonatomic) NSNumber* txPackets; 8 | @property(nonatomic) NSNumber* txWiFi; 9 | @property(nonatomic) NSNumber* txCellular; 10 | @property(nonatomic) NSNumber* rx; 11 | @property(nonatomic) NSNumber* rxPackets; 12 | @property(nonatomic) NSNumber* rxWiFi; 13 | @property(nonatomic) NSNumber* rxCellular; 14 | - (instancetype)initWithDict:(NSDictionary*)dict; 15 | @end -------------------------------------------------------------------------------- /monitor/DataInfo.m: -------------------------------------------------------------------------------- 1 | #import "DataInfo.h" 2 | 3 | #import 4 | #import 5 | 6 | @implementation NCDataInfo 7 | 8 | - (instancetype)initWithDict:(NSDictionary*)dict { 9 | self = [super init]; 10 | 11 | self.tx = dict[kNStatSrcKeyTxBytes]; 12 | self.txWiFi = dict[kNStatSrcKeyTxWiFiBytes]; 13 | self.txCellular = dict[kNStatSrcKeyTxCellularBytes]; 14 | 15 | self.rx = dict[kNStatSrcKeyRxBytes]; 16 | self.rxWiFi = dict[kNStatSrcKeyRxWiFiBytes]; 17 | self.rxCellular = dict[kNStatSrcKeyRxCellularBytes]; 18 | 19 | return self; 20 | } 21 | 22 | @end -------------------------------------------------------------------------------- /monitor/SourceInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #import 4 | 5 | #include "DataInfo.h" 6 | 7 | @interface NCSourceInfo : NSObject 8 | @property(nonatomic) NSString* timeStamp; 9 | @property(nonatomic) NSString* processName; 10 | @property(nonatomic) NSString* protocol; 11 | @property(nonatomic) NSString* TCPState; 12 | @property(nonatomic) const struct sockaddr* localAddress; 13 | @property(nonatomic) const struct sockaddr* remoteAddress; 14 | @property(nonatomic) NSNumber* PID; 15 | @property(nonatomic) NCDataInfo* dataProcessed; 16 | - (instancetype)initWithDict:(NSDictionary*)dictionary; 17 | @end -------------------------------------------------------------------------------- /monitor/SourceInfo.m: -------------------------------------------------------------------------------- 1 | #include "SourceInfo.h" 2 | 3 | #import 4 | #import 5 | 6 | #include "DataInfo.h" 7 | 8 | static BOOL isTCP(NSString*); 9 | static NSString* interfaceType(NSDictionary* sourceDict); 10 | 11 | @implementation NCSourceInfo 12 | - (instancetype)initWithDict:(NSDictionary*)dict { 13 | self = [super init]; 14 | 15 | NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 16 | [formatter setDateFormat:@"HH:mm:ss"]; 17 | 18 | self.timeStamp = [formatter stringFromDate:[NSDate date]]; 19 | self.protocol = dict[kNStatSrcKeyProvider]; 20 | self.TCPState = nil; 21 | self.localAddress = (const struct sockaddr*)[dict[kNStatSrcKeyLocal] bytes]; 22 | self.remoteAddress = 23 | (const struct sockaddr*)[dict[kNStatSrcKeyRemote] bytes]; 24 | 25 | NCDataInfo* dataInfo = [[NCDataInfo alloc] initWithDict:dict]; 26 | 27 | self.PID = dict[kNStatSrcKeyPID]; 28 | self.processName = dict[kNStatSrcKeyProcessName]; 29 | self.dataProcessed = dataInfo; 30 | 31 | if (isTCP(self.protocol)) { 32 | self.TCPState = dict[kNStatSrcKeyTCPState]; 33 | } 34 | 35 | return self; 36 | } 37 | @end 38 | 39 | static NSString* interfaceType(NSDictionary* sourceDict) { 40 | if (sourceDict[kNStatSrcKeyInterfaceTypeCellular]) { 41 | return @"Cellular"; 42 | } 43 | 44 | if (sourceDict[kNStatSrcKeyInterfaceTypeLoopback]) { 45 | return @"Loopback"; 46 | } 47 | 48 | if (sourceDict[kNStatSrcKeyInterfaceTypeUnknown]) { 49 | return @"Other"; 50 | } 51 | 52 | if (sourceDict[kNStatSrcKeyInterfaceTypeWiFi]) { 53 | return @"WiFi"; 54 | } 55 | 56 | if (sourceDict[kNStatSrcKeyInterfaceTypeWired]) { 57 | return @"Wired"; 58 | } 59 | 60 | return @"Other"; 61 | } 62 | 63 | static BOOL isTCP(NSString* provider) { 64 | return [provider isEqualToString:@"TCP"]; 65 | } -------------------------------------------------------------------------------- /monitor/monitor.m: -------------------------------------------------------------------------------- 1 | #include 2 | #import 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "SourceInfo.h" 9 | 10 | void (^description_block)(CFDictionaryRef) = ^(CFDictionaryRef cfDict) { 11 | NSDictionary* dict = (__bridge NSDictionary*)cfDict; 12 | NCSourceInfo* info = [[NCSourceInfo alloc] initWithDict:dict]; 13 | 14 | char localHostname[256] = {0}; 15 | getnameinfo(info.localAddress, info.localAddress->sa_len, localHostname, 16 | sizeof(localHostname), NULL, 0, NI_NUMERICHOST); 17 | 18 | char remoteHostname[256] = {0}; 19 | getnameinfo(info.remoteAddress, info.remoteAddress->sa_len, remoteHostname, 20 | sizeof(remoteHostname), NULL, 0, NI_NUMERICHOST); 21 | 22 | NSString* protocolString = info.protocol; 23 | if (info.TCPState) { 24 | protocolString = [protocolString 25 | stringByAppendingString:[NSString 26 | stringWithFormat:@"(%@)", info.TCPState]]; 27 | } 28 | 29 | printf("%s\t%20s%30s\t%30s\ttx:%llu rx:%llu\t %s(%d)\n", 30 | info.timeStamp.UTF8String, protocolString.UTF8String, localHostname, 31 | remoteHostname, info.dataProcessed.tx.unsignedLongLongValue, 32 | info.dataProcessed.rx.unsignedLongLongValue, 33 | info.processName.UTF8String, info.PID.intValue); 34 | }; 35 | 36 | void (^callback)(void*, void*) = ^(NStatSourceRef ref, void* arg2) { 37 | NStatSourceSetDescriptionBlock(ref, description_block); 38 | NStatSourceQueryDescription(ref); 39 | }; 40 | 41 | int nctl_monitor(int argc, char** argv) { 42 | if (argc < 1) { 43 | errno = EINVAL; 44 | errx(1, "not enough args"); 45 | } 46 | 47 | BOOL monitorTCP = NO; 48 | BOOL monitorUDP = NO; 49 | 50 | if (!strcmp(argv[0], "tcp")) { 51 | monitorTCP = YES; 52 | } 53 | if (!strcmp(argv[0], "udp")) { 54 | monitorUDP = YES; 55 | } 56 | if (!strcmp(argv[0], "all")) { 57 | monitorTCP = YES; 58 | monitorUDP = YES; 59 | } 60 | 61 | NStatManagerRef ref = NStatManagerCreate( 62 | kCFAllocatorDefault, dispatch_get_main_queue(), callback); 63 | 64 | if (monitorTCP) { 65 | NStatManagerAddAllTCPWithFilter(ref, 0, 0); 66 | } 67 | 68 | if (monitorUDP) { 69 | NStatManagerAddAllUDPWithFilter(ref, 0, 0); 70 | } 71 | 72 | NStatManagerSetFlags(ref, 0); 73 | 74 | NStatManagerAddAllTCPWithFilter(ref, 0, 0); 75 | 76 | dispatch_main(); 77 | } 78 | -------------------------------------------------------------------------------- /netctl.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include "include/netctl.h" 8 | 9 | int wifi(int, char **); 10 | int cellular(int, char **); 11 | int airdrop(int, char **); 12 | int nctl_monitor(int, char **); 13 | int nctl_print(int, char **); 14 | int airplane(char *); 15 | 16 | void usage(void); 17 | 18 | bool json = false; 19 | 20 | int main(int argc, char *argv[]) { 21 | int ch; 22 | struct option opts[] = { 23 | { "json", no_argument, NULL, 'j' }, 24 | { NULL, 0, NULL, 0 } 25 | }; 26 | 27 | while ((ch = getopt_long(argc, argv, "+j", opts, NULL)) != -1) { 28 | switch (ch) { 29 | case 'j': 30 | json = true; 31 | break; 32 | } 33 | } 34 | 35 | argc -= optind; 36 | argv += optind; 37 | 38 | if (argc < 2) { 39 | usage(); 40 | return 1; 41 | } 42 | 43 | #if NO_WIFI == 0 44 | if (!strcmp(argv[1], "wifi")) return wifi(argc, argv); 45 | #endif 46 | 47 | #if NO_CELLULAR == 0 48 | if (!strcmp(argv[1], "cellular")) return cellular(argc, argv); 49 | #endif 50 | 51 | #if NO_AIRDROP == 0 52 | if (!strcmp(argv[1], "airdrop")) return airdrop(argc, argv); 53 | #endif 54 | 55 | #if NO_AIRPLANE == 0 56 | if (!strcmp(argv[1], "airplane")) 57 | return airplane(argc > 2 ? argv[2] : NULL); 58 | #endif 59 | 60 | #if NO_MONITOR == 0 61 | if (!strcmp(argv[1], "monitor")) return nctl_monitor(argc - 2, argv + 2); 62 | #endif 63 | 64 | #if NO_PRINT == 0 65 | if (!strcmp(argv[1], "print")) return nctl_print(argc - 2, argv + 2); 66 | #endif 67 | 68 | usage(); 69 | return 1; 70 | } 71 | 72 | void usage() { 73 | fprintf(stderr, 74 | "Usage: netctl [airdrop | cellular | wifi | monitor | print] " 75 | "[arguments]\n"); 76 | } 77 | -------------------------------------------------------------------------------- /print/print.m: -------------------------------------------------------------------------------- 1 | #import 2 | #include 3 | #include 4 | 5 | int nctl_print_browse(void) { 6 | cups_dest_t* dests; 7 | int numdests = cupsGetDests(&dests); 8 | 9 | for (int i = 0; i < numdests; i++) { 10 | printf("%s\n", dests[i].name); 11 | } 12 | 13 | return 0; 14 | } 15 | 16 | int nctl_print(int argc, char** argv) { 17 | if (argc < 1) { 18 | errx(1, "give command"); 19 | } 20 | 21 | if (!strcmp(argv[0], "browse")) { 22 | nctl_print_browse(); 23 | } 24 | 25 | return 1; 26 | } -------------------------------------------------------------------------------- /utils/output.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import "output.h" 3 | #import 4 | 5 | @interface NCOutput (Private) 6 | +(void)printArray:(NSArray*)array level:(int)level; 7 | +(NSArray*)jsonifiedArrayFromArray:(NSArray*)array; 8 | @end 9 | 10 | @implementation NCOutput 11 | 12 | +(NSArray*)jsonifiedArrayFromArray:(NSArray*)array { 13 | NSMutableArray* ret = [NSMutableArray array]; 14 | NSMutableDictionary* concatDicts = [NSMutableDictionary dictionary]; 15 | 16 | for (id object in array) { 17 | if ([object isKindOfClass:[NSDictionary class]]) { 18 | if ([[object allKeys] count] > 1) { 19 | fprintf(stderr, "dictionary should only contain one key and one value"); 20 | return nil; 21 | } 22 | 23 | id key = [object allKeys][0]; 24 | if ([object[key] isKindOfClass:[NSArray class]]) { 25 | NSDictionary* newDictionary = @{ 26 | key : [self jsonifiedArrayFromArray:object[key]] 27 | }; 28 | 29 | [concatDicts addEntriesFromDictionary:newDictionary]; 30 | } 31 | 32 | else { 33 | [concatDicts addEntriesFromDictionary:object]; 34 | } 35 | } 36 | 37 | else if ([object isKindOfClass:[NSArray class]]) { 38 | [ret addObject:[self jsonifiedArrayFromArray:object]]; 39 | } 40 | 41 | else if ([object isKindOfClass:[NCNewline class]]) { 42 | // Skip NCNewlines since we use them to represent a newline 43 | continue; 44 | } 45 | 46 | else { 47 | [ret addObject:object]; 48 | } 49 | } 50 | 51 | [ret addObject:concatDicts]; 52 | 53 | return ret; 54 | } 55 | 56 | +(void)printArray:(NSArray*)array withJSON:(BOOL)useJSON { 57 | if (useJSON) { 58 | NSArray* jsonArray = [self jsonifiedArrayFromArray:array]; 59 | NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonArray options:NSJSONWritingPrettyPrinted error:nil]; 60 | printf("%s\n", (const char*)jsonData.bytes); 61 | } 62 | 63 | else { 64 | [self printArray:array level:0]; 65 | } 66 | } 67 | 68 | +(void)printArray:(NSArray*)array level:(int)level { 69 | for (id object in array) { 70 | for (int i = 0; i < level; i++) { 71 | putc('\t', stdout); 72 | } 73 | 74 | if ([object isKindOfClass:[NSString class]]) { 75 | printf("%s\n", [object UTF8String]); 76 | } 77 | 78 | else if ([object isKindOfClass:[NCNewline class]]) { 79 | putc('\n', stdout); 80 | } 81 | 82 | else if ([object isKindOfClass:[NSNumber class]]) { 83 | printf("%lld\n", [object longLongValue]); 84 | } 85 | 86 | else if ([object isKindOfClass:[NSDictionary class]]) { 87 | if ([[object allKeys] count] > 1) { 88 | fprintf(stderr, "dictionary should only contain one key and one value"); 89 | return; 90 | } 91 | 92 | NSArray* allKeys = [object allKeys]; 93 | id value = object[allKeys[0]]; 94 | 95 | if ([value isKindOfClass:[NSArray class]]) { 96 | printf("%s: \n", [[allKeys[0] description] UTF8String]); 97 | [self printArray:value level:level+1]; 98 | } 99 | 100 | else { 101 | printf("%s: %s\n", [[allKeys[0] description] UTF8String], [[value description] UTF8String]); 102 | } 103 | } 104 | } 105 | } 106 | 107 | @end 108 | 109 | @implementation NCNewline 110 | @end 111 | -------------------------------------------------------------------------------- /utils/strtonum.c: -------------------------------------------------------------------------------- 1 | /*- 2 | * Copyright (c) 2004 Ted Unangst and Todd Miller 3 | * All rights reserved. 4 | * 5 | * Permission to use, copy, modify, and distribute this software for any 6 | * purpose with or without fee is hereby granted, provided that the above 7 | * copyright notice and this permission notice appear in all copies. 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | * 17 | * $OpenBSD: strtonum.c,v 1.7 2013/04/17 18:40:58 tedu Exp $ 18 | */ 19 | 20 | #include 21 | __FBSDID("$FreeBSD$"); 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | #define INVALID 1 28 | #define TOOSMALL 2 29 | #define TOOLARGE 3 30 | 31 | long long strtonum(const char *numstr, long long minval, long long maxval, 32 | const char **errstrp) { 33 | long long ll = 0; 34 | int error = 0; 35 | char *ep; 36 | struct errval { 37 | const char *errstr; 38 | int err; 39 | } ev[4] = { 40 | {NULL, 0}, 41 | {"invalid", EINVAL}, 42 | {"too small", ERANGE}, 43 | {"too large", ERANGE}, 44 | }; 45 | 46 | ev[0].err = errno; 47 | errno = 0; 48 | if (minval > maxval) { 49 | error = INVALID; 50 | } else { 51 | ll = strtoll(numstr, &ep, 10); 52 | if (errno == EINVAL || numstr == ep || *ep != '\0') 53 | error = INVALID; 54 | else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) 55 | error = TOOSMALL; 56 | else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) 57 | error = TOOLARGE; 58 | } 59 | if (errstrp != NULL) *errstrp = ev[error].errstr; 60 | errno = ev[error].err; 61 | if (error) ll = 0; 62 | 63 | return (ll); 64 | } 65 | -------------------------------------------------------------------------------- /wifi/wifi-connect.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | 6 | #include "wifi.h" 7 | 8 | void wifiConnectCallback(WiFiDeviceClientRef, WiFiNetworkRef, CFDictionaryRef, int, 9 | const void *); 10 | 11 | int wificonnect(int argc, char **argv) { 12 | int ch; 13 | char *password = NULL; 14 | bool bssid = false; 15 | while ((ch = getopt(argc, argv, "bp:s")) != -1) { 16 | switch (ch) { 17 | case 'b': 18 | bssid = true; 19 | break; 20 | case 'p': 21 | password = optarg; 22 | break; 23 | case 's': 24 | bssid = false; 25 | break; 26 | } 27 | } 28 | argc -= optind; 29 | argv += optind; 30 | 31 | if (argv[0] == NULL) { 32 | fprintf(stderr, "Usage: netctl wifi connect [-bs] [-p password] SSID\n"); 33 | return 1; 34 | } 35 | 36 | WiFiNetworkRef network; 37 | 38 | if (bssid) 39 | network = getNetworkWithBSSID(argv[0]); 40 | else 41 | network = getNetworkWithSSID(argv[0]); 42 | 43 | WiFiManagerClientAddNetwork(manager, network); 44 | 45 | if (password != NULL) 46 | WiFiNetworkSetPassword(network, (__bridge CFStringRef)[NSString stringWithUTF8String:password]); 47 | 48 | WiFiManagerClientScheduleWithRunLoop(manager, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); 49 | WiFiDeviceClientAssociateAsync(client, network, wifiConnectCallback, NULL); 50 | CFRunLoopRun(); 51 | 52 | return 0; 53 | } 54 | 55 | void wifiConnectCallback(WiFiDeviceClientRef device, WiFiNetworkRef network, 56 | CFDictionaryRef dict, int error, const void *object) { 57 | WiFiManagerClientUnscheduleFromRunLoop(manager); 58 | CFRunLoopStop(CFRunLoopGetCurrent()); 59 | if (error != 0) 60 | errx(1, "Failed to connect: %d", error); 61 | } 62 | -------------------------------------------------------------------------------- /wifi/wifi-forget.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #include 4 | #include 5 | 6 | #include "wifi.h" 7 | 8 | int wififorget(int argc, char **argv) { 9 | WiFiNetworkRef network; 10 | bool bssid = false; 11 | int ch; 12 | 13 | while ((ch = getopt(argc, argv, "bs")) != -1) { 14 | switch (ch) { 15 | case 'b': 16 | bssid = true; 17 | break; 18 | case 's': 19 | bssid = false; 20 | break; 21 | } 22 | } 23 | argc -= optind; 24 | argv += optind; 25 | 26 | if (argv[0] == NULL) { 27 | fprintf(stderr, "Usage: netctl wifi forget [-bs] SSID\n"); 28 | return 1; 29 | } 30 | 31 | if (bssid) 32 | network = getNetworkWithBSSID(argv[0]); 33 | else 34 | network = getNetworkWithSSID(argv[0]); 35 | 36 | WiFiManagerClientRemoveNetwork(manager, network); 37 | 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /wifi/wifi-info.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | 6 | #include "wifi.h" 7 | #include "output.h" 8 | #include "netctl.h" 9 | 10 | int wifiinfo(bool current, int argc, char **argv) { 11 | WiFiNetworkRef network; 12 | int ch; 13 | bool bssid = false; 14 | char *key = NULL; 15 | 16 | while ((ch = getopt(argc, argv, "bk:s")) != -1) { 17 | switch (ch) { 18 | case 'b': 19 | bssid = true; 20 | break; 21 | case 'k': 22 | key = optarg; 23 | break; 24 | case 's': 25 | bssid = false; 26 | break; 27 | } 28 | } 29 | argc -= optind; 30 | argv += optind; 31 | 32 | if (!current && argv[0] == NULL) { 33 | fprintf(stderr, "Usage: netctl wifi info [-bs] [-k key] SSID\n"); 34 | return 1; 35 | } 36 | 37 | if (current) 38 | network = WiFiDeviceClientCopyCurrentNetwork(client); 39 | else if (bssid) 40 | network = getNetworkWithBSSID(argv[0]); 41 | else 42 | network = getNetworkWithSSID(argv[0]); 43 | 44 | if (key != NULL) { 45 | CFPropertyListRef property = WiFiNetworkGetProperty( 46 | network, (__bridge CFStringRef)[NSString stringWithUTF8String:key]); 47 | if (!property) errx(1, "cannot get property \"%s\"", key); 48 | 49 | CFTypeID type = CFGetTypeID(property); 50 | 51 | if (type == CFStringGetTypeID()) { 52 | printf( 53 | "%s: %s\n", key, 54 | [(__bridge_transfer NSString *)WiFiNetworkGetProperty( 55 | network, 56 | (__bridge CFStringRef)[NSString stringWithUTF8String:key]) 57 | UTF8String]); 58 | } else if (type == CFNumberGetTypeID()) { 59 | printf( 60 | "%s: %i\n", key, 61 | [(__bridge_transfer NSNumber *)WiFiNetworkGetProperty( 62 | network, 63 | (__bridge CFStringRef)[NSString stringWithUTF8String:key]) 64 | intValue]); 65 | } else if (type == CFDateGetTypeID()) { 66 | printf( 67 | "%s: %s\n", key, 68 | [(__bridge_transfer NSDate *)WiFiNetworkGetProperty( 69 | network, 70 | (__bridge CFStringRef)[NSString stringWithUTF8String:key]) 71 | description] 72 | .UTF8String); 73 | } else if (type == CFBooleanGetTypeID()) { 74 | printf( 75 | "%s: %s\n", key, 76 | CFBooleanGetValue(WiFiNetworkGetProperty( 77 | network, 78 | (__bridge CFStringRef)[NSString stringWithUTF8String:key])) 79 | ? "true" 80 | : "false"); 81 | } else 82 | errx(1, "unknown return type"); 83 | return 0; 84 | } 85 | 86 | NSMutableDictionary *out = [NSMutableDictionary new]; 87 | 88 | [out setObject:(__bridge_transfer NSString *)WiFiNetworkGetSSID(network) forKey:@"SSID"]; 89 | [out setObject:(__bridge_transfer NSString *)networkBSSIDRef(network) forKey:@"BSSID"]; 90 | [out setObject:WiFiNetworkIsWEP(network) ? @"yes" : @"no" forKey:@"WEP"]; 91 | [out setObject:WiFiNetworkIsWPA(network) ? @"yes" : @"no" forKey:@"WPA"]; 92 | [out setObject:WiFiNetworkIsEAP(network) ? @"yes" : @"no" forKey:@"EAP"]; 93 | [out setObject:WiFiNetworkIsApplePersonalHotspot(network) ? @"yes" : @"no" forKey:@"Hostspot"]; 94 | [out setObject:WiFiNetworkIsAdHoc(network) ? @"yes" : @"no" forKey:@"AdHoc"]; 95 | [out setObject:WiFiNetworkIsHidden(network) ? @"yes" : @"no" forKey:@"Hidden"]; 96 | [out setObject:WiFiNetworkRequiresPassword(network) ? @"yes" : @"no" forKey:@"RequiresPassword"]; 97 | [out setObject:WiFiNetworkRequiresUsername(network) ? @"yes" : @"no" forKey:@"RequiresUsername"]; 98 | 99 | CFDictionaryRef data = 100 | (CFDictionaryRef)WiFiDeviceClientCopyProperty(client, CFSTR("RSSI")); 101 | CFNumberRef scaled = 102 | (CFNumberRef)WiFiDeviceClientCopyProperty(client, kWiFiScaledRSSIKey); 103 | 104 | CFNumberRef RSSI = 105 | (CFNumberRef)CFDictionaryGetValue(data, CFSTR("RSSI_CTL_AGR")); 106 | CFRelease(data); 107 | 108 | int raw; 109 | CFNumberGetValue(RSSI, kCFNumberIntType, &raw); 110 | 111 | float strength; 112 | CFNumberGetValue(scaled, kCFNumberFloatType, &strength); 113 | CFRelease(scaled); 114 | 115 | strength *= -1; 116 | 117 | // Apple uses -3.0. 118 | int bars = (int)ceilf(strength * -3.0f); 119 | bars = MAX(1, MIN(bars, 3)); 120 | 121 | [out setObject:[NSString stringWithFormat:@"%f dBm", strength] forKey:@"Strength"]; 122 | [out setObject:[NSString stringWithFormat:@"%d", bars] forKey:@"Bars"]; 123 | [out setObject:(__bridge_transfer NSNumber *)WiFiNetworkGetProperty(network, CFSTR("CHANNEL")) forKey:@"Channel"]; 124 | [out setObject:(__bridge_transfer NSNumber *)WiFiNetworkGetProperty(network, CFSTR("AP_MODE")) forKey:@"APMode"]; 125 | [out setObject:(__bridge_transfer NSString *)WiFiDeviceClientGetInterfaceName(client) forKey:@"APMode"]; 126 | [out setObject:(__bridge_transfer NSDate*)WiFiNetworkGetLastAssociationDate(network) forKey:@"LastAssociationDate"]; 127 | [out setObject:(__bridge_transfer NSString *)WiFiNetworkCopyPassword(network) forKey:@"Password"]; 128 | 129 | [NCOutput printArray:@[out] withJSON:json]; 130 | 131 | return 0; 132 | } 133 | -------------------------------------------------------------------------------- /wifi/wifi-power.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | 6 | #include "wifi.h" 7 | 8 | int wifipower(char *action) { 9 | bool status = CFBooleanGetValue( 10 | WiFiManagerClientCopyProperty(manager, CFSTR("AllowEnable"))); 11 | 12 | if (action == NULL || !strcmp(action, "status")) { 13 | printf("%s\n", status ? "on" : "off"); 14 | } else if (!strcmp(action, "toggle")) { 15 | WiFiManagerClientSetProperty(manager, CFSTR("AllowEnable"), 16 | status ? kCFBooleanFalse : kCFBooleanTrue); 17 | } else if (!strcmp(action, "on")) { 18 | WiFiManagerClientSetProperty(manager, CFSTR("AllowEnable"), 19 | kCFBooleanTrue); 20 | } else if (!strcmp(action, "off")) { 21 | WiFiManagerClientSetProperty(manager, CFSTR("AllowEnable"), 22 | kCFBooleanFalse); 23 | } else if (!strcmp(action, "help")) { 24 | fprintf(stderr, "Usage: netctl wifi power [on | off | toggle | status | help]\n"); 25 | return 1; 26 | } 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /wifi/wifi-scan.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | #include 5 | #include 6 | 7 | #include "wifi.h" 8 | 9 | void wifiScanCallback(WiFiDeviceClientRef, CFArrayRef, int, void *); 10 | 11 | int wifiscan(int argc, char **argv) { 12 | int ch; 13 | int timeout = 30; 14 | const char *errstr; 15 | 16 | struct option opts[] = { 17 | { "timeout", required_argument, 0, 't' }, 18 | { NULL, 0, NULL, 0 } 19 | }; 20 | 21 | while ((ch = getopt_long(argc, argv, "t:", opts, NULL)) != -1) { 22 | switch (ch) { 23 | case 't': 24 | timeout = strtonum(optarg, 0, INT_MAX, &errstr); 25 | if (errstr != NULL) 26 | err(1, "%s", optarg); 27 | break; 28 | } 29 | } 30 | argc -= optind; 31 | argv += optind; 32 | 33 | WiFiManagerClientScheduleWithRunLoop(manager, CFRunLoopGetCurrent(), 34 | kCFRunLoopDefaultMode); 35 | 36 | WiFiDeviceClientScanAsync( 37 | client, (__bridge CFDictionaryRef)[NSDictionary dictionary], 38 | (WiFiDeviceScanCallback)wifiScanCallback, 0); 39 | CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeout, false); 40 | 41 | return 0; 42 | } 43 | 44 | void wifiScanCallback(WiFiDeviceClientRef client, CFArrayRef results, int error, 45 | void *token) { 46 | if (error != 0) errx(1, "Failed to scan"); 47 | 48 | for (int i = 0; i < CFArrayGetCount(results); i++) { 49 | NSString *SSID = (__bridge_transfer NSString *)WiFiNetworkGetSSID( 50 | (WiFiNetworkRef)CFArrayGetValueAtIndex(results, i)); 51 | if ([SSID length] == 0) { 52 | SSID = @""; 53 | } 54 | 55 | printf( 56 | "%s : %s\n", [SSID UTF8String], 57 | networkBSSID((WiFiNetworkRef)CFArrayGetValueAtIndex(results, i))); 58 | } 59 | 60 | WiFiManagerClientUnscheduleFromRunLoop(manager); 61 | CFRunLoopStop(CFRunLoopGetCurrent()); 62 | } 63 | -------------------------------------------------------------------------------- /wifi/wifi.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | int wifilist(void); 4 | int wifiinfo(bool, int, char **); 5 | int wifipower(char *); 6 | int wifiscan(int, char **); 7 | int wificonnect(int, char **); 8 | int wififorget(int, char **); 9 | WiFiNetworkRef getNetworkWithSSID(char *ssid); 10 | WiFiNetworkRef getNetworkWithBSSID(char *bssid); 11 | 12 | const char *networkBSSID(WiFiNetworkRef network); 13 | CFStringRef networkBSSIDRef(WiFiNetworkRef); 14 | 15 | extern CFArrayRef connectNetworks; 16 | extern WiFiManagerRef manager; 17 | extern WiFiDeviceClientRef client; 18 | -------------------------------------------------------------------------------- /wifi/wifi.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #include 4 | #include 5 | #include 6 | 7 | #include "wifi.h" 8 | #include "output.h" 9 | #include "netctl.h" 10 | 11 | CFArrayRef scanNetworks; 12 | WiFiManagerRef manager; 13 | WiFiDeviceClientRef client; 14 | 15 | int wifi(int argc, char *argv[]) { 16 | if (!argv[2]) { 17 | fprintf(stderr, "Usage: netctl wifi [current | power | info | list | scan | connect | disconnect | forget] [arguments]\n"); 18 | return 1; 19 | } 20 | 21 | int ret = 1; 22 | manager = WiFiManagerClientCreate(kCFAllocatorDefault, 0); 23 | // WiFiManagerClientGetDevice(WiFiManagerRef) segfaults 24 | // We should investigate, but this works for now. 25 | CFArrayRef devices = WiFiManagerClientCopyDevices(manager); 26 | if (!devices) { 27 | errx(1, "Failed to get devices"); 28 | } 29 | client = (WiFiDeviceClientRef)CFArrayGetValueAtIndex(devices, 0); 30 | 31 | // TODO: Make this not an ugly blob 32 | if (!strcmp(argv[2], "current")) { 33 | ret = wifiinfo(true, argc - 2, argv + 2); 34 | } else if (!strcmp(argv[2], "info")) { 35 | ret = wifiinfo(false, argc - 2, argv + 2); 36 | } else if (!strcmp(argv[2], "list")) { 37 | ret = wifilist(); 38 | } else if (!strcmp(argv[2], "power")) { 39 | if (argc != 4) 40 | ret = wifipower(NULL); 41 | else if (!strcmp(argv[3], "on") || !strcmp(argv[3], "off") || 42 | !strcmp(argv[3], "toggle") || !strcmp(argv[3], "status")) 43 | ret = wifipower(argv[3]); 44 | else 45 | errx(1, "invalid action"); 46 | } else if (!strcmp(argv[2], "scan")) 47 | ret = wifiscan(argc - 2, argv + 2); 48 | else if (!strcmp(argv[2], "connect")) 49 | ret = wificonnect(argc - 2, argv + 2); 50 | else if (!strcmp(argv[2], "disconnect")) 51 | ret = WiFiDeviceClientDisassociate(client); 52 | else if (!strcmp(argv[2], "forget")) { 53 | ret = wififorget(argc - 2, argv + 2); 54 | } else { 55 | fprintf(stderr, "Usage: netctl wifi [current | power | info | list | scan | connect | disconnect | forget] [arguments]\n"); 56 | return 1; 57 | } 58 | CFRelease(manager); 59 | return ret; 60 | } 61 | 62 | int wifilist(void) { 63 | CFArrayRef networks = WiFiManagerClientCopyNetworks(manager); 64 | 65 | NSMutableArray *list = [NSMutableArray array]; 66 | 67 | for (int i = 0; i < CFArrayGetCount(networks); i++) { 68 | [list addObjectsFromArray:@[ 69 | @{ @"SSID" : (__bridge_transfer NSString*)WiFiNetworkGetSSID((WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i)) }, 70 | @{ @"BSSID" : (__bridge_transfer NSString*)networkBSSIDRef((WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i)) }, 71 | ]]; 72 | } 73 | 74 | [NCOutput printArray:list withJSON:json]; 75 | 76 | return 0; 77 | } 78 | 79 | const char *networkBSSID(WiFiNetworkRef network) { 80 | return [(__bridge_transfer NSString *)networkBSSIDRef(network) UTF8String]; 81 | } 82 | 83 | CFStringRef networkBSSIDRef(WiFiNetworkRef network) { 84 | return WiFiNetworkGetProperty(network, CFSTR("BSSID")); 85 | } 86 | 87 | void getNetworkScanCallback(WiFiDeviceClientRef client, CFArrayRef results, 88 | int error, void *token) { 89 | if (error != 0) errx(1, "Failed to scan"); 90 | 91 | scanNetworks = CFArrayCreateCopy(kCFAllocatorDefault, results); 92 | 93 | WiFiManagerClientUnscheduleFromRunLoop(manager); 94 | CFRunLoopStop(CFRunLoopGetCurrent()); 95 | } 96 | 97 | WiFiNetworkRef getNetworkWithSSID(char *ssid) { 98 | CFArrayRef networks = WiFiManagerClientCopyNetworks(manager); 99 | 100 | for (int i = 0; i < CFArrayGetCount(networks); i++) { 101 | if (CFEqual(CFStringCreateWithCString(kCFAllocatorDefault, ssid, 102 | kCFStringEncodingUTF8), 103 | WiFiNetworkGetSSID( 104 | (WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i)))) { 105 | return (WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i); 106 | } 107 | } 108 | 109 | WiFiManagerClientScheduleWithRunLoop(manager, CFRunLoopGetCurrent(), 110 | kCFRunLoopDefaultMode); 111 | WiFiDeviceClientScanAsync( 112 | client, (__bridge CFDictionaryRef)[NSDictionary dictionary], 113 | (WiFiDeviceScanCallback)getNetworkScanCallback, 0); 114 | CFRunLoopRun(); 115 | 116 | for (int i = 0; i < CFArrayGetCount(scanNetworks); i++) { 117 | if (CFEqual(CFStringCreateWithCString(kCFAllocatorDefault, ssid, 118 | kCFStringEncodingUTF8), 119 | WiFiNetworkGetSSID((WiFiNetworkRef)CFArrayGetValueAtIndex( 120 | scanNetworks, i)))) { 121 | return (WiFiNetworkRef)CFArrayGetValueAtIndex(scanNetworks, i); 122 | } 123 | } 124 | 125 | errx(1, "Could not find network with specified SSID: %s", ssid); 126 | 127 | /* NOT REACHED */ 128 | return NULL; 129 | } 130 | 131 | WiFiNetworkRef getNetworkWithBSSID(char *bssid) { 132 | CFArrayRef networks; 133 | 134 | networks = WiFiManagerClientCopyNetworks(manager); 135 | 136 | for (int i = 0; i < CFArrayGetCount(networks); i++) { 137 | if (CFEqual(CFStringCreateWithCString(kCFAllocatorDefault, bssid, 138 | kCFStringEncodingUTF8), 139 | networkBSSIDRef( 140 | (WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i)))) { 141 | return (WiFiNetworkRef)CFArrayGetValueAtIndex(networks, i); 142 | } 143 | } 144 | 145 | WiFiManagerClientScheduleWithRunLoop(manager, CFRunLoopGetCurrent(), 146 | kCFRunLoopDefaultMode); 147 | WiFiDeviceClientScanAsync( 148 | client, (__bridge CFDictionaryRef)[NSDictionary dictionary], 149 | (WiFiDeviceScanCallback)getNetworkScanCallback, 0); 150 | CFRunLoopRun(); 151 | 152 | for (int i = 0; i < CFArrayGetCount(scanNetworks); i++) { 153 | if (CFEqual(CFStringCreateWithCString(kCFAllocatorDefault, bssid, 154 | kCFStringEncodingUTF8), 155 | networkBSSIDRef((WiFiNetworkRef)CFArrayGetValueAtIndex( 156 | scanNetworks, i)))) { 157 | return (WiFiNetworkRef)CFArrayGetValueAtIndex(scanNetworks, i); 158 | } 159 | } 160 | 161 | errx(1, "Could not find network with specified BSSID: %s", bssid); 162 | 163 | /* NOT REACHED */ 164 | return NULL; 165 | } 166 | --------------------------------------------------------------------------------