view dstep/coreservices/launchservices/IconsCore.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Jul 22, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.coreservices.launchservices.IconsCore;

//import dstep.AvailabilityMacros;
import dstep.coreservices.carboncore.CarbonCore;
import dstep.coreservices.osservices.OSServices;
import dstep.internal.Version;
import dstep.objc.bridge.TypeEncoding;

struct OpaqueIconRef;

alias OpaqueIconRef* IconRef;
alias uint IconServicesUsageFlags;

// This is needed otherwise the enums will fail compiling with gdc
version (GNU)
{
	private
	{
		const __kSystemIconsCreator = getOSType!("macs");
		const __kClipboardIcon = getOSType!("CLIP");
		const __kClippingUnknownTypeIcon = getOSType!("clpu");
		const __kClippingPictureTypeIcon = getOSType!("clpp");
		const __kClippingTextTypeIcon = getOSType!("clpt");
		const __kClippingSoundTypeIcon = getOSType!("clps");
		const __kDesktopIcon = getOSType!("desk");
		const __kFinderIcon = getOSType!("FNDR");
		const __kComputerIcon = getOSType!("root");
		const __kFontSuitcaseIcon = getOSType!("FFIL");
		const __kFullTrashIcon = getOSType!("ftrh");
		const __kGenericApplicationIcon = getOSType!("APPL");
		const __kGenericCDROMIcon = getOSType!("cddr");
		const __kGenericControlPanelIcon = getOSType!("APPC");
		const __kGenericControlStripModuleIcon = getOSType!("sdev");
		const __kGenericComponentIcon = getOSType!("thng");
		const __kGenericDeskAccessoryIcon = getOSType!("APPD");
		const __kGenericDocumentIcon = getOSType!("docu");
		const __kGenericEditionFileIcon = getOSType!("edtf");
		const __kGenericExtensionIcon = getOSType!("INIT");
		const __kGenericFileServerIcon = getOSType!("srvr");
		const __kGenericFontIcon = getOSType!("ffil");
		const __kGenericFontScalerIcon = getOSType!("sclr");
		const __kGenericFloppyIcon = getOSType!("flpy");
		const __kGenericHardDiskIcon = getOSType!("hdsk");
		const __kGenericIDiskIcon = getOSType!("idsk");
		const __kGenericRemovableMediaIcon = getOSType!("rmov");
		const __kGenericMoverObjectIcon = getOSType!("movr");
		const __kGenericPCCardIcon = getOSType!("pcmc");
		const __kGenericPreferencesIcon = getOSType!("pref");
		const __kGenericQueryDocumentIcon = getOSType!("qery");
		const __kGenericRAMDiskIcon = getOSType!("ramd");
		const __kGenericSharedLibaryIcon = getOSType!("shlb");
		const __kGenericStationeryIcon = getOSType!("sdoc");
		const __kGenericSuitcaseIcon = getOSType!("suit");
		const __kGenericURLIcon = getOSType!("gurl");
		const __kGenericWORMIcon = getOSType!("worm");
		const __kInternationalResourcesIcon = getOSType!("ifil");
		const __kKeyboardLayoutIcon = getOSType!("kfil");
		const __kSoundFileIcon = getOSType!("sfil");
		const __kSystemSuitcaseIcon = getOSType!("zsys");
		const __kTrashIcon = getOSType!("trsh");
		const __kTrueTypeFontIcon = getOSType!("tfil");
		const __kTrueTypeFlatFontIcon = getOSType!("sfnt");
		const __kTrueTypeMultiFlatFontIcon = getOSType!("ttcf");
		const __kUserIDiskIcon = getOSType!("udsk");
		const __kUnknownFSObjectIcon = getOSType!("unfs");
		const __kInternetLocationHTTPIcon = getOSType!("ilht");
		const __kInternetLocationFTPIcon = getOSType!("ilft");
		const __kInternetLocationAppleShareIcon = getOSType!("ilaf");
		const __kInternetLocationAppleTalkZoneIcon = getOSType!("ilat");
		const __kInternetLocationFileIcon = getOSType!("ilfi");
		const __kInternetLocationMailIcon = getOSType!("ilma");
		const __kInternetLocationNewsIcon = getOSType!("ilnw");
		const __kInternetLocationNSLNeighborhoodIcon = getOSType!("ilns");
		const __kInternetLocationGenericIcon = getOSType!("ilge");
		const __kGenericFolderIcon = getOSType!("fldr");
		const __kDropFolderIcon = getOSType!("dbox");
		const __kMountedFolderIcon = getOSType!("mntd");
		const __kOpenFolderIcon = getOSType!("ofld");
		const __kOwnedFolderIcon = getOSType!("ownd");
		const __kPrivateFolderIcon = getOSType!("prvf");
		const __kSharedFolderIcon = getOSType!("shfl");
		const __kSharingPrivsNotApplicableIcon = getOSType!("shna");
		const __kSharingPrivsReadOnlyIcon = getOSType!("shro");
		const __kSharingPrivsReadWriteIcon = getOSType!("shrw");
		const __kSharingPrivsUnknownIcon = getOSType!("shuk");
		const __kSharingPrivsWritableIcon = getOSType!("writ");
		const __kUserFolderIcon = getOSType!("ufld");
		const __kWorkgroupFolderIcon = getOSType!("wfld");
		const __kGuestUserIcon = getOSType!("gusr");
		const __kUserIcon = getOSType!("user");
		const __kOwnerIcon = getOSType!("susr");
		const __kGroupIcon = getOSType!("grup");
		const __kAppearanceFolderIcon = getOSType!("appr");
		const __kAppleMenuFolderIcon = getOSType!("amnu");
		const __kApplicationsFolderIcon = getOSType!("apps");
		const __kApplicationSupportFolderIcon = getOSType!("asup");
		const __kColorSyncFolderIcon = getOSType!("prof");
		const __kContextualMenuItemsFolderIcon = getOSType!("cmnu");
		const __kControlPanelDisabledFolderIcon = getOSType!("ctrD");
		const __kControlPanelFolderIcon = getOSType!("ctrl");
		const __kDocumentsFolderIcon = getOSType!("docs");
		const __kExtensionsDisabledFolderIcon = getOSType!("extD");
		const __kExtensionsFolderIcon = getOSType!("extn");
		const __kFavoritesFolderIcon = getOSType!("favs");
		const __kFontsFolderIcon = getOSType!("font");
		const __kInternetSearchSitesFolderIcon = getOSType!("issf");
		const __kPublicFolderIcon = getOSType!("pubf");
		const __kPrinterDescriptionFolderIcon = getOSType!("ppdf");
		const __kPrintMonitorFolderIcon = getOSType!("prnt");
		const __kRecentApplicationsFolderIcon = getOSType!("rapp");
		const __kRecentDocumentsFolderIcon = getOSType!("rdoc");
		const __kRecentServersFolderIcon = getOSType!("rsrv");
		const __kShutdownItemsDisabledFolderIcon = getOSType!("shdD");
		const __kShutdownItemsFolderIcon = getOSType!("shdf");
		const __kSpeakableItemsFolder = getOSType!("spki");
		const __kStartupItemsDisabledFolderIcon = getOSType!("strD");
		const __kStartupItemsFolderIcon = getOSType!("strt");
		const __kSystemExtensionDisabledFolderIcon = getOSType!("macD");
		const __kSystemFolderIcon = getOSType!("macs");
		const __kVoicesFolderIcon = getOSType!("fvoc");
		const __kAppleScriptBadgeIcon = getOSType!("scrp");
		const __kLockedBadgeIcon = getOSType!("lbdg");
		const __kMountedBadgeIcon = getOSType!("mbdg");
		const __kSharedBadgeIcon = getOSType!("sbdg");
		const __kAliasBadgeIcon = getOSType!("abdg");
		const __kAlertCautionBadgeIcon = getOSType!("cbdg");
		const __kAlertNoteIcon = getOSType!("note");
		const __kAlertCautionIcon = getOSType!("caut");
		const __kAlertStopIcon = getOSType!("stop");
		const __kAppleTalkIcon = getOSType!("atlk");
		const __kAppleTalkZoneIcon = getOSType!("atzn");
		const __kAFPServerIcon = getOSType!("afps");
		const __kFTPServerIcon = getOSType!("ftps");
		const __kHTTPServerIcon = getOSType!("htps");
		const __kGenericNetworkIcon = getOSType!("gnet");
		const __kIPFileServerIcon = getOSType!("isrv");
		const __kToolbarCustomizeIcon = getOSType!("tcus");
		const __kToolbarDeleteIcon = getOSType!("tdel");
		const __kToolbarFavoritesIcon = getOSType!("tfav");
		const __kToolbarHomeIcon = getOSType!("thom");
		const __kAppleLogoIcon = getOSType!("capl");
		const __kAppleMenuIcon = getOSType!("sapl");
		const __kBackwardArrowIcon = getOSType!("baro");
		const __kFavoriteItemsIcon = getOSType!("favr");
		const __kForwardArrowIcon = getOSType!("faro");
		const __kGridIcon = getOSType!("grid");
		const __kHelpIcon = getOSType!("help");
		const __kKeepArrangedIcon = getOSType!("arng");
		const __kLockedIcon = getOSType!("lock");
		const __kNoFilesIcon = getOSType!("nfil");
		const __kNoFolderIcon = getOSType!("nfld");
		const __kNoWriteIcon = getOSType!("nwrt");
		const __kProtectedApplicationFolderIcon = getOSType!("papp");
		const __kProtectedSystemFolderIcon = getOSType!("psys");
		const __kRecentItemsIcon = getOSType!("rcnt");
		const __kShortcutIcon = getOSType!("shrt");
		const __kSortAscendingIcon = getOSType!("asnd");
		const __kSortDescendingIcon = getOSType!("dsnd");
		const __kUnlockedIcon = getOSType!("ulck");
		const __kConnectToIcon = getOSType!("cnct");
		const __kGenericWindowIcon = getOSType!("gwin");
		const __kQuestionMarkIcon = getOSType!("ques");
		const __kDeleteAliasIcon = getOSType!("dali");
		const __kEjectMediaIcon = getOSType!("ejec");
		const __kBurningIcon = getOSType!("burn");
		const __kRightContainerArrowIcon = getOSType!("rcar");
	}
}

