27#ifndef __COREFOUNDATION_CFURL_H__
28#define __COREFOUNDATION_CFURL_H__
30#include <CoreFoundation/CFBase.h>
31#include <CoreFoundation/CFArray.h>
32#include <CoreFoundation/CFDictionary.h>
33#include <CoreFoundation/CFError.h>
34#include <CoreFoundation/CFString.h>
40typedef const struct __CFURL *CFURLRef;
42#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
53 kCFURLPOSIXPathStyle = 0,
54 kCFURLHFSPathStyle = 1,
55 kCFURLWindowsPathStyle = 2
58#if OS_API_VERSION(MAC_OS_X_VERSION_10_3, GS_API_LATEST)
61 kCFURLComponentScheme = 1,
62 kCFURLComponentNetLocation = 2,
63 kCFURLComponentPath = 3,
64 kCFURLComponentResourceSpecifier = 4,
65 kCFURLComponentUser = 5,
66 kCFURLComponentPassword = 6,
67 kCFURLComponentUserInfo = 7,
68 kCFURLComponentHost = 8,
69 kCFURLComponentPort = 9,
70 kCFURLComponentParameterString = 10,
71 kCFURLComponentQuery = 11,
72 kCFURLComponentFragment = 12
76#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
79 kCFURLBookmarkCreationPreferFileIDResolutionMask = (1 << 8),
80 kCFURLBookmarkCreationMinimalBookmarkMask = (1 << 9),
81 kCFURLBookmarkCreationSuitableForBookmarkFile = (1 << 10)
86 kCFBookmarkResolutionWithoutUIMask = (1 << 8),
87 kCFBookmarkResolutionWithoutMountingMask = (1 << 9)
94CF_EXPORT
const CFStringRef kCFURLNameKey;
95CF_EXPORT
const CFStringRef kCFURLLocalizedNameKey;
96CF_EXPORT
const CFStringRef kCFURLIsRegularFileKey;
97CF_EXPORT
const CFStringRef kCFURLIsDirectoryKey;
98CF_EXPORT
const CFStringRef kCFURLIsSymbolicLinkKey;
99CF_EXPORT
const CFStringRef kCFURLIsVolumeKey;
100CF_EXPORT
const CFStringRef kCFURLIsPackageKey;
101CF_EXPORT
const CFStringRef kCFURLIsSystemImmutableKey;
102CF_EXPORT
const CFStringRef kCFURLIsUserImmutableKey;
103CF_EXPORT
const CFStringRef kCFURLIsHiddenKey;
104CF_EXPORT
const CFStringRef kCFURLHasHiddenExtensionKey;
105CF_EXPORT
const CFStringRef kCFURLCreationDateKey;
106CF_EXPORT
const CFStringRef kCFURLContentAccessDateKey;
107CF_EXPORT
const CFStringRef kCFURLContentModificationDateKey;
108CF_EXPORT
const CFStringRef kCFURLAttributeModificationDateKey;
109CF_EXPORT
const CFStringRef kCFURLLinkCountKey;
110CF_EXPORT
const CFStringRef kCFURLParentDirectoryURLKey;
111CF_EXPORT
const CFStringRef kCFURLVolumeURLKey;
112CF_EXPORT
const CFStringRef kCFURLTypeIdentifierKey;
113CF_EXPORT
const CFStringRef kCFURLLocalizedTypeDescriptionKey;
114CF_EXPORT
const CFStringRef kCFURLLabelNumberKey;
115CF_EXPORT
const CFStringRef kCFURLLabelColorKey;
116CF_EXPORT
const CFStringRef kCFURLLocalizedLabelKey;
117CF_EXPORT
const CFStringRef kCFURLEffectiveIconKey;
118CF_EXPORT
const CFStringRef kCFURLCustomIconKey;
120#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
121CF_EXPORT
const CFStringRef kCFURLFileResourceIdentifierKey;
122CF_EXPORT
const CFStringRef kCFURLVolumeIdentifierKey;
123CF_EXPORT
const CFStringRef kCFURLPreferredIOBlockSizeKey;
124CF_EXPORT
const CFStringRef kCFURLIsReadableKey;
125CF_EXPORT
const CFStringRef kCFURLIsWritableKey;
126CF_EXPORT
const CFStringRef kCFURLIsExecutableKey;
127CF_EXPORT
const CFStringRef kCFURLFileSecurityKey;
128CF_EXPORT
const CFStringRef kCFURLFileResourceTypeKey;
135#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
136CF_EXPORT
const CFStringRef kCFURLFileResourceTypeBlockSpecial;
137CF_EXPORT
const CFStringRef kCFURLFileResourceTypeCharacterSpecial;
138CF_EXPORT
const CFStringRef kCFURLFileResourceTypeDirectory;
139CF_EXPORT
const CFStringRef kCFURLFileResourceTypeNamedPipe;
140CF_EXPORT
const CFStringRef kCFURLFileResourceTypeRegular;
141CF_EXPORT
const CFStringRef kCFURLFileResourceTypeSocket;
142CF_EXPORT
const CFStringRef kCFURLFileResourceTypeSymbolicLink;
143CF_EXPORT
const CFStringRef kCFURLFileResourceTypeUnknown;
150#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
151CF_EXPORT
const CFStringRef kCFURLFileAllocatedSizeKey;
152CF_EXPORT
const CFStringRef kCFURLFileSizeKey;
153CF_EXPORT
const CFStringRef kCFURLIsAliasFileKey;
155#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
156CF_EXPORT
const CFStringRef kCFURLIsMountTriggerKey;
157CF_EXPORT
const CFStringRef kCFURLTotalFileAllocatedSizeKey;
158CF_EXPORT
const CFStringRef kCFURLTotalFileSizeKey;
165#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
166CF_EXPORT
const CFStringRef kCFURLVolumeLocalizedFormatDescriptionKey;
167CF_EXPORT
const CFStringRef kCFURLVolumeTotalCapacityKey;
168CF_EXPORT
const CFStringRef kCFURLVolumeAvailableCapacityKey;
169CF_EXPORT
const CFStringRef kCFURLVolumeResourceCountKey;
170CF_EXPORT
const CFStringRef kCFURLVolumeSupportsPersistentIDsKey;
171CF_EXPORT
const CFStringRef kCFURLVolumeSupportsSymbolicLinksKey;
172CF_EXPORT
const CFStringRef kCFURLVolumeSupportsHardLinksKey;
173CF_EXPORT
const CFStringRef kCFURLVolumeSupportsJournalingKey;
174CF_EXPORT
const CFStringRef kCFURLVolumeIsJournalingKey;
175CF_EXPORT
const CFStringRef kCFURLVolumeSupportsSparseFilesKey;
176CF_EXPORT
const CFStringRef kCFURLVolumeSupportsZeroRunsKey;
177CF_EXPORT
const CFStringRef kCFURLVolumeSupportsCaseSensitiveNamesKey;
178CF_EXPORT
const CFStringRef kCFURLVolumeSupportsCasePreservedNamesKey;
180#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
181CF_EXPORT
const CFStringRef kCFURLVolumeNameKey;
182CF_EXPORT
const CFStringRef kCFURLVolumeLocalizedNameKey;
183CF_EXPORT
const CFStringRef kCFURLVolumeSupportsRootDirectoryDatesKey;
184CF_EXPORT
const CFStringRef kCFURLVolumeSupportsVolumeSizesKey;
185CF_EXPORT
const CFStringRef kCFURLVolumeSupportsRenamingKey;
186CF_EXPORT
const CFStringRef kCFURLVolumeSupportsAdvisoryFileLockingKey;
187CF_EXPORT
const CFStringRef kCFURLVolumeSupportsExtendedSecurityKey;
188CF_EXPORT
const CFStringRef kCFURLVolumeIsBrowsableKey;
189CF_EXPORT
const CFStringRef kCFURLVolumeMaximumFileSizeKey;
190CF_EXPORT
const CFStringRef kCFURLVolumeIsEjectableKey;
191CF_EXPORT
const CFStringRef kCFURLVolumeIsRemovableKey;
192CF_EXPORT
const CFStringRef kCFURLVolumeIsInternalKey;
193CF_EXPORT
const CFStringRef kCFURLVolumeIsAutomountedKey;
194CF_EXPORT
const CFStringRef kCFURLVolumeIsLocalKey;
195CF_EXPORT
const CFStringRef kCFURLVolumeIsReadOnlyKey;
196CF_EXPORT
const CFStringRef kCFURLVolumeCreationDateKey;
197CF_EXPORT
const CFStringRef kCFURLVolumeURLForRemountingKey;
198CF_EXPORT
const CFStringRef kCFURLVolumeUUIDStringKey;
205#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
206CF_EXPORT
const CFStringRef kCFURLKeysOfUnsetValuesKey;
213CF_EXPORT CFTypeID CFURLGetTypeID (
void);
219CF_EXPORT CFURLRef CFURLCopyAbsoluteURL (CFURLRef relativeURL);
221#if OS_API_VERSION(MAC_OS_X_VERSION_10_3, GS_API_LATEST)
224 const UInt8 * relativeURLBytes,
CFIndex length,
225 CFStringEncoding encoding, CFURLRef baseURL,
226 Boolean useCompatibilityMode);
229#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
231CFURLCreateByResolvingBookmarkData (
CFAllocatorRef alloc, CFDataRef bookmark,
232 CFURLBookmarkResolutionOptions options,
233 CFURLRef relativeToURL,
235 Boolean * isStale, CFErrorRef * error);
239CFURLCreateCopyAppendingPathComponent (
CFAllocatorRef alloc, CFURLRef url,
240 CFStringRef pathComponent,
241 Boolean isDirectory);
244CFURLCreateCopyAppendingPathExtension (
CFAllocatorRef alloc, CFURLRef url,
245 CFStringRef extension);
248CFURLCreateCopyDeletingLastPathComponent (
CFAllocatorRef alloc, CFURLRef url);
251CFURLCreateCopyDeletingPathExtension (
CFAllocatorRef alloc, CFURLRef url);
253#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
259CFURLCreateFileReferenceURL (
CFAllocatorRef allocator, CFURLRef url,
265 const UInt8 * buffer,
CFIndex bufLen,
266 Boolean isDirectory);
269CFURLCreateFromFileSystemRepresentationRelativeToBase (
CFAllocatorRef alloc,
270 const UInt8 * buffer,
277CFURLCreateFromFSRef (
CFAllocatorRef alloc,
const struct FSRef *fsRef);
282 CFStringEncoding encoding, CFURLRef baseURL);
286 CFStringRef fileSystemPath, CFURLPathStyle style,
287 Boolean isDirectory);
291 CFStringRef filePath,
292 CFURLPathStyle style,
297CFURLCreateWithString (
CFAllocatorRef allocator, CFStringRef
string,
304CF_EXPORT Boolean CFURLCanBeDecomposed (CFURLRef url);
306CFStringRef CFURLCopyFileSystemPath (CFURLRef aURL, CFURLPathStyle style);
309CFURLCopyFragment (CFURLRef url, CFStringRef charactersToLeaveEscaped);
311CF_EXPORT CFStringRef CFURLCopyHostName (CFURLRef url);
313CF_EXPORT CFStringRef CFURLCopyLastPathComponent (CFURLRef url);
315CF_EXPORT CFStringRef CFURLCopyNetLocation (CFURLRef url);
318CFURLCopyParameterString (CFURLRef url, CFStringRef charactersToLeaveEscaped);
320CF_EXPORT CFStringRef CFURLCopyPassword (CFURLRef url);
322CF_EXPORT CFStringRef CFURLCopyPath (CFURLRef url);
324CF_EXPORT CFStringRef CFURLCopyPathExtension (CFURLRef url);
327CFURLCopyQueryString (CFURLRef url, CFStringRef charactersToLeaveEscaped);
329CF_EXPORT CFStringRef CFURLCopyResourceSpecifier (CFURLRef url);
331CF_EXPORT CFStringRef CFURLCopyScheme (CFURLRef url);
333CF_EXPORT CFStringRef CFURLCopyStrictPath (CFURLRef url, Boolean * isAbsolute);
335CF_EXPORT CFStringRef CFURLCopyUserName (CFURLRef url);
337CF_EXPORT SInt32 CFURLGetPortNumber (CFURLRef url);
339CF_EXPORT Boolean CFURLHasDirectoryPath (CFURLRef url);
346CFURLCreateData (
CFAllocatorRef alloc, CFURLRef url, CFStringEncoding encoding,
347 Boolean escapeWhiteSpace);
351 CFStringRef origString,
352 CFStringRef charactersToLeaveUnescaped,
354 legalURLCharactersToBeEscaped,
355 CFStringEncoding encoding);
359 CFStringRef origString,
361 charactersToLeaveEscaped);
363#if OS_API_VERSION(MAC_OS_X_VERSION_10_3, GS_API_LATEST)
365CFURLCreateStringByReplacingPercentEscapesUsingEncoding (
CFAllocatorRef alloc,
366 CFStringRef origString,
368 charactersToLeaveEscaped,
374CFURLGetFileSystemRepresentation (CFURLRef url, Boolean resolveAgainstBase,
375 UInt8 * buffer,
CFIndex bufLen);
378CF_EXPORT Boolean CFURLGetFSRef (CFURLRef url,
struct FSRef *fsRef);
381CF_EXPORT CFStringRef CFURLGetString (CFURLRef url);
387CF_EXPORT CFURLRef CFURLGetBaseURL (CFURLRef url);
389#if OS_API_VERSION(MAC_OS_X_VERSION_10_3, GS_API_LATEST)
390CF_EXPORT
CFIndex CFURLGetBytes (CFURLRef url, UInt8 * buffer,
CFIndex bufLen);
393CFURLGetByteRangeForComponent (CFURLRef url, CFURLComponentType comp,
394 CFRange * rangeIncludingSeparators);
396CF_EXPORT Boolean CFURLResourceIsReachable (CFURLRef url, CFErrorRef * error);
403#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
404CF_EXPORT
void CFURLClearResourcePropertyCache (CFURLRef url);
407CFURLClearResourcePropertyCacheForKey (CFURLRef url, CFStringRef key);
409CF_EXPORT CFDictionaryRef
410CFURLCopyResourcePropertiesForKeys (CFURLRef url,
CFArrayRef keys,
414CFURLCopyResourcePropertyForKey (CFURLRef url, CFStringRef key,
415 void *propertyValueTypeRefPtr,
418CF_EXPORT CFDictionaryRef
419CFURLCreateResourcePropertiesForKeysFromBookmarkData (
CFAllocatorRef allocator,
421 resourcePropertiesToReturn,
425CFURLCreateResourcePropertyForKeyFromBookmarkData (
CFAllocatorRef allocator,
431CFURLSetResourcePropertiesForKeys (CFURLRef url,
432 CFDictionaryRef keyedPropertyValues,
436CFURLSetResourcePropertyForKey (CFURLRef url, CFStringRef key,
437 CFTypeRef propertValue, CFErrorRef * error);
440CFURLSetTemporaryResourcePropertyForKey (CFURLRef url, CFStringRef key,
441 CFTypeRef propertyValue);
449 CFURLBookmarkCreationOptions options,
451 CFURLRef relativeToURL, CFErrorRef * error);
455 CFDataRef aliasRecordDataRef);
458CFURLCreateBookmarkDataFromFile (
CFAllocatorRef allocator, CFURLRef fileURL,
459 CFErrorRef * errorRef);
462CFURLWriteBookmarkDataToFile (CFDataRef bookmarkRef, CFURLRef fileURL,
463 CFURLBookmarkFileCreationOptions options,
464 CFErrorRef * errorRef);
unsigned long CFOptionFlags
Definition CFBase.h:163
signed long CFIndex
Definition CFBase.h:165
const struct __CFAllocator * CFAllocatorRef
A reference to a CFAllocator object.
Definition CFBase.h:301
const struct __CFArray * CFArrayRef
Reference to an immutable array object.
Definition CFArray.h:37