You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
671 lines
20 KiB
671 lines
20 KiB
/* |
|
File: Aliases.h |
|
|
|
Contains: Alias Manager Interfaces. |
|
|
|
Version: QuickTime 7.3 |
|
|
|
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved |
|
|
|
Bugs?: For bug reports, consult the following page on |
|
the World Wide Web: |
|
|
|
http://developer.apple.com/bugreporter/ |
|
|
|
*/ |
|
#ifndef __ALIASES__ |
|
#define __ALIASES__ |
|
|
|
#ifndef __MACTYPES__ |
|
#include <MacTypes.h> |
|
#endif |
|
|
|
#ifndef __FILES__ |
|
#include <Files.h> |
|
#endif |
|
|
|
|
|
|
|
|
|
#if PRAGMA_ONCE |
|
#pragma once |
|
#endif |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#if PRAGMA_IMPORT |
|
#pragma import on |
|
#endif |
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=mac68k |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(push, 2) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack(2) |
|
#endif |
|
|
|
typedef UInt32 FSAliasInfoBitmap; |
|
enum { |
|
kFSAliasInfoNone = 0x00000000, /* no valid info*/ |
|
kFSAliasInfoVolumeCreateDate = 0x00000001, /* volume creation date is valid*/ |
|
kFSAliasInfoTargetCreateDate = 0x00000002, /* target creation date is valid*/ |
|
kFSAliasInfoFinderInfo = 0x00000004, /* file type and creator are valid*/ |
|
kFSAliasInfoIsDirectory = 0x00000008, /* isDirectory boolean is valid*/ |
|
kFSAliasInfoIDs = 0x00000010, /* parentDirID and nodeID are valid*/ |
|
kFSAliasInfoFSInfo = 0x00000020, /* filesystemID and signature are valid*/ |
|
kFSAliasInfoVolumeFlags = 0x00000040 /* volumeIsBootVolume, volumeIsAutomounted, volumeIsEjectable and volumeHasPersistentFileIDs are valid*/ |
|
}; |
|
|
|
enum { |
|
rAliasType = FOUR_CHAR_CODE('alis') /* Aliases are stored as resources of this type */ |
|
}; |
|
|
|
enum { |
|
/* define alias resolution action rules mask */ |
|
kARMMountVol = 0x00000001, /* mount the volume automatically */ |
|
kARMNoUI = 0x00000002, /* no user interface allowed during resolution */ |
|
kARMMultVols = 0x00000008, /* search on multiple volumes */ |
|
kARMSearch = 0x00000100, /* search quickly */ |
|
kARMSearchMore = 0x00000200, /* search further */ |
|
kARMSearchRelFirst = 0x00000400, /* search target on a relative path first */ |
|
kARMTryFileIDFirst = 0x00000800 /* search by file id before path */ |
|
}; |
|
|
|
enum { |
|
/* define alias record information types */ |
|
asiZoneName = -3, /* get zone name */ |
|
asiServerName = -2, /* get server name */ |
|
asiVolumeName = -1, /* get volume name */ |
|
asiAliasName = 0, /* get aliased file/folder/volume name */ |
|
asiParentName = 1 /* get parent folder name */ |
|
}; |
|
|
|
/* ResolveAliasFileWithMountFlags options */ |
|
enum { |
|
kResolveAliasFileNoUI = 0x00000001, /* no user interaction during resolution */ |
|
kResolveAliasTryFileIDFirst = 0x00000002 /* search by file id before path */ |
|
}; |
|
|
|
/* define the alias record that will be the blackbox for the caller */ |
|
struct AliasRecord { |
|
OSType userType; /* appl stored type like creator type */ |
|
unsigned short aliasSize; /* alias record size in bytes, for appl usage */ |
|
}; |
|
typedef struct AliasRecord AliasRecord; |
|
typedef AliasRecord * AliasPtr; |
|
typedef AliasPtr * AliasHandle; |
|
/* info block to pass to FSCopyAliasInfo */ |
|
struct FSAliasInfo { |
|
UTCDateTime volumeCreateDate; |
|
UTCDateTime targetCreateDate; |
|
OSType fileType; |
|
OSType fileCreator; |
|
UInt32 parentDirID; |
|
UInt32 nodeID; |
|
UInt16 filesystemID; |
|
UInt16 signature; |
|
Boolean volumeIsBootVolume; |
|
Boolean volumeIsAutomounted; |
|
Boolean volumeIsEjectable; |
|
Boolean volumeHasPersistentFileIDs; |
|
Boolean isDirectory; |
|
}; |
|
typedef struct FSAliasInfo FSAliasInfo; |
|
typedef FSAliasInfo * FSAliasInfoPtr; |
|
/* alias record information type */ |
|
typedef short AliasInfoType; |
|
/* |
|
* NewAlias() |
|
* |
|
* Summary: |
|
* create a new alias between fromFile and target, returns alias |
|
* record handle |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewAlias( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
const FSSpec * target, |
|
AliasHandle * alias) TWOWORDINLINE(0x7002, 0xA823); |
|
|
|
|
|
/* |
|
* NewAliasMinimal() |
|
* |
|
* Summary: |
|
* create a minimal new alias for a target and return alias record |
|
* handle |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewAliasMinimal( |
|
const FSSpec * target, |
|
AliasHandle * alias) TWOWORDINLINE(0x7008, 0xA823); |
|
|
|
|
|
/* |
|
* NewAliasMinimalFromFullPath() |
|
* |
|
* Summary: |
|
* create a minimal new alias from a target fullpath (optional zone |
|
* and server name) and return alias record handle |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewAliasMinimalFromFullPath( |
|
short fullPathLength, |
|
const void * fullPath, |
|
ConstStr32Param zoneName, |
|
ConstStr31Param serverName, |
|
AliasHandle * alias) TWOWORDINLINE(0x7009, 0xA823); |
|
|
|
|
|
/* |
|
* ResolveAlias() |
|
* |
|
* Summary: |
|
* given an alias handle and fromFile, resolve the alias, update the |
|
* alias record and return aliased filename and wasChanged flag. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ResolveAlias( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
AliasHandle alias, |
|
FSSpec * target, |
|
Boolean * wasChanged) TWOWORDINLINE(0x7003, 0xA823); |
|
|
|
|
|
/* |
|
* GetAliasInfo() |
|
* |
|
* Summary: |
|
* given an alias handle and an index specifying requested alias |
|
* information type, return the information from alias record as a |
|
* string. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetAliasInfo( |
|
AliasHandle alias, |
|
AliasInfoType index, |
|
Str63 theString) TWOWORDINLINE(0x7007, 0xA823); |
|
|
|
|
|
|
|
/* |
|
* IsAliasFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
IsAliasFile( |
|
const FSSpec * fileFSSpec, |
|
Boolean * aliasFileFlag, |
|
Boolean * folderFlag) TWOWORDINLINE(0x702A, 0xA823); |
|
|
|
|
|
/* |
|
* ResolveAliasWithMountFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 8.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ResolveAliasWithMountFlags( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
AliasHandle alias, |
|
FSSpec * target, |
|
Boolean * wasChanged, |
|
unsigned long mountFlags) TWOWORDINLINE(0x702B, 0xA823); |
|
|
|
|
|
/* |
|
* ResolveAliasFile() |
|
* |
|
* Summary: |
|
* Given a file spec, return target file spec if input file spec is |
|
* an alias. It resolves the entire alias chain or one step of the |
|
* chain. It returns info about whether the target is a folder or |
|
* file; and whether the input file spec was an alias or not. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ResolveAliasFile( |
|
FSSpec * theSpec, |
|
Boolean resolveAliasChains, |
|
Boolean * targetIsFolder, |
|
Boolean * wasAliased) TWOWORDINLINE(0x700C, 0xA823); |
|
|
|
|
|
|
|
/* |
|
* ResolveAliasFileWithMountFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ResolveAliasFileWithMountFlags( |
|
FSSpec * theSpec, |
|
Boolean resolveAliasChains, |
|
Boolean * targetIsFolder, |
|
Boolean * wasAliased, |
|
unsigned long mountFlags) TWOWORDINLINE(0x7029, 0xA823); |
|
|
|
|
|
/* |
|
* FollowFinderAlias() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
FollowFinderAlias( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
AliasHandle alias, |
|
Boolean logon, |
|
FSSpec * target, |
|
Boolean * wasChanged) TWOWORDINLINE(0x700F, 0xA823); |
|
|
|
|
|
/* |
|
Low Level Routines |
|
*/ |
|
/* |
|
* UpdateAlias() |
|
* |
|
* Summary: |
|
* given a fromFile-target pair and an alias handle, update the |
|
* alias record pointed to by alias handle to represent target as |
|
* the new alias. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UpdateAlias( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
const FSSpec * target, |
|
AliasHandle alias, |
|
Boolean * wasChanged) TWOWORDINLINE(0x7006, 0xA823); |
|
|
|
|
|
|
|
typedef CALLBACK_API( Boolean , AliasFilterProcPtr )(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr); |
|
typedef STACK_UPP_TYPE(AliasFilterProcPtr) AliasFilterUPP; |
|
/* |
|
* NewAliasFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( AliasFilterUPP ) |
|
NewAliasFilterUPP(AliasFilterProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppAliasFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(AliasFilterUPP) NewAliasFilterUPP(AliasFilterProcPtr userRoutine) { return (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewAliasFilterUPP(userRoutine) (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeAliasFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeAliasFilterUPP(AliasFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeAliasFilterUPP(AliasFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeAliasFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeAliasFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeAliasFilterUPP( |
|
CInfoPBPtr cpbPtr, |
|
Boolean * quitFlag, |
|
Ptr myDataPtr, |
|
AliasFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean * quitFlag, Ptr myDataPtr, AliasFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAliasFilterProcInfo, cpbPtr, quitFlag, myDataPtr); } |
|
#else |
|
#define InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppAliasFilterProcInfo, (cpbPtr), (quitFlag), (myDataPtr)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES |
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ |
|
#define NewAliasFilterProc(userRoutine) NewAliasFilterUPP(userRoutine) |
|
#define CallAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userRoutine) |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
* MatchAlias() |
|
* |
|
* Summary: |
|
* Given an alias handle and fromFile, match the alias and return |
|
* FSSpecs to the aliased file(s) and needsUpdate flag |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MatchAlias( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
unsigned long rulesMask, |
|
AliasHandle alias, |
|
short * aliasCount, |
|
FSSpecArrayPtr aliasList, |
|
Boolean * needsUpdate, |
|
AliasFilterUPP aliasFilter, |
|
void * yourDataPtr) TWOWORDINLINE(0x7005, 0xA823); |
|
|
|
|
|
|
|
|
|
/* |
|
* ResolveAliasFileWithMountFlagsNoUI() |
|
* |
|
* Summary: |
|
* variation on ResolveAliasFile that does not prompt user with a |
|
* dialog |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ResolveAliasFileWithMountFlagsNoUI( |
|
FSSpec * theSpec, |
|
Boolean resolveAliasChains, |
|
Boolean * targetIsFolder, |
|
Boolean * wasAliased, |
|
unsigned long mountFlags); |
|
|
|
|
|
/* |
|
* MatchAliasNoUI() |
|
* |
|
* Summary: |
|
* variation on MatchAlias that does not prompt user with a dialog |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MatchAliasNoUI( |
|
const FSSpec * fromFile, /* can be NULL */ |
|
unsigned long rulesMask, |
|
AliasHandle alias, |
|
short * aliasCount, |
|
FSSpecArrayPtr aliasList, |
|
Boolean * needsUpdate, |
|
AliasFilterUPP aliasFilter, |
|
void * yourDataPtr); |
|
|
|
|
|
/* |
|
* FSNewAliasUnicode() |
|
* |
|
* Summary: |
|
* Creates an alias given a ref to the target's parent directory and |
|
* the target's unicode name. If the target does not exist fnfErr |
|
* will be returned but the alias will still be created. This |
|
* allows the creation of aliases to targets that do not exist. |
|
* |
|
* Parameters: |
|
* |
|
* fromFile: |
|
* The starting point for a relative search. |
|
* |
|
* targetParentRef: |
|
* An FSRef to the parent directory of the target. |
|
* |
|
* targetNameLength: |
|
* Number of Unicode characters in the target's name. |
|
* |
|
* targetName: |
|
* A pointer to the Unicode name. |
|
* |
|
* inAlias: |
|
* A Handle to the newly created alias record. |
|
* |
|
* isDirectory: |
|
* On input, if target does not exist, a flag to indicate whether |
|
* or not the target is a directory. On output, if the target did |
|
* exist, an flag indicating if the target is a directory. Pass |
|
* NULL in the non-existant case if unsure. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
FSNewAliasUnicode( |
|
const FSRef * fromFile, /* can be NULL */ |
|
const FSRef * targetParentRef, |
|
UniCharCount targetNameLength, |
|
const UniChar * targetName, |
|
AliasHandle * inAlias, |
|
Boolean * isDirectory); /* can be NULL */ |
|
|
|
|
|
/* |
|
* FSNewAliasMinimalUnicode() |
|
* |
|
* Summary: |
|
* Creates a minimal alias given a ref to the target's parent |
|
* directory and the target's unicode name. If the target does not |
|
* exist fnfErr will be returned but the alias will still be created. |
|
* |
|
* Parameters: |
|
* |
|
* targetParentRef: |
|
* An FSRef to the parent directory of the target. |
|
* |
|
* targetNameLength: |
|
* Number of Unicode characters in the target's name. |
|
* |
|
* targetName: |
|
* A pointer to the Unicode name. |
|
* |
|
* inAlias: |
|
* A Handle to the newly created alias record. |
|
* |
|
* isDirectory: |
|
* On input, if target does not exist, a flag to indicate whether |
|
* or not the |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
FSNewAliasMinimalUnicode( |
|
const FSRef * targetParentRef, |
|
UniCharCount targetNameLength, |
|
const UniChar * targetName, |
|
AliasHandle * inAlias, |
|
Boolean * isDirectory); /* can be NULL */ |
|
|
|
|
|
/* |
|
* FSMatchAlias() |
|
* |
|
* Summary: |
|
* Given an alias handle and fromFile, match the alias and return |
|
* FSRefs to the aliased file(s) and needsUpdate flag |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
FSMatchAlias( |
|
const FSRef * fromFile, /* can be NULL */ |
|
unsigned long rulesMask, |
|
AliasHandle inAlias, |
|
short * aliasCount, |
|
FSRef * aliasList, |
|
Boolean * needsUpdate, |
|
AliasFilterUPP aliasFilter, |
|
void * yourDataPtr); |
|
|
|
|
|
/* |
|
* FSMatchAliasNoUI() |
|
* |
|
* Summary: |
|
* variation on FSMatchAlias that does not prompt user with a dialog |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
FSMatchAliasNoUI( |
|
const FSRef * fromFile, /* can be NULL */ |
|
unsigned long rulesMask, |
|
AliasHandle inAlias, |
|
short * aliasCount, |
|
FSRef * aliasList, |
|
Boolean * needsUpdate, |
|
AliasFilterUPP aliasFilter, |
|
void * yourDataPtr); |
|
|
|
|
|
/* |
|
* FSCopyAliasInfo() |
|
* |
|
* Discussion: |
|
* This routine will return the requested information from the |
|
* passed in aliasHandle. The information is gathered only from the |
|
* alias record so it may not match what is on disk (no disk i/o is |
|
* performed). The whichInfo paramter is an output parameter that |
|
* signifies which fields in the info record contain valid data. |
|
* |
|
* Parameters: |
|
* |
|
* inAlias: |
|
* A handle to the alias record to get the information from. |
|
* |
|
* targetName: |
|
* The name of the target item. |
|
* |
|
* volumeName: |
|
* The name of the volume the target resides on. |
|
* |
|
* pathString: |
|
* POSIX path to target. |
|
* |
|
* whichInfo: |
|
* An indication of which fields in the info block contain valid |
|
* data. |
|
* |
|
* info: |
|
* Returned information about the alias. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
FSCopyAliasInfo( |
|
AliasHandle inAlias, |
|
HFSUniStr255 * targetName, /* can be NULL */ |
|
HFSUniStr255 * volumeName, /* can be NULL */ |
|
CFStringRef * pathString, /* can be NULL */ |
|
FSAliasInfoBitmap * whichInfo, /* can be NULL */ |
|
FSAliasInfo * info); /* can be NULL */ |
|
|
|
|
|
|
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=reset |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(pop) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack() |
|
#endif |
|
|
|
#ifdef PRAGMA_IMPORT_OFF |
|
#pragma import off |
|
#elif PRAGMA_IMPORT |
|
#pragma import reset |
|
#endif |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* __ALIASES__ */ |
|
|
|
|