enum
{
	kGenericDocumentIconResource = -4000,
	kGenericStationeryIconResource = -3985,
	kGenericEditionFileIconResource = -3989,
	kGenericApplicationIconResource = -3996,
	kGenericDeskAccessoryIconResource = -3991,
	kGenericFolderIconResource = -3999,
	kPrivateFolderIconResource = -3994,
	kFloppyIconResource = -3998,
	kTrashIconResource = -3993,
	kGenericRAMDiskIconResource = -3988,
	kGenericCDROMIconResource = -3987
}

enum
{
	kDesktopIconResource = -3992,
	kOpenFolderIconResource = -3997,
	kGenericHardDiskIconResource = -3995,
	kGenericFileServerIconResource = -3972,
	kGenericSuitcaseIconResource = -3970,
	kGenericMoverObjectIconResource = -3969
}

enum
{
	kGenericPreferencesIconResource = -3971,
	kGenericQueryDocumentIconResource = -16506,
	kGenericExtensionIconResource = -16415,
	kSystemFolderIconResource = -3983,
	kHelpIconResource = -20271,
	kAppleMenuFolderIconResource = -3982
}

enum
{
	genericDocumentIconResource = kGenericDocumentIconResource,
	genericStationeryIconResource = kGenericStationeryIconResource,
	genericEditionFileIconResource = kGenericEditionFileIconResource,
	genericApplicationIconResource = kGenericApplicationIconResource,
	genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
	genericFolderIconResource = kGenericFolderIconResource,
	privateFolderIconResource = kPrivateFolderIconResource,
	floppyIconResource = kFloppyIconResource,
	trashIconResource = kTrashIconResource,
	genericRAMDiskIconResource = kGenericRAMDiskIconResource,
	genericCDROMIconResource = kGenericCDROMIconResource,
	desktopIconResource = kDesktopIconResource,
	openFolderIconResource = kOpenFolderIconResource,
	genericHardDiskIconResource = kGenericHardDiskIconResource,
	genericFileServerIconResource = kGenericFileServerIconResource,
	genericSuitcaseIconResource = kGenericSuitcaseIconResource,
	genericMoverObjectIconResource = kGenericMoverObjectIconResource,
	genericPreferencesIconResource = kGenericPreferencesIconResource,
	genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
	genericExtensionIconResource = kGenericExtensionIconResource,
	systemFolderIconResource = kSystemFolderIconResource,
	appleMenuFolderIconResource = kAppleMenuFolderIconResource
}

