Mac-Carbon

 view release on metacpan or  search on metacpan

Files/Files.pm  view on Meta::CPAN

=item kHasNoINITs

Files only (Extensions/Control Panels only); this file contains no INIT resource

=cut

sub kHasNoINITs () { 0x0080 }

=item kHasBeenInited

Files only; clear if the file contains desktop database; resources ('BNDL', 'FREF', 'open', 'kind'...) that have not been added yet. Set only by the Finder; reserved for folders - make sure this bit is cleared for folders; bit 0x0200 was the letter b...

=cut

sub kHasBeenInited () { 0x0100 }

=item kHasCustomIcon

Files and folders

=cut

Files/Files.pm  view on Meta::CPAN

=item kSystemFolderType

the system folder

=cut

sub kSystemFolderType () { 'macs' }

=item kDesktopFolderType

the desktop folder; objects in this folder show on the desk top.

=cut

sub kDesktopFolderType () { 'desk' }

=item kSystemDesktopFolderType

the desktop folder at the root of the hard drive, never the redirected user desktop folder

=cut

sub kSystemDesktopFolderType () { 'sdsk' }

=item kTrashFolderType

the trash folder; objects in this folder show up in the trash

=cut

Files/Files.pm  view on Meta::CPAN

=item kPrivateFrameworksFolderType

Contains Mac OS X Private Framework folders

=cut

sub kPrivateFrameworksFolderType () { 'pfrm' }

=item kClassicDesktopFolderType

Mac OS 9 compatible desktop folder - same as kSystemDesktopFolderType but with a more appropriate name for Mac OS X code.

=cut

sub kClassicDesktopFolderType () { 'sdsk' }

=item kDeveloperFolderType

Contains Mac OS X Developer Resources

=cut

MoreFiles/MF.xs  view on Meta::CPAN

	CODE:
	gMFProc = iterateFilter;
	RETVAL = FSpIterateDirectory(&spec, maxLevels, (IterateFilterProcPtr)MFIterateFilter, yourDataPtr);
	OUTPUT:
	RETVAL

=item FSpDTGetAPPL VOLUME, CREATOR

The FSpDTGetAPPL function finds an application (file type 'APPL') with
the specified CREATOR on the specified VOLUME. It first tries to get
the application mapping from the desktop database. If that fails, then
it tries to find an application with the specified creator using
the File Manager's CatSearch() routine. If that fails, then it tries to
find an application in the Desktop file.
Returns FSSpec or C<undef> on failure.

=cut
FSSpec	
FSpDTGetAPPL(volume, creator)
	SV *			volume
	OSType		creator

MoreFiles/MF.xs  view on Meta::CPAN

	FSSpec	&spec
	CODE:
	if (gMacPerl_OSErr = FSpDTGetComment(&spec, RETVAL)) {
		XSRETURN_UNDEF;
	}
	OUTPUT:
	RETVAL

=item FSpDTCopyComment SRCSPEC, DSTSPEC

The FSpDTCopyComment function copies the desktop database comment from
the source to the destination object.  Both the source and the
destination volumes must support the Desktop Manager.

=cut
MacOSRet
FSpDTCopyComment(srcSpec, dstSpec)
	FSSpec	&srcSpec
	FSSpec	&dstSpec

=back

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN


#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#endif

/*****************************************************************************/

/* static prototypes */

static	OSErr	GetDesktopFileName(short vRefNum,
								   Str255 desktopName);

static	OSErr	GetAPPLFromDesktopFile(ConstStr255Param volName,
									   short vRefNum,
									   OSType creator,
									   short *applVRefNum,
									   long *applParID,
									   Str255 applName);

static	OSErr	FindBundleGivenCreator(OSType creator,
									   BNDLRecHandle *returnBndl);

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

										  Str255 comment);

/*****************************************************************************/

