Mac OS 9
Aliases.h
Go to the documentation of this file.
1 
19 #ifndef __ALIASES__
20 #define __ALIASES__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __FILES__
27 #include <Files.h>
28 #endif
29 
30 #if PRAGMA_ONCE
31 #pragma once
32 #endif
33 
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #endif
38 
39 #if PRAGMA_IMPORT
40 #pragma import on
41 #endif
42 
43 #if PRAGMA_STRUCT_ALIGN
44 #pragma options align = mac68k
45 #elif PRAGMA_STRUCT_PACKPUSH
46 #pragma pack(push, 2)
47 #elif PRAGMA_STRUCT_PACK
48 #pragma pack(2)
49 #endif
50 
51  enum
52  {
53  rAliasType =
54  FOUR_CHAR_CODE('alis')
55  };
56 
57  enum
58  {
60  kARMMountVol = 0x00000001,
61  kARMNoUI = 0x00000002,
62  kARMMultVols = 0x00000008,
63  kARMSearch = 0x00000100,
64  kARMSearchMore = 0x00000200,
65  kARMSearchRelFirst = 0x00000400
66  };
67 
68  enum
69  {
71  asiZoneName = -3,
75  asiParentName = 1
76  };
77 
79  enum
80  {
81  kResolveAliasFileNoUI =
82  0x00000001
83  };
84 
86  struct AliasRecord
87  {
88  OSType userType;
89  unsigned short aliasSize;
90  };
91  typedef struct AliasRecord AliasRecord;
92  typedef AliasRecord *AliasPtr;
93  typedef AliasPtr *AliasHandle;
95  typedef short AliasInfoType;
108  OSErr
109  NewAlias(const FSSpec *fromFile,
110  const FSSpec *target, AliasHandle *alias);
111 
124  OSErr
125  NewAliasMinimal(const FSSpec *target, AliasHandle *alias);
126 
139  OSErr
140  NewAliasMinimalFromFullPath(short fullPathLength, const void *fullPath,
141  ConstStr32Param zoneName,
142  ConstStr31Param serverName, AliasHandle *alias);
143 
156  OSErr
157  ResolveAlias(const FSSpec *fromFile,
158  AliasHandle alias, FSSpec *target, Boolean *wasChanged);
159 
205  OSErr
206  GetAliasInfo(AliasHandle alias, AliasInfoType index, Str63 theString);
207 
216  OSErr
217  IsAliasFile(const FSSpec *fileFSSpec, Boolean *aliasFileFlag,
218  Boolean *folderFlag);
219 
228  OSErr
229  ResolveAliasWithMountFlags(const FSSpec *fromFile,
230  AliasHandle alias, FSSpec *target,
231  Boolean *wasChanged, unsigned long mountFlags);
232 
247  OSErr
248  ResolveAliasFile(FSSpec *theSpec, Boolean resolveAliasChains,
249  Boolean *targetIsFolder, Boolean *wasAliased);
250 
259  OSErr
260  ResolveAliasFileWithMountFlags(FSSpec *theSpec, Boolean resolveAliasChains,
261  Boolean *targetIsFolder, Boolean *wasAliased,
262  unsigned long mountFlags);
263 
272  OSErr
273  FollowFinderAlias(const FSSpec *fromFile,
274  AliasHandle alias, Boolean logon, FSSpec *target,
275  Boolean *wasChanged);
276 
293  OSErr
294  UpdateAlias(const FSSpec *fromFile,
295  const FSSpec *target, AliasHandle alias, Boolean *wasChanged);
296 
297  typedef CALLBACK_API(Boolean, AliasFilterProcPtr)(CInfoPBPtr cpbPtr,
298  Boolean *quitFlag,
299  Ptr myDataPtr);
300  typedef STACK_UPP_TYPE(AliasFilterProcPtr) AliasFilterUPP;
309  AliasFilterUPP
310  NewAliasFilterUPP(AliasFilterProcPtr userRoutine);
311 #if !OPAQUE_UPP_TYPES
312  enum
313  {
314  uppAliasFilterProcInfo = 0x00000FD0
315  };
316 #ifdef __cplusplus
317  inline AliasFilterUPP NewAliasFilterUPP(AliasFilterProcPtr userRoutine)
318  {
319  return (AliasFilterUPP)NewRoutineDescriptor(
320  (ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture());
321  }
322 #else
323 #define NewAliasFilterUPP(userRoutine) \
324  (AliasFilterUPP) \
325  NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, \
326  GetCurrentArchitecture())
327 #endif
328 #endif
329 
338  void
339  DisposeAliasFilterUPP(AliasFilterUPP userUPP);
340 #if !OPAQUE_UPP_TYPES
341 #ifdef __cplusplus
342  inline void DisposeAliasFilterUPP(AliasFilterUPP userUPP)
343  {
344  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
345  }
346 #else
347 #define DisposeAliasFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
348 #endif
349 #endif
350 
359  Boolean
360  InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr,
361  AliasFilterUPP userUPP);
362 #if !OPAQUE_UPP_TYPES
363 #ifdef __cplusplus
364  inline Boolean InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean *quitFlag,
365  Ptr myDataPtr, AliasFilterUPP userUPP)
366  {
367  return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAliasFilterProcInfo,
368  cpbPtr, quitFlag, myDataPtr);
369  }
370 #else
371 #define InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userUPP) \
372  (Boolean) CALL_THREE_PARAMETER_UPP((userUPP), uppAliasFilterProcInfo, \
373  (cpbPtr), (quitFlag), (myDataPtr))
374 #endif
375 #endif
376 
377 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
379 #define NewAliasFilterProc(userRoutine) NewAliasFilterUPP(userRoutine)
380 #define CallAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) \
381  InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userRoutine)
382 #endif
396  OSErr
397  MatchAlias(const FSSpec *fromFile,
398  unsigned long rulesMask, AliasHandle alias, short *aliasCount,
399  FSSpecArrayPtr aliasList, Boolean *needsUpdate,
400  AliasFilterUPP aliasFilter, void *yourDataPtr);
401 
414  OSErr
415  ResolveAliasFileWithMountFlagsNoUI(FSSpec *theSpec, Boolean resolveAliasChains,
416  Boolean *targetIsFolder, Boolean *wasAliased,
417  unsigned long mountFlags);
418 
430  OSErr
431  MatchAliasNoUI(const FSSpec *fromFile,
432  unsigned long rulesMask, AliasHandle alias, short *aliasCount,
433  FSSpecArrayPtr aliasList, Boolean *needsUpdate,
434  AliasFilterUPP aliasFilter, void *yourDataPtr);
435 
444  OSErr
445  FSNewAlias(const FSRef *fromFile,
446  const FSRef *target, AliasHandle *inAlias);
447 
456  OSErr
457  FSNewAliasMinimal(const FSRef *target, AliasHandle *inAlias);
458 
467  OSErr
468  FSIsAliasFile(const FSRef *fileRef, Boolean *aliasFileFlag, Boolean *folderFlag);
469 
478  OSErr
480  AliasHandle inAlias, FSRef *target,
481  Boolean *wasChanged, unsigned long mountFlags);
482 
491  OSErr
492  FSResolveAlias(const FSRef *fromFile,
493  AliasHandle alias, FSRef *target, Boolean *wasChanged);
494 
503  OSErr
504  FSResolveAliasFileWithMountFlags(FSRef *theRef, Boolean resolveAliasChains,
505  Boolean *targetIsFolder, Boolean *wasAliased,
506  unsigned long mountFlags);
507 
516  OSErr
517  FSResolveAliasFile(FSRef *theRef, Boolean resolveAliasChains,
518  Boolean *targetIsFolder, Boolean *wasAliased);
519 
528  OSErr
530  AliasHandle alias, Boolean logon, FSRef *target,
531  Boolean *wasChanged);
532 
541  OSErr
542  FSUpdateAlias(const FSRef *fromFile,
543  const FSRef *target, AliasHandle alias, Boolean *wasChanged);
544 
545 #if PRAGMA_STRUCT_ALIGN
546 #pragma options align = reset
547 #elif PRAGMA_STRUCT_PACKPUSH
548 #pragma pack(pop)
549 #elif PRAGMA_STRUCT_PACK
550 #pragma pack()
551 #endif
552 
553 #ifdef PRAGMA_IMPORT_OFF
554 #pragma import off
555 #elif PRAGMA_IMPORT
556 #pragma import reset
557 #endif
558 
559 #ifdef __cplusplus
560 }
561 #endif
562 
563 #endif
564 * /
OSErr ResolveAliasFileWithMountFlagsNoUI(FSSpec *theSpec, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased, unsigned long mountFlags)
@ kARMMultVols
Definition: Aliases.h:62
@ kARMMountVol
Definition: Aliases.h:60
@ kARMSearch
Definition: Aliases.h:63
@ kARMSearchRelFirst
Definition: Aliases.h:65
@ kARMSearchMore
Definition: Aliases.h:64
@ kARMNoUI
Definition: Aliases.h:61
OSErr UpdateAlias(const FSSpec *fromFile, const FSSpec *target, AliasHandle alias, Boolean *wasChanged)
OSErr FSNewAliasMinimal(const FSRef *target, AliasHandle *inAlias)
OSErr NewAliasMinimalFromFullPath(short fullPathLength, const void *fullPath, ConstStr32Param zoneName, ConstStr31Param serverName, AliasHandle *alias)
OSErr FSNewAlias(const FSRef *fromFile, const FSRef *target, AliasHandle *inAlias)
OSErr ResolveAliasFileWithMountFlags(FSSpec *theSpec, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased, unsigned long mountFlags)
OSErr ResolveAliasFile(FSSpec *theSpec, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased)
Boolean InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr, AliasFilterUPP userUPP)
OSErr MatchAliasNoUI(const FSSpec *fromFile, unsigned long rulesMask, AliasHandle alias, short *aliasCount, FSSpecArrayPtr aliasList, Boolean *needsUpdate, AliasFilterUPP aliasFilter, void *yourDataPtr)
OSErr IsAliasFile(const FSSpec *fileFSSpec, Boolean *aliasFileFlag, Boolean *folderFlag)
OSErr FSResolveAliasFile(FSRef *theRef, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased)
OSErr FSResolveAliasFileWithMountFlags(FSRef *theRef, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased, unsigned long mountFlags)
void DisposeAliasFilterUPP(AliasFilterUPP userUPP)
OSErr FSResolveAliasWithMountFlags(const FSRef *fromFile, AliasHandle inAlias, FSRef *target, Boolean *wasChanged, unsigned long mountFlags)
#define NewAliasFilterUPP(userRoutine)
Definition: Aliases.h:323
OSErr ResolveAliasWithMountFlags(const FSSpec *fromFile, AliasHandle alias, FSSpec *target, Boolean *wasChanged, unsigned long mountFlags)
@ asiAliasName
Definition: Aliases.h:74
@ asiParentName
Definition: Aliases.h:75
@ asiVolumeName
Definition: Aliases.h:73
@ asiZoneName
Definition: Aliases.h:71
@ asiServerName
Definition: Aliases.h:72
OSErr FollowFinderAlias(const FSSpec *fromFile, AliasHandle alias, Boolean logon, FSSpec *target, Boolean *wasChanged)
OSErr FSResolveAlias(const FSRef *fromFile, AliasHandle alias, FSRef *target, Boolean *wasChanged)
OSErr MatchAlias(const FSSpec *fromFile, unsigned long rulesMask, AliasHandle alias, short *aliasCount, FSSpecArrayPtr aliasList, Boolean *needsUpdate, AliasFilterUPP aliasFilter, void *yourDataPtr)
OSErr FSIsAliasFile(const FSRef *fileRef, Boolean *aliasFileFlag, Boolean *folderFlag)
OSErr FSUpdateAlias(const FSRef *fromFile, const FSRef *target, AliasHandle alias, Boolean *wasChanged)
OSErr GetAliasInfo(AliasHandle alias, AliasInfoType index, Str63 theString)
Get information from an AliasRecord.
OSErr ResolveAlias(const FSSpec *fromFile, AliasHandle alias, FSSpec *target, Boolean *wasChanged)
short AliasInfoType
Definition: Aliases.h:95
OSErr NewAliasMinimal(const FSSpec *target, AliasHandle *alias)
OSErr FSFollowFinderAlias(FSRef *fromFile, AliasHandle alias, Boolean logon, FSRef *target, Boolean *wasChanged)
OSErr NewAlias(const FSSpec *fromFile, const FSSpec *target, AliasHandle *alias)
File Manager (MFS, HFS, and HFS+) Interfaces.
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Definition: Aliases.h:87
unsigned short aliasSize
Definition: Aliases.h:89
Definition: Files.h:6527