enum
{
	kStartupFolderIconResource = -3981,
	kOwnedFolderIconResource = -3980,
	kDropFolderIconResource = -3979,
	kSharedFolderIconResource = -3978,
	kMountedFolderIconResource = -3977,
	kControlPanelFolderIconResource = -3976,
	kPrintMonitorFolderIconResource = -3975,
	kPreferencesFolderIconResource = -3974,
	kExtensionsFolderIconResource = -3973,
	kFontsFolderIconResource = -3968,
	kFullTrashIconResource = -3984
}

enum
{
	startupFolderIconResource = kStartupFolderIconResource,
	ownedFolderIconResource = kOwnedFolderIconResource,
	dropFolderIconResource = kDropFolderIconResource,
	sharedFolderIconResource = kSharedFolderIconResource,
	mountedFolderIconResource = kMountedFolderIconResource,
	controlPanelFolderIconResource = kControlPanelFolderIconResource,
	printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
	preferencesFolderIconResource = kPreferencesFolderIconResource,
	extensionsFolderIconResource = kExtensionsFolderIconResource,
	fontsFolderIconResource = kFontsFolderIconResource,
	fullTrashIconResource = kFullTrashIconResource
}

enum
{
	kSystemIconsCreator = getOSType!("macs")
}

enum
{
	kClipboardIcon = getOSType!("CLIP"),
	kClippingUnknownTypeIcon = getOSType!("clpu"),
	kClippingPictureTypeIcon = getOSType!("clpp"),
	kClippingTextTypeIcon = getOSType!("clpt"),
	kClippingSoundTypeIcon = getOSType!("clps"),
	kDesktopIcon = getOSType!("desk"),
	kFinderIcon = getOSType!("FNDR"),
	kComputerIcon = getOSType!("root"),
	kFontSuitcaseIcon = getOSType!("FFIL"),
	kFullTrashIcon = getOSType!("ftrh"),
	kGenericApplicationIcon = getOSType!("APPL"),
	kGenericCDROMIcon = getOSType!("cddr"),
	kGenericControlPanelIcon = getOSType!("APPC"),
	kGenericControlStripModuleIcon = getOSType!("sdev"),
	kGenericComponentIcon = getOSType!("thng"),
	kGenericDeskAccessoryIcon = getOSType!("APPD"),
	kGenericDocumentIcon = getOSType!("docu"),
	kGenericEditionFileIcon = getOSType!("edtf"),
	kGenericExtensionIcon = getOSType!("INIT"),
	kGenericFileServerIcon = getOSType!("srvr"),
	kGenericFontIcon = getOSType!("ffil"),
	kGenericFontScalerIcon = getOSType!("sclr"),
	kGenericFloppyIcon = getOSType!("flpy"),
	kGenericHardDiskIcon = getOSType!("hdsk"),
	kGenericIDiskIcon = getOSType!("idsk"),
	kGenericRemovableMediaIcon = getOSType!("rmov"),
	kGenericMoverObjectIcon = getOSType!("movr"),
	kGenericPCCardIcon = getOSType!("pcmc"),
	kGenericPreferencesIcon = getOSType!("pref"),
	kGenericQueryDocumentIcon = getOSType!("qery"),
	kGenericRAMDiskIcon = getOSType!("ramd"),
	kGenericSharedLibaryIcon = getOSType!("shlb"),
	kGenericStationeryIcon = getOSType!("sdoc"),
	kGenericSuitcaseIcon = getOSType!("suit"),
	kGenericURLIcon = getOSType!("gurl"),
	kGenericWORMIcon = getOSType!("worm"),
	kInternationalResourcesIcon = getOSType!("ifil"),
	kKeyboardLayoutIcon = getOSType!("kfil"),
	kSoundFileIcon = getOSType!("sfil"),
	kSystemSuitcaseIcon = getOSType!("zsys"),
	kTrashIcon = getOSType!("trsh"),
	kTrueTypeFontIcon = getOSType!("tfil"),
	kTrueTypeFlatFontIcon = getOSType!("sfnt"),
	kTrueTypeMultiFlatFontIcon = getOSType!("ttcf"),
	kUserIDiskIcon = getOSType!("udsk"),
	kUnknownFSObjectIcon = getOSType!("unfs"),
	kInternationResourcesIcon = kInternationalResourcesIcon
}