/*
**	GetDesktopFileName
**
**	Get the name of the Desktop file.
*/
static	OSErr	GetDesktopFileName(short vRefNum,
								   Str255 desktopName)
{
	OSErr			error;
	HParamBlockRec	pb;
	short			index;
	Boolean			found;
	
	pb.fileParam.ioNamePtr = desktopName;
	pb.fileParam.ioVRefNum = vRefNum;
	pb.fileParam.ioFVersNum = 0;
	index = 1;
	found = false;
	do
	{
		pb.fileParam.ioDirID = fsRtDirID;
		pb.fileParam.ioFDirIndex = index;
		error = PBHGetFInfoSync(&pb);
		if ( error == noErr )

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

	/* Check for volume Desktop Manager support before calling */
	infoSize = sizeof(GetVolParmsInfoBuffer);
	error = HGetVolParms(volName, vRefNum, &volParmsInfo, &infoSize);
	if ( error == noErr )
	{
		if ( hasDesktopMgr(volParmsInfo) )
		{
			pb.ioNamePtr = (StringPtr)volName;
			pb.ioVRefNum = vRefNum;
			error = PBDTOpenInform(&pb);
			/* PBDTOpenInform informs us if the desktop was just created */
			/* by leaving the low bit of ioTagInfo clear (0) */
			*newDTDatabase = ((pb.ioTagInfo & 1L) == 0);
			if ( error == paramErr )
			{
				error = PBDTGetPath(&pb);
				/* PBDTGetPath doesn't tell us if the database is new */
				/* so assume it is not new */
				*newDTDatabase = false;
			}
			*dtRefNum = pb.ioDTRefNum;

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

*/
static	OSErr	GetAPPLFromDesktopFile(ConstStr255Param volName,
									   short vRefNum,
									   OSType creator,
									   short *applVRefNum,
									   long *applParID,
									   Str255 applName)
{
	OSErr error;
	short realVRefNum;
	Str255 desktopName;
	short savedResFile;
	short dfRefNum;
	Handle applResHandle;
	Boolean foundCreator;
	Ptr applPtr;
	long applSize;
	
	error = DetermineVRefNum(volName, vRefNum, &realVRefNum);
	if ( error == noErr )
	{
		error = GetDesktopFileName(realVRefNum, desktopName);
		if ( error == noErr )
		{
			savedResFile = CurResFile();
			/*
			**	Open the 'Desktop' file in the root directory. (because
			**	opening the resource file could preload unwanted resources,
			**	bracket the call with SetResLoad(s))
			*/
			SetResLoad(false);
			dfRefNum = HOpenResFile(realVRefNum, fsRtDirID, desktopName, fsRdPerm);
			SetResLoad(true);
			
			if ( dfRefNum != -1)
			{
				/* Get 'APPL' resource ID 0 */
				applResHandle = Get1Resource(kAPPLResType, 0);
				if ( applResHandle != NULL )
				{
					applSize = GetHandleSize((Handle)applResHandle);
					if ( applSize != 0 )	/* make sure the APPL resource isn't empty */

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

**
**	INPUT a pointer to a non-existent Handle, because we'll allocate one
**
**	search each BNDL resource for the right fileCreator and once we get it
**		find the 'FREF' type in BNDL
**		for each localID in the type, open the FREF resource
**			if the FREF is the desired fileType
**				get its icon localID
**				get the ICN# type in BNDL
**				get the icon resource number from the icon localID
**				get the icon resource type from the desktop mgr's iconType
**				get the icon of that type and number
*/
static	OSErr	GetIconFromDesktopFile(ConstStr255Param volName,
									   short vRefNum,
									   short iconType,
									   OSType fileCreator,
									   OSType fileType,
									   Handle *iconHandle)
{
	OSErr			error;
	short			realVRefNum;
	Str255			desktopName;
	short			savedResFile;
	short			dfRefNum;
	BNDLRecHandle	theBndl = NULL;
	BundleTypePtr	theBundleType;
	short			iconLocalID;
	short			iconRsrcID;
	OSType			iconRsrcType;
	Handle			returnIconHandle;	
	char			bndlState;
	
	*iconHandle = NULL;
	
	error = DetermineVRefNum(volName, vRefNum, &realVRefNum);
	if ( error == noErr )
	{
		error = GetDesktopFileName(realVRefNum, desktopName);
		if ( error == noErr )
		{
			savedResFile = CurResFile();
		
			/*
			**	Open the 'Desktop' file in the root directory. (because
			**	opening the resource file could preload unwanted resources,
			**	bracket the call with SetResLoad(s))
			*/
			SetResLoad(false);
			dfRefNum = HOpenResFile(realVRefNum, fsRtDirID, desktopName, fsRdPerm);
			SetResLoad(true);
		
			if ( dfRefNum != -1 )
			{
				/*
				**	Find the BNDL resource with the specified creator.
				*/
				error = FindBundleGivenCreator(fileCreator, &theBndl);
				if ( error == noErr )
				{

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

	OSErr error;
	DTPBRec pb;
	short dtRefNum;
	Boolean newDTDatabase;
	Size bufferSize;
	
	*iconHandle = NULL;
	error = DTOpen(volName, vRefNum, &dtRefNum, &newDTDatabase);
	if ( error == noErr )
	{
		/* there was a desktop database and it's now open */
		
		if ( !newDTDatabase )	/* don't bother to look in a new (empty) database */
		{
			/* get the buffer size for the requested icon type */
			switch ( iconType )
			{
				case kLargeIcon:
					bufferSize = kLargeIconSize;
					break;
				case kLarge4BitIcon:

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

					error = memFullErr;	/* handle could not be allocated */
				}
			}
			else
			{
				error = paramErr;	/* unknown icon type requested */
			}
		}
		else
		{
			error = afpItemNotFound;	/* the desktop database was empty - nothing to return */
		}
	}
	else
	{
		/* There is no desktop database - try the Desktop file */
		
		error = GetIconFromDesktopFile(volName, vRefNum, iconType,
										fileCreator, fileType, iconHandle);
	}
	
	return ( error );
}

/*****************************************************************************/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

**	Desktop file's 'FCMT' resources.
*/
static	OSErr	GetCommentFromDesktopFile(short vRefNum,
										  long dirID,
										  ConstStr255Param name,
										  Str255 comment)
{
	OSErr error;
	short commentID;
	short realVRefNum;
	Str255 desktopName;
	short savedResFile;
	short dfRefNum;
	StringHandle commentHandle;
	
	/* Get the comment ID number */
	error = GetCommentID(vRefNum, dirID, name, &commentID);
	if ( error == noErr )
	{
		if ( commentID != 0 )	/* commentID == 0 means there's no comment */
		{
			error = DetermineVRefNum(name, vRefNum, &realVRefNum);
			if ( error == noErr )
			{
				error = GetDesktopFileName(realVRefNum, desktopName);
				if ( error == noErr )
				{
					savedResFile = CurResFile();
					/*
					**	Open the 'Desktop' file in the root directory. (because
					**	opening the resource file could preload unwanted resources,
					**	bracket the call with SetResLoad(s))
					*/
					SetResLoad(false);
					dfRefNum = HOpenResFile(realVRefNum, fsRtDirID, desktopName, fsRdPerm);
					SetResLoad(true);
					
					if ( dfRefNum != -1)
					{
						/* Get the comment resource */
						commentHandle = (StringHandle)Get1Resource(kFCMTResType,commentID);
						if ( commentHandle != NULL )
						{
							if ( GetHandleSize((Handle)commentHandle) > 0 )
							{

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

{
	DTPBRec pb;
	OSErr error;
	short dtRefNum;
	Boolean newDTDatabase;

	if (comment != NULL)
	{
		comment[0] = 0;	/* return nothing by default */
		
		/* attempt to open the desktop database */
		error = DTOpen(name, vRefNum, &dtRefNum, &newDTDatabase);
		if ( error == noErr )
		{
			/* There was a desktop database and it's now open */
			
			if ( !newDTDatabase )
			{
				pb.ioDTRefNum = dtRefNum;
				pb.ioNamePtr = (StringPtr)name;
				pb.ioDirID = dirID;
				pb.ioDTBuffer = (Ptr)&comment[1];
				/*
				**	IMPORTANT NOTE #1: Inside Macintosh says that comments
				**	are up to 200 characters. While that may be correct for

MoreFiles/MoreFilesSrc/MoreDesktopMgr.c  view on Meta::CPAN

				pb.ioDTReqCount = sizeof(Str255) - 1;
				error = PBDTGetCommentSync(&pb);
				if (error == noErr)
				{
					comment[0] = (unsigned char)pb.ioDTActCount;
				}
			}
		}
		else
		{
			/* There is no desktop database - try the Desktop file */
			error = GetCommentFromDesktopFile(vRefNum, dirID, name, comment);
			if ( error != noErr )
			{
				error = afpItemNotFound;	/* return an expected error */
			}
		}
	}
	else
	{
		error = paramErr;

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

#ifdef __cplusplus
extern "C" {
#endif

/*****************************************************************************/

pascal	OSErr	DTOpen(ConstStr255Param volName,
					   short vRefNum,
					   short *dtRefNum,
					   Boolean *newDTDatabase);
/*	¦ Open a volume's desktop database and return the desktop database refNum.
	The DTOpen function opens a volume's desktop database. It returns
	the reference number of the desktop database and indicates if the
	desktop database was created as a result of this call (if it was created,
	then it is empty).

	volName			input:	A pointer to the name of a mounted volume
							or nil.
	vRefNum			input:	Volume specification.
	dtRefNum		output:	The reference number of Desktop Manager's
							desktop database on the specified volume.
	newDTDatabase	output:	true if the desktop database was created as a
							result of this call and thus empty.
							false if the desktop database was already created,
							or if it could not be determined if it was already
							created.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		Volume doesn't support this function
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
*/

/*****************************************************************************/

pascal	OSErr	DTXGetAPPL(ConstStr255Param volName,
						   short vRefNum,
						   OSType creator,
						   Boolean searchCatalog,
						   short *applVRefNum,
						   long *applParID,
						   Str255 applName);
/*	¦ Find an application on a volume that can open a file with a given creator.
	The DTXGetAPPL function finds an application (file type 'APPL') with
	the specified creator on the specified volume. It first tries to get
	the application mapping from the desktop database. If that fails,
	then it tries to find an application in the Desktop file. If that
	fails and searchCatalog is true, then it tries to find an application
	with the specified creator using the File Manager's CatSearch routine. 

	volName			input:	A pointer to the name of a mounted volume
							or nil.
	vRefNum			input:	Volume specification.
	creator			input:	The file's creator type.
	searchCatalog	input:	If true, search the catalog for the application
							if it isn't found in the desktop database.
	applVRefNum		output:	The volume reference number of the volume the
							application is on.
	applParID		output:	The parent directory ID of the application.
	applName		output:	The name of the application.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		No default volume
		rfNumErr			-51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
	
	__________
	
	Also see:	FSpDTGetAPPL
*/

/*****************************************************************************/

pascal	OSErr	FSpDTXGetAPPL(ConstStr255Param volName,
							  short vRefNum,
							  OSType creator,
							  Boolean searchCatalog,
							  FSSpec *spec);
/*	¦ Find an application on a volume that can open a file with a given creator.
	The FSpDTXGetAPPL function finds an application (file type 'APPL') with
	the specified creator on the specified volume. It first tries to get
	the application mapping from the desktop database. If that fails,
	then it tries to find an application in the Desktop file. If that
	fails and searchCatalog is true, then it tries to find an application
	with the specified creator using the File Manager's CatSearch routine. 

	volName			input:	A pointer to the name of a mounted volume
							or nil.
	vRefNum			input:	Volume specification.
	creator			input:	The file's creator type.
	searchCatalog	input:	If true, search the catalog for the application
							if it isn't found in the desktop database.
	spec			output:	FSSpec record containing the application name and
							location.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		No default volume
		rfNumErr			-51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
	
	__________
	
	Also see:	FSpDTGetAPPL
*/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN


pascal	OSErr	DTGetAPPL(ConstStr255Param volName,
						  short vRefNum,
						  OSType creator,
						  short *applVRefNum,
						  long *applParID,
						  Str255 applName);
/*	¦ Find an application on a volume that can open a file with a given creator.
	The DTGetAPPL function finds an application (file type 'APPL') with
	the specified creator on the specified volume. It first tries to get
	the application mapping from the desktop database. If that fails,
	then it tries to find an application in the Desktop file. If that
	fails, then it tries to find an application with the specified creator
	using the File Manager's CatSearch routine. 

	volName		input:	A pointer to the name of a mounted volume
						or nil.
	vRefNum		input:	Volume specification.
	creator		input:	The file's creator type.
	applVRefNum	output:	The volume reference number of the volume the
						application is on.

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

	applName	output:	The name of the application.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		No default volume
		rfNumErr			-51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
	
	__________
	
	Also see:	FSpDTGetAPPL
*/

/*****************************************************************************/

pascal	OSErr	FSpDTGetAPPL(ConstStr255Param volName,
							 short vRefNum,
							 OSType creator,
							 FSSpec *spec);
/*	¦ Find an application on a volume that can open a file with a given creator.
	The FSpDTGetAPPL function finds an application (file type 'APPL') with
	the specified creator on the specified volume. It first tries to get
	the application mapping from the desktop database. If that fails,
	then it tries to find an application in the Desktop file. If that
	fails, then it tries to find an application with the specified creator
	using the File Manager's CatSearch routine. 

	volName		input:	A pointer to the name of a mounted volume
						or nil.
	vRefNum		input:	Volume specification.
	creator		input:	The file's creator type.
	spec		output:	FSSpec record containing the application name and
						location.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		No default volume
		rfNumErr			-51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
	
	__________
	
	Also see:	DTGetAPPL
*/

/*****************************************************************************/

pascal	OSErr	DTGetIcon(ConstStr255Param volName,
						  short vRefNum,
						  short iconType,
						  OSType fileCreator,
						  OSType fileType,
						  Handle *iconHandle);
/*	¦ Get an icon from the desktop database or Desktop file.
	The DTGetIcon function retrieves the specified icon and returns it in
	a newly created handle. The icon is retrieves from the Desktop Manager
	or if the Desktop Manager is not available, from the Finder's Desktop
	file. Your program is responsible for disposing of the handle when it is
	done using the icon.

	volName		input:	A pointer to the name of a mounted volume
						or nil.
	vRefNum		input:	Volume specification.
	iconType	input:	The icon type as defined in Files.h. Valid values are:

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		paramErr			-50		Volume doesn't support this function
		rfNumErr			-51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call
		memFullErr			-108	iconHandle could not be allocated
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
*/

/*****************************************************************************/

pascal	OSErr	DTSetComment(short vRefNum,
							 long dirID,

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				Ð43		File or directory doesnÕt exist
		paramErr			-50		Volume doesn't support this function
		wPrErr				Ð44		Volume is locked through hardware
		vLckdErr			Ð46		Volume is locked through software
		rfNumErr			Ð51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
	
	__________
	
	Also see:	DTCopyComment, FSpDTCopyComment, FSpDTSetComment, DTGetComment,
				FSpDTGetComment
*/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				Ð43		File or directory doesnÕt exist
		wPrErr				Ð44		Volume is locked through hardware
		vLckdErr			Ð46		Volume is locked through software
		rfNumErr			Ð51		Reference number invalid
		paramErr			-50		Volume doesn't support this function
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
	
	__________
	
	Also see:	DTCopyComment, FSpDTCopyComment, DTSetComment, DTGetComment,
				FSpDTGetComment
*/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				-43		File not found
		paramErr			-50		Volume doesn't support this function
		rfNumErr			Ð51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
		
	__________
	
	Also see:	DTCopyComment, FSpDTCopyComment, DTSetComment, FSpDTSetComment,
				FSpDTGetComment
*/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN


	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				-43		File not found
		paramErr			-50		Volume doesn't support this function
		rfNumErr			Ð51		Reference number invalid
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
		
	__________
	
	Also see:	DTCopyComment, FSpDTCopyComment, DTSetComment, FSpDTSetComment,
				DTGetComment
*/

MoreFiles/MoreFilesSrc/MoreDesktopMgr.h  view on Meta::CPAN

		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				Ð43		File or directory doesnÕt exist
		wPrErr				Ð44		Volume is locked through hardware
		vLckdErr			Ð46		Volume is locked through software
		paramErr			-50		Volume doesn't support this function
		rfNumErr			Ð51		Reference number invalid
		paramErr			-50		Volume doesn't support this function
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
		
	__________
	
	Also see:	FSpDTCopyComment, DTSetComment, FSpDTSetComment, DTGetComment,
				FSpDTGetComment
*/

/*****************************************************************************/

pascal	OSErr	FSpDTCopyComment(const FSSpec *srcSpec,
								 const FSSpec *dstSpec);
/*	¦ Copy the desktop database comment from the source to the destination object.
	The FSpDTCopyComment function copies the desktop database comment from
	the source to the destination object.  Both the source and the
	destination volumes must support the Desktop Manager.
	
	srcSpec		input:	An FSSpec record specifying the source object.
	dstSpec		input:	An FSSpec record specifying the destination object.
	
	Result Codes
		noErr				0		No error
		nsvErr				-35		Volume not found
		ioErr				-36		I/O error
		fnfErr				Ð43		File or directory doesnÕt exist
		wPrErr				Ð44		Volume is locked through hardware
		vLckdErr			Ð46		Volume is locked through software
		paramErr			-50		Volume doesn't support this function
		rfNumErr			Ð51		Reference number invalid
		paramErr			-50		Volume doesn't support this function
		extFSErr			-58		External file system error - no file
									system claimed this call.
		desktopDamagedErr	-1305	The desktop database has become corrupted - 
									the Finder will fix this, but if your
									application is not running with the
									Finder, use PBDTReset or PBDTDelete
		afpItemNotFound		-5012	Information not found
		
	__________
	
	Also see:	DTCopyComment, DTSetComment, FSpDTSetComment, DTGetComment,
				FSpDTGetComment
*/



( run in 0.294 second using v1.01-cache-2.11-cpan-299005ec8e3 )