enum
{
	kInternetLocationHTTPIcon = getOSType!("ilht"),
	kInternetLocationFTPIcon = getOSType!("ilft"),
	kInternetLocationAppleShareIcon = getOSType!("ilaf"),
	kInternetLocationAppleTalkZoneIcon = getOSType!("ilat"),
	kInternetLocationFileIcon = getOSType!("ilfi"),
	kInternetLocationMailIcon = getOSType!("ilma"),
	kInternetLocationNewsIcon = getOSType!("ilnw"),
	kInternetLocationNSLNeighborhoodIcon = getOSType!("ilns"),
	kInternetLocationGenericIcon = getOSType!("ilge")
}

enum
{
	kGenericFolderIcon = getOSType!("fldr"),
	kDropFolderIcon = getOSType!("dbox"),
	kMountedFolderIcon = getOSType!("mntd"),
	kOpenFolderIcon = getOSType!("ofld"),
	kOwnedFolderIcon = getOSType!("ownd"),
	kPrivateFolderIcon = getOSType!("prvf"),
	kSharedFolderIcon = getOSType!("shfl")
}

enum
{
	kSharingPrivsNotApplicableIcon = getOSType!("shna"),
	kSharingPrivsReadOnlyIcon = getOSType!("shro"),
	kSharingPrivsReadWriteIcon = getOSType!("shrw"),
	kSharingPrivsUnknownIcon = getOSType!("shuk"),
	kSharingPrivsWritableIcon = getOSType!("writ")
}

enum
{
	kUserFolderIcon = getOSType!("ufld"),
	kWorkgroupFolderIcon = getOSType!("wfld"),
	kGuestUserIcon = getOSType!("gusr"),
	kUserIcon = getOSType!("user"),
	kOwnerIcon = getOSType!("susr"),
	kGroupIcon = getOSType!("grup")
}

static if (D_LP64)
{
	enum : long
	{
		kAppearanceFolderIcon = getOSType!("appr"),
		kAppleExtrasFolderIcon = 0x616578C4,
		kAppleMenuFolderIcon = getOSType!("amnu"),
		kApplicationsFolderIcon = getOSType!("apps"),
		kApplicationSupportFolderIcon = getOSType!("asup"),
		kAssistantsFolderIcon = 0x617374C4,
		kColorSyncFolderIcon = getOSType!("prof"),
		kContextualMenuItemsFolderIcon = getOSType!("cmnu"),
		kControlPanelDisabledFolderIcon = getOSType!("ctrD"),
		kControlPanelFolderIcon = getOSType!("ctrl"),
		kControlStripModulesFolderIcon = 0x736476C4,
		kDocumentsFolderIcon = getOSType!("docs"),
		kExtensionsDisabledFolderIcon = getOSType!("extD"),
		kExtensionsFolderIcon = getOSType!("extn"),
		kFavoritesFolderIcon = getOSType!("favs"),
		kFontsFolderIcon = getOSType!("font"),
		kHelpFolderIcon = 0xC4686C70,
		kInternetFolderIcon = 0x696E74C4,
		kInternetPlugInFolderIcon = 0xC46E6574,
		kInternetSearchSitesFolderIcon = getOSType!("issf"),
		kLocalesFolderIcon = 0xC46C6F63,
		kMacOSReadMeFolderIcon = 0x6D6F72C4,
		kPublicFolderIcon = getOSType!("pubf"),
		kPreferencesFolderIcon = 0x707266C4,
		kPrinterDescriptionFolderIcon = getOSType!("ppdf"),
		kPrinterDriverFolderIcon = 0xC4707264,
		kPrintMonitorFolderIcon = getOSType!("prnt"),
		kRecentApplicationsFolderIcon = getOSType!("rapp"),
		kRecentDocumentsFolderIcon = getOSType!("rdoc"),
		kRecentServersFolderIcon = getOSType!("rsrv"),
		kScriptingAdditionsFolderIcon = 0xC4736372,
		kSharedLibrariesFolderIcon = 0xC46C6962,
		kScriptsFolderIcon = 0x736372C4,
		kShutdownItemsDisabledFolderIcon = getOSType!("shdD"),
		kShutdownItemsFolderIcon = getOSType!("shdf"),
		kSpeakableItemsFolder = getOSType!("spki"),
		kStartupItemsDisabledFolderIcon = getOSType!("strD"),
		kStartupItemsFolderIcon = getOSType!("strt"),
		kSystemExtensionDisabledFolderIcon = getOSType!("macD"),
		kSystemFolderIcon = getOSType!("macs"),
		kTextEncodingsFolderIcon = 0xC4746578,
		kUsersFolderIcon = 0x757372C4,
		kUtilitiesFolderIcon = 0x757469C4,
		kVoicesFolderIcon = getOSType!("fvoc")
	}
}

else
{
	enum
	{
		kAppearanceFolderIcon = getOSType!("appr"),
		kAppleExtrasFolderIcon = 0x616578C4,
		kAppleMenuFolderIcon = getOSType!("amnu"),
		kApplicationsFolderIcon = getOSType!("apps"),
		kApplicationSupportFolderIcon = getOSType!("asup"),
		kAssistantsFolderIcon = 0x617374C4,
		kColorSyncFolderIcon = getOSType!("prof"),
		kContextualMenuItemsFolderIcon = getOSType!("cmnu"),
		kControlPanelDisabledFolderIcon = getOSType!("ctrD"),
		kControlPanelFolderIcon = getOSType!("ctrl"),
		kControlStripModulesFolderIcon = 0x736476C4,
		kDocumentsFolderIcon = getOSType!("docs"),
		kExtensionsDisabledFolderIcon = getOSType!("extD"),
		kExtensionsFolderIcon = getOSType!("extn"),
		kFavoritesFolderIcon = getOSType!("favs"),
		kFontsFolderIcon = getOSType!("font"),
		kHelpFolderIcon = 0xC4686C70,
		kInternetFolderIcon = 0x696E74C4,
		kInternetPlugInFolderIcon = 0xC46E6574,
		kInternetSearchSitesFolderIcon = getOSType!("issf"),
		kLocalesFolderIcon = 0xC46C6F63,
		kMacOSReadMeFolderIcon = 0x6D6F72C4,
		kPublicFolderIcon = getOSType!("pubf"),
		kPreferencesFolderIcon = 0x707266C4,
		kPrinterDescriptionFolderIcon = getOSType!("ppdf"),
		kPrinterDriverFolderIcon = 0xC4707264,
		kPrintMonitorFolderIcon = getOSType!("prnt"),
		kRecentApplicationsFolderIcon = getOSType!("rapp"),
		kRecentDocumentsFolderIcon = getOSType!("rdoc"),
		kRecentServersFolderIcon = getOSType!("rsrv"),
		kScriptingAdditionsFolderIcon = 0xC4736372,
		kSharedLibrariesFolderIcon = 0xC46C6962,
		kScriptsFolderIcon = 0x736372C4,
		kShutdownItemsDisabledFolderIcon = getOSType!("shdD"),
		kShutdownItemsFolderIcon = getOSType!("shdf"),
		kSpeakableItemsFolder = getOSType!("spki"),
		kStartupItemsDisabledFolderIcon = getOSType!("strD"),
		kStartupItemsFolderIcon = getOSType!("strt"),
		kSystemExtensionDisabledFolderIcon = getOSType!("macD"),
		kSystemFolderIcon = getOSType!("macs"),
		kTextEncodingsFolderIcon = 0xC4746578,
		kUsersFolderIcon = 0x757372C4,
		kUtilitiesFolderIcon = 0x757469C4,
		kVoicesFolderIcon = getOSType!("fvoc")
	}
}

enum
{
	kAppleScriptBadgeIcon = getOSType!("scrp"),
	kLockedBadgeIcon = getOSType!("lbdg"),
	kMountedBadgeIcon = getOSType!("mbdg"),
	kSharedBadgeIcon = getOSType!("sbdg"),
	kAliasBadgeIcon = getOSType!("abdg"),
	kAlertCautionBadgeIcon = getOSType!("cbdg")
}

enum
{
	kAlertNoteIcon = getOSType!("note"),
	kAlertCautionIcon = getOSType!("caut"),
	kAlertStopIcon = getOSType!("stop")
}

enum
{
	kAppleTalkIcon = getOSType!("atlk"),
	kAppleTalkZoneIcon = getOSType!("atzn"),
	kAFPServerIcon = getOSType!("afps"),
	kFTPServerIcon = getOSType!("ftps"),
	kHTTPServerIcon = getOSType!("htps"),
	kGenericNetworkIcon = getOSType!("gnet"),
	kIPFileServerIcon = getOSType!("isrv")
}

enum
{
	kToolbarCustomizeIcon = getOSType!("tcus"),
	kToolbarDeleteIcon = getOSType!("tdel"),
	kToolbarFavoritesIcon = getOSType!("tfav"),
	kToolbarHomeIcon = getOSType!("thom")
}

enum
{
	kAppleLogoIcon = getOSType!("capl"),
	kAppleMenuIcon = getOSType!("sapl"),
	kBackwardArrowIcon = getOSType!("baro"),
	kFavoriteItemsIcon = getOSType!("favr"),
	kForwardArrowIcon = getOSType!("faro"),
	kGridIcon = getOSType!("grid"),
	kHelpIcon = getOSType!("help"),
	kKeepArrangedIcon = getOSType!("arng"),
	kLockedIcon = getOSType!("lock"),
	kNoFilesIcon = getOSType!("nfil"),
	kNoFolderIcon = getOSType!("nfld"),
	kNoWriteIcon = getOSType!("nwrt"),
	kProtectedApplicationFolderIcon = getOSType!("papp"),
	kProtectedSystemFolderIcon = getOSType!("psys"),
	kRecentItemsIcon = getOSType!("rcnt"),
	kShortcutIcon = getOSType!("shrt"),
	kSortAscendingIcon = getOSType!("asnd"),
	kSortDescendingIcon = getOSType!("dsnd"),
	kUnlockedIcon = getOSType!("ulck"),
	kConnectToIcon = getOSType!("cnct"),
	kGenericWindowIcon = getOSType!("gwin"),
	kQuestionMarkIcon = getOSType!("ques"),
	kDeleteAliasIcon = getOSType!("dali"),
	kEjectMediaIcon = getOSType!("ejec"),
	kBurningIcon = getOSType!("burn"),
	kRightContainerArrowIcon = getOSType!("rcar")
}

enum
{
	kIconServicesNormalUsageFlag = 0x00000000,
	kIconServicesNoBadgeFlag = 0x00000001,
	kIconServicesUpdateIfNeededFlag = 0x00000002
}

enum
{
	kIconServicesCatalogInfoMask = (kFSCatInfoNodeID | kFSCatInfoParentDirID | kFSCatInfoVolume | kFSCatInfoNodeFlags | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo | kFSCatInfoUserAccess | kFSCatInfoPermissions | kFSCatInfoContentMod)
}

extern (C)
{
	short GetIconRefOwners (IconRef theIconRef, UInt16* owners);
	short AcquireIconRef (IconRef theIconRef);
	short ReleaseIconRef (IconRef theIconRef);
	short GetIconRef (short vRefNum, uint creator, uint iconType, IconRef* theIconRef);
	short GetIconRefFromFolder (short vRefNum, int parentFolderID, int folderID, byte attributes, byte accessPrivileges, IconRef* theIconRef);
	int GetIconRefFromFileInfo (FSRef* inRef, uint inFileNameLength, wchar* inFileName, uint inWhichInfo, FSCatalogInfo* inCatalogInfo, uint inUsageFlags, IconRef* outIconRef, SInt16* outLabel);
	short GetIconRefFromTypeInfo (uint inCreator, uint inType, CFStringRef inExtension, CFStringRef inMIMEType, uint inUsageFlags, IconRef* outIconRef);
	int GetIconRefFromIconFamilyPtr (IconFamilyResource* inIconFamilyPtr, int inSize, IconRef* outIconRef);
	int GetIconRefFromComponent (Component inComponent, IconRef* outIconRef);
	short RegisterIconRefFromIconFamily (uint creator, uint iconType, IconFamilyHandle iconFamily, IconRef* theIconRef);
	int RegisterIconRefFromFSRef (uint creator, uint iconType, FSRef* iconFile, IconRef* theIconRef);
	short UnregisterIconRef (uint creator, uint iconType);
	short UpdateIconRef (IconRef theIconRef);
	short OverrideIconRef (IconRef oldIconRef, IconRef newIconRef);
	short RemoveIconRefOverride (IconRef theIconRef);
	short CompositeIconRef (IconRef backgroundIconRef, IconRef foregroundIconRef, IconRef* compositeIconRef);
	short IsIconRefComposite (IconRef compositeIconRef, IconRef* backgroundIconRef, IconRef* foregroundIconRef);
	ubyte IsValidIconRef (IconRef theIconRef);
	ubyte IsDataAvailableInIconRef (uint inIconKind, IconRef inIconRef);
	short SetCustomIconsEnabled (short vRefNum, ubyte enableCustomIcons);
	short GetCustomIconsEnabled (short vRefNum, char* customIconsEnabled);
	int ReadIconFromFSRef (FSRef* ref_, IconFamilyHandle* iconFamily);
}