├── .attic └── sshfs-gui │ ├── AppController.h │ ├── AppController.m │ ├── COPYING │ ├── DiskImageUtilities.h │ ├── DiskImageUtilities.m │ ├── GoogleShared_SystemVersion.h │ ├── GoogleShared_SystemVersion.m │ ├── Resources │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── MainMenu.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ ├── Info.plist │ ├── License.rtf │ ├── ssh.icns │ ├── sshfs-static │ ├── sshfs-static-10.5 │ └── sshnodelay.so │ ├── askpass.c │ ├── sshfs.pch │ ├── sshfs.xcodeproj │ └── project.pbxproj │ └── sshfsMain.m ├── ABOUT.txt ├── CHANGELOG.txt ├── COPYING.txt ├── CurrentRelease.plist ├── DeveloperRelease.plist ├── core ├── 10.4 │ ├── fusefs │ │ ├── API.txt │ │ ├── English.lproj │ │ │ └── InfoPlist.strings │ │ ├── Info.plist │ │ ├── MacFUSE.exports │ │ ├── MacFUSE.xcconfig │ │ ├── common │ │ │ ├── fuse_ioctl.h │ │ │ ├── fuse_mount.h │ │ │ ├── fuse_param.h │ │ │ └── fuse_version.h │ │ ├── fuse.h │ │ ├── fuse_device.c │ │ ├── fuse_device.h │ │ ├── fuse_file.c │ │ ├── fuse_file.h │ │ ├── fuse_internal.c │ │ ├── fuse_internal.h │ │ ├── fuse_ipc.c │ │ ├── fuse_ipc.h │ │ ├── fuse_kernel.h │ │ ├── fuse_kludges.c │ │ ├── fuse_kludges.h │ │ ├── fuse_knote.c │ │ ├── fuse_knote.h │ │ ├── fuse_locking.c │ │ ├── fuse_locking.h │ │ ├── fuse_main.c │ │ ├── fuse_node.c │ │ ├── fuse_node.h │ │ ├── fuse_nodehash.c │ │ ├── fuse_nodehash.h │ │ ├── fuse_sysctl.c │ │ ├── fuse_sysctl.h │ │ ├── fuse_vfsops.c │ │ ├── fuse_vfsops.h │ │ ├── fuse_vnops.c │ │ ├── fuse_vnops.h │ │ ├── fusefs.fs │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── Resources │ │ │ │ └── English.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ └── version.plist │ │ ├── fusefs.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── singh.mode1 │ │ │ ├── singh.mode1v3 │ │ │ └── singh.pbxuser │ │ ├── load │ │ │ └── load_fusefs.c │ │ └── mount │ │ │ ├── getmntopts.c │ │ │ ├── mntopts.h │ │ │ └── mount_fusefs.c │ ├── libfuse │ │ ├── fuse-2.7.3-macosx.patch │ │ ├── fuse-current-macosx.patch │ │ └── fuse-current.tar.gz │ └── packaging │ │ ├── README.txt │ │ └── macfuse-core │ │ ├── Description.plist │ │ ├── Info.plist.in │ │ ├── Install_resources │ │ ├── .VolumeIcon.icns │ │ ├── English.lproj │ │ │ ├── InstallationCheck.strings │ │ │ └── VolumeCheck.strings │ │ ├── InstallationCheck │ │ ├── InstallationCheck.strings │ │ ├── License.rtf │ │ ├── VolumeCheck │ │ ├── VolumeCheck.strings │ │ ├── Welcome.rtf │ │ ├── background.tiff │ │ └── preflight │ │ └── uninstall-macfuse-core.sh ├── 10.5 │ ├── fusefs │ │ ├── API.txt │ │ ├── English.lproj │ │ │ └── InfoPlist.strings │ │ ├── Info.plist │ │ ├── MacFUSE.exports │ │ ├── MacFUSE.xcconfig │ │ ├── common │ │ │ ├── fuse_ioctl.h │ │ │ ├── fuse_mount.h │ │ │ ├── fuse_param.h │ │ │ └── fuse_version.h │ │ ├── fuse.h │ │ ├── fuse_biglock_vnops.c │ │ ├── fuse_biglock_vnops.h │ │ ├── fuse_device.c │ │ ├── fuse_device.h │ │ ├── fuse_file.c │ │ ├── fuse_file.h │ │ ├── fuse_internal.c │ │ ├── fuse_internal.h │ │ ├── fuse_ipc.c │ │ ├── fuse_ipc.h │ │ ├── fuse_kernel.h │ │ ├── fuse_kludges.c │ │ ├── fuse_kludges.h │ │ ├── fuse_knote.c │ │ ├── fuse_knote.h │ │ ├── fuse_locking.c │ │ ├── fuse_locking.h │ │ ├── fuse_main.c │ │ ├── fuse_node.c │ │ ├── fuse_node.h │ │ ├── fuse_nodehash.c │ │ ├── fuse_nodehash.h │ │ ├── fuse_sysctl.c │ │ ├── fuse_sysctl.h │ │ ├── fuse_vfsops.c │ │ ├── fuse_vfsops.h │ │ ├── fuse_vnops.c │ │ ├── fuse_vnops.h │ │ ├── fusefs.fs │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── Resources │ │ │ │ └── English.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ └── version.plist │ │ ├── fusefs.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── singh.mode1 │ │ │ ├── singh.mode1v3 │ │ │ └── singh.pbxuser │ │ ├── load │ │ │ └── load_fusefs.c │ │ └── mount │ │ │ ├── getmntopts.c │ │ │ ├── mntopts.h │ │ │ └── mount_fusefs.c │ ├── libfuse │ │ ├── fuse-2.7.3-macosx.patch │ │ ├── fuse-current-macosx.patch │ │ └── fuse-current.tar.gz │ └── packaging │ │ ├── README.txt │ │ └── macfuse-core │ │ ├── Description.plist │ │ ├── Info.plist.in │ │ ├── Install_resources │ │ ├── .VolumeIcon.icns │ │ ├── English.lproj │ │ │ ├── InstallationCheck.strings │ │ │ └── VolumeCheck.strings │ │ ├── InstallationCheck │ │ ├── InstallationCheck.strings │ │ ├── License.rtf │ │ ├── VolumeCheck │ │ ├── VolumeCheck.strings │ │ ├── Welcome.rtf │ │ ├── background.tiff │ │ └── preflight │ │ └── uninstall-macfuse-core.sh ├── autoinstaller │ ├── Resources │ │ └── Extensions Tests-Info.plist │ ├── TestKeys │ │ ├── private_key.der │ │ ├── private_key.pem │ │ ├── public_key.der │ │ └── public_key.pem │ ├── UpdateEngineExtensions │ │ ├── EngineDelegate.h │ │ ├── EngineDelegate.m │ │ ├── EngineDelegateTest.m │ │ ├── PlistSigner.h │ │ ├── PlistSigner.m │ │ ├── PlistSignerTest.m │ │ ├── SignedPlistServer.h │ │ ├── SignedPlistServer.m │ │ ├── SignedPlistServerTest.m │ │ ├── Signer.h │ │ ├── Signer.m │ │ ├── SignerTest.m │ │ ├── UpdatePrinter.h │ │ ├── UpdatePrinter.m │ │ └── UpdatePrinterTest.m │ ├── autoinstaller.xcodeproj │ │ └── project.pbxproj │ ├── autoinstaller_Prefix.pch │ ├── externals │ │ └── google-toolbox-for-mac │ │ │ └── TigerGcov │ ├── main.m │ └── plist_signer.m ├── macfuse_buildtool.sh ├── packaging │ ├── README.txt │ ├── com.google.macfuse.plist │ ├── images │ │ ├── MacFUSE_256x256.png │ │ ├── MacFUSE_32x32.tiff │ │ ├── MacFUSE_48x48.png │ │ ├── MacFUSE_512x512.png │ │ ├── MacFUSE_64x64.png │ │ ├── MacFUSE_Banner.jpg │ │ ├── MacFUSE_Banner.png │ │ └── Macworld_2007.png │ └── macfuse │ │ ├── Description.plist │ │ ├── Info.plist.in │ │ └── Install_resources │ │ ├── .VolumeIcon.icns │ │ ├── English.lproj │ │ ├── InstallationCheck.strings │ │ └── VolumeCheck.strings │ │ ├── InstallationCheck │ │ ├── InstallationCheck.strings │ │ ├── License.rtf │ │ ├── VolumeCheck │ │ ├── VolumeCheck.strings │ │ ├── Welcome.rtf │ │ ├── background.tiff │ │ ├── post │ │ ├── postinstall │ │ ├── postupgrade │ │ ├── pre │ │ ├── preinstall │ │ └── preupgrade ├── prefpane │ ├── English.lproj │ │ ├── About.html │ │ ├── InfoPlist.strings │ │ ├── MacFUSE.searchTerms │ │ └── MacFUSEPref.xib │ ├── Info.plist │ ├── MacFUSE.icns │ ├── MacFUSEPref.h │ ├── MacFUSEPref.m │ ├── MacFUSEPref.xcodeproj │ │ └── project.pbxproj │ └── MacFUSEPref_Prefix.pch └── sdk-objc │ ├── COPYING │ ├── Documentation │ ├── GMAppleDouble │ │ ├── Classes │ │ │ ├── GMAppleDoubleEntry_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMAppleDouble.html │ │ │ │ ├── Methods │ │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ │ └── GMAppleDouble_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMAppleDouble.html │ │ │ │ ├── Methods │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ ├── CompositePage.html │ │ ├── DataTypes │ │ │ └── DataTypes.html │ │ ├── GMAppleDouble.html │ │ ├── index.html │ │ └── toc.html │ ├── GMFinderInfo │ │ ├── Classes │ │ │ └── GMFinderInfo_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMFinderInfo.html │ │ │ │ ├── Methods │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ ├── CompositePage.html │ │ ├── GMFinderInfo.html │ │ ├── index.html │ │ └── toc.html │ ├── GMResourceFork │ │ ├── Classes │ │ │ ├── GMResourceFork_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMResourceFork.html │ │ │ │ ├── Methods │ │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ │ └── GMResource_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMResourceFork.html │ │ │ │ ├── Methods │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ ├── CompositePage.html │ │ ├── GMResourceFork.html │ │ ├── index.html │ │ └── toc.html │ ├── GMUserFileSystem │ │ ├── Categories │ │ │ ├── NSObject_GMUserFileSystemLifecycle_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMUserFileSystem.html │ │ │ │ ├── Methods │ │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ │ ├── NSObject_GMUserFileSystemOperations_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMUserFileSystem.html │ │ │ │ ├── Methods │ │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ │ └── NSObject_GMUserFileSystemResourceForks_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMUserFileSystem.html │ │ │ │ ├── Methods │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ ├── Classes │ │ │ └── GMUserFileSystem_ │ │ │ │ ├── CompositePage.html │ │ │ │ ├── GMUserFileSystem.html │ │ │ │ ├── Methods │ │ │ │ └── Methods.html │ │ │ │ ├── index.html │ │ │ │ └── toc.html │ │ ├── CompositePage.html │ │ ├── Constants │ │ │ └── Constants.html │ │ ├── GMUserFileSystem.html │ │ ├── index.html │ │ └── toc.html │ ├── MacFUSE │ │ ├── CompositePage.html │ │ ├── MacFUSEdoc.html │ │ ├── index.html │ │ └── toc.html │ └── index.html │ ├── English.lproj │ └── InfoPlist.strings │ ├── GMAppleDouble.h │ ├── GMAppleDouble.m │ ├── GMDTrace.h │ ├── GMDataBackedFileDelegate.h │ ├── GMDataBackedFileDelegate.m │ ├── GMFinderInfo.h │ ├── GMFinderInfo.m │ ├── GMResourceFork.h │ ├── GMResourceFork.m │ ├── GMUserFileSystem.h │ ├── GMUserFileSystem.m │ ├── Info.plist │ ├── MacFUSE.h │ ├── MacFUSE.hdoc │ ├── MacFUSE.xcconfig │ ├── MacFUSE.xcodeproj │ └── project.pbxproj │ ├── MacFUSE_Prefix.pch │ ├── ProjectTemplates │ ├── C Command Line File System │ │ ├── TemplateFS.1 │ │ ├── TemplateFS.c │ │ ├── TemplateFS.xcodeproj │ │ │ ├── TemplateIcon.icns │ │ │ ├── TemplateInfo.plist │ │ │ └── project.pbxproj │ │ └── main.c │ ├── Objective-C Command Line File System │ │ ├── TemplateFS.1 │ │ ├── TemplateFS.d │ │ ├── TemplateFS.icns │ │ ├── TemplateFS.xcodeproj │ │ │ ├── TemplateIcon.icns │ │ │ ├── TemplateInfo.plist │ │ │ └── project.pbxproj │ │ ├── TemplateFS_Filesystem.h │ │ ├── TemplateFS_Filesystem.m │ │ ├── TemplateFS_Prefix.pch │ │ └── main.m │ ├── Objective-C File System (Read-Only) │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ ├── TemplateFS.d │ │ ├── TemplateFS.icns │ │ ├── TemplateFS.xcodeproj │ │ │ ├── TemplateIcon.icns │ │ │ ├── TemplateInfo.plist │ │ │ └── project.pbxproj │ │ ├── TemplateFS_Controller.h │ │ ├── TemplateFS_Controller.m │ │ ├── TemplateFS_Filesystem.h │ │ ├── TemplateFS_Filesystem.m │ │ ├── TemplateFS_Prefix.pch │ │ └── main.m │ └── Objective-C File System (Read-Write) │ │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ └── MainMenu.xib │ │ ├── Info.plist │ │ ├── TemplateFS.d │ │ ├── TemplateFS.icns │ │ ├── TemplateFS.xcodeproj │ │ ├── TemplateIcon.icns │ │ ├── TemplateInfo.plist │ │ └── project.pbxproj │ │ ├── TemplateFS_Controller.h │ │ ├── TemplateFS_Controller.m │ │ ├── TemplateFS_Filesystem.h │ │ ├── TemplateFS_Filesystem.m │ │ ├── TemplateFS_Prefix.pch │ │ └── main.m │ ├── gendoc.sh │ ├── headerdoc2html.config │ ├── macfuse_objc_dtrace.d │ └── toctemplate.html ├── filesystems-objc ├── AccessibilityFS │ ├── AccessibilityFS.xcodeproj │ │ └── project.pbxproj │ ├── AccessibilityFS_Prefix.pch │ ├── ReadMe.html │ ├── Resources │ │ ├── AccessibilityFSApp.icns │ │ ├── AccessibilityFSMount.icns │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ └── Info.plist │ ├── Source │ │ ├── AccessibilityController.h │ │ ├── AccessibilityController.m │ │ ├── AccessibilityFS.h │ │ ├── AccessibilityFS.m │ │ ├── command_main.c │ │ └── main.m │ └── Toolbox │ │ ├── GTMAXUIElement.h │ │ └── GTMAXUIElement.m ├── COPYING ├── HelloFS │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ └── MainMenu.nib │ │ │ ├── designable.nib │ │ │ └── keyedobjects.nib │ ├── HelloController.h │ ├── HelloController.m │ ├── HelloFS.xcodeproj │ │ └── project.pbxproj │ ├── HelloFS_Prefix.pch │ ├── HelloFuseFileSystem.h │ ├── HelloFuseFileSystem.m │ ├── Info.plist │ ├── Resources │ │ ├── Fuse.icns │ │ └── hellodoc.icns │ └── main.m ├── LoopbackFS │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ └── MainMenu.nib │ │ │ ├── designable.nib │ │ │ └── keyedobjects.nib │ ├── Info.plist │ ├── LoopbackController.h │ ├── LoopbackController.m │ ├── LoopbackFS.h │ ├── LoopbackFS.icns │ ├── LoopbackFS.m │ ├── LoopbackFS.xcodeproj │ │ └── project.pbxproj │ ├── LoopbackFS_Prefix.pch │ ├── README.txt │ ├── loop.d │ ├── loop.m │ └── main.m ├── SpotlightFS │ ├── Resources │ │ ├── DynamicFolderBlue.icns │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ ├── Info.plist │ │ ├── SmartFolder.icns │ │ ├── SmartFolderBlue.icns │ │ ├── SpotlightFSApp.icns │ │ └── SpotlightFSMount.icns │ ├── Source │ │ ├── SpotlightFS.h │ │ ├── SpotlightFS.m │ │ ├── SpotlightFSController.h │ │ ├── SpotlightFSController.m │ │ └── main.m │ ├── SpotlightFS.xcodeproj │ │ └── project.pbxproj │ └── SpotlightFS_Prefix.pch ├── Support │ ├── NSError+POSIX.h │ ├── NSError+POSIX.m │ ├── NSImage+IconData.h │ ├── NSImage+IconData.m │ ├── YTVideo.h │ └── YTVideo.m └── YTFS │ ├── English.lproj │ ├── InfoPlist.strings │ └── MainMenu.xib │ ├── Info.plist │ ├── README.txt │ ├── YTFS.d │ ├── YTFS.icns │ ├── YTFS.xcodeproj │ └── project.pbxproj │ ├── YTFS_Controller.h │ ├── YTFS_Controller.m │ ├── YTFS_Filesystem.h │ ├── YTFS_Filesystem.m │ ├── YTFS_Prefix.pch │ └── main.m ├── filesystems ├── grabfs │ ├── COPYING │ ├── Cocoa │ │ ├── English.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainMenu.nib │ │ │ │ ├── designable.nib │ │ │ │ └── keyedobjects.nib │ │ ├── GrabFSApplication.icns │ │ ├── GrabFSVolume.icns │ │ ├── GrabFS_Prefix.pch │ │ ├── Info.plist │ │ ├── WindowFS.xcodeproj │ │ │ └── project.pbxproj │ │ └── main.m │ ├── GetPID.c │ ├── GetPID.h │ ├── Makefile │ ├── windowfs.cc │ ├── windowfs_windows.cc │ └── windowfs_windows.h ├── hello │ ├── Makefile │ ├── hello.c │ └── hello_ll.c ├── loopback │ ├── Makefile │ └── loopback.c ├── procfs │ ├── COPYING │ ├── Makefile │ ├── README │ ├── procfs.cc │ ├── procfs.plist │ ├── procfs_displays.cc │ ├── procfs_displays.h │ ├── procfs_proc_info.cc │ ├── procfs_proc_info.h │ ├── procfs_tpm.cc │ ├── procfs_tpm.h │ ├── procfs_windows.cc │ ├── procfs_windows.h │ └── sequencegrab │ │ ├── CSGCamera.h │ │ ├── CSGCamera.m │ │ ├── CSGImage.h │ │ ├── CSGImage.m │ │ ├── CocoaSequenceGrabber.h │ │ ├── Makefile │ │ ├── procfs_sequencegrab.h │ │ └── procfs_sequencegrab.mm ├── sshfs │ ├── binary │ │ ├── README.txt │ │ ├── sshfs-static-leopard │ │ └── sshfs-static-tiger │ ├── sshfs-fuse-1.8-macosx.patch │ ├── sshfs-fuse-1.9-macosx.patch │ ├── sshfs-fuse-2.0-macosx.patch │ ├── sshfs-fuse-2.1-macosx.patch │ └── sshfs-fuse-2.2-macosx.patch ├── unixfs │ ├── Makefile │ ├── ancientfs │ │ ├── AncientUnix.pdf │ │ ├── COPYRIGHT.txt │ │ ├── Makefile │ │ ├── ancientfs.h │ │ ├── ancientfs_2.11bsd.c │ │ ├── ancientfs_2.11bsd.h │ │ ├── ancientfs_2.9bsd.c │ │ ├── ancientfs_2.9bsd.h │ │ ├── ancientfs_32v.c │ │ ├── ancientfs_32v.h │ │ ├── ancientfs_ar.c │ │ ├── ancientfs_ar.h │ │ ├── ancientfs_bcpio.c │ │ ├── ancientfs_bcpio.h │ │ ├── ancientfs_cpio_newc.c │ │ ├── ancientfs_cpio_newc.h │ │ ├── ancientfs_cpio_odc.c │ │ ├── ancientfs_cpio_odc.h │ │ ├── ancientfs_dtp.c │ │ ├── ancientfs_dtp.h │ │ ├── ancientfs_dump.c │ │ ├── ancientfs_dump.h │ │ ├── ancientfs_dump1024.c │ │ ├── ancientfs_dumpvn.c │ │ ├── ancientfs_dumpvn.h │ │ ├── ancientfs_dumpvn1024.c │ │ ├── ancientfs_itp.c │ │ ├── ancientfs_itp.h │ │ ├── ancientfs_mainx.c │ │ ├── ancientfs_oar.c │ │ ├── ancientfs_oar.h │ │ ├── ancientfs_tap.c │ │ ├── ancientfs_tap.h │ │ ├── ancientfs_tar.c │ │ ├── ancientfs_tar.h │ │ ├── ancientfs_tp.c │ │ ├── ancientfs_tp.h │ │ ├── ancientfs_v1,2,3.c │ │ ├── ancientfs_v1,2,3.h │ │ ├── ancientfs_v10.c │ │ ├── ancientfs_v4,5,6.c │ │ ├── ancientfs_v4,5,6.h │ │ ├── ancientfs_v7.c │ │ ├── ancientfs_v7.h │ │ ├── ancientfs_voar.c │ │ └── ancientfs_voar.h │ ├── common │ │ ├── darwin │ │ │ └── queue.h │ │ ├── linux │ │ │ ├── COPYING │ │ │ ├── kernel │ │ │ │ ├── fs │ │ │ │ │ └── ufs │ │ │ │ │ │ ├── swab.h │ │ │ │ │ │ ├── ufs.h │ │ │ │ │ │ ├── ufs_fs.h │ │ │ │ │ │ ├── util.c │ │ │ │ │ │ └── util.h │ │ │ │ ├── include │ │ │ │ │ ├── asm │ │ │ │ │ │ └── div64.h │ │ │ │ │ └── linux │ │ │ │ │ │ ├── bitops.h │ │ │ │ │ │ ├── blockgroup_lock.h │ │ │ │ │ │ ├── buffer_head.h │ │ │ │ │ │ ├── ctype.h │ │ │ │ │ │ ├── div64.h │ │ │ │ │ │ ├── ext2_fs.h │ │ │ │ │ │ ├── ext2_fs_sb.h │ │ │ │ │ │ ├── fs.h │ │ │ │ │ │ ├── highmem.h │ │ │ │ │ │ ├── kernel.h │ │ │ │ │ │ ├── magic.h │ │ │ │ │ │ ├── minix_fs.h │ │ │ │ │ │ ├── module.h │ │ │ │ │ │ ├── parser.h │ │ │ │ │ │ ├── percpu_counter.h │ │ │ │ │ │ ├── rbtree.h │ │ │ │ │ │ ├── sched.h │ │ │ │ │ │ ├── slab.h │ │ │ │ │ │ ├── smp_lock.h │ │ │ │ │ │ ├── stat.h │ │ │ │ │ │ ├── stddef.h │ │ │ │ │ │ ├── string.h │ │ │ │ │ │ ├── swap.h │ │ │ │ │ │ └── types.h │ │ │ │ └── lib │ │ │ │ │ └── parser.c │ │ │ ├── linux.c │ │ │ └── linux.h │ │ └── unixfs │ │ │ ├── unixfs.c │ │ │ ├── unixfs.h │ │ │ ├── unixfs_common.h │ │ │ ├── unixfs_internal.c │ │ │ └── unixfs_internal.h │ ├── minixfs │ │ ├── COPYING │ │ ├── Makefile │ │ ├── itree_common.c │ │ ├── itree_v1.c │ │ ├── itree_v2.c │ │ ├── minixfs.c │ │ ├── minixfs.h │ │ ├── minixfs_mainx.c │ │ └── unixfs_minixfs.c │ ├── sysvfs │ │ ├── COPYING │ │ ├── Makefile │ │ ├── sysvfs.c │ │ ├── sysvfs.h │ │ ├── sysvfs_mainx.c │ │ └── unixfs_sysvfs.c │ └── ufs │ │ ├── COPYING │ │ ├── Makefile │ │ ├── ufs.c │ │ ├── ufs.h │ │ ├── ufs_mainx.c │ │ └── unixfs_ufs.c └── verybigfs │ ├── Makefile │ └── verybigfs.c └── support ├── debugging └── macfuse_u_fuse_fs.d └── testing └── posix_compat_test ├── Makefile └── posix_compat_test.cc /.attic/sshfs-gui/AppController.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2007 Google Inc. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #import 16 | 17 | @interface AppController : NSObject 18 | { 19 | IBOutlet NSPanel *connectPanel_; 20 | IBOutlet NSTextField *pathField_; 21 | IBOutlet NSTextField *serverField_; 22 | IBOutlet NSTextField *usernameField_; 23 | } 24 | 25 | - (IBAction)showConnect:(id)sender; 26 | - (IBAction)connectCancel:(id)sender; 27 | - (IBAction)connectOK:(id)sender; 28 | 29 | - (IBAction)clearRecents:(id)sender; 30 | 31 | - (void)sshConnect:(NSString *)server 32 | username:(NSString *)username 33 | path:(NSString *)path; 34 | 35 | - (void)addToRecents:(NSString *)server 36 | username:(NSString *)username 37 | path:(NSString *)path; 38 | - (void)menuNeedsUpdate:(NSMenu *)menu; 39 | - (void)connectToRecent:(id)sender; 40 | @end 41 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/GoogleShared_SystemVersion.h: -------------------------------------------------------------------------------- 1 | // 2 | // GoogleShared_SystemVersion.h 3 | // SharedTest 4 | // 5 | // Created by Dave MacLachlan on 04/18/07. 6 | // Copyright 2007 Google, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /// A class for getting information about what system we are running on 12 | @interface GoogleShared_SystemVersion : NSObject 13 | 14 | /// Returns YES if running on 10.3, NO otherwise. 15 | + (BOOL)isPanther; 16 | 17 | /// Returns YES if running on 10.4, NO otherwise. 18 | + (BOOL)isTiger; 19 | 20 | /// Returns YES if running on 10.5, NO otherwise. 21 | + (BOOL)isLeopard; 22 | 23 | /// Returns a YES/NO if the system is 10.3 or better 24 | + (BOOL)isPantherOrGreater; 25 | 26 | /// Returns a YES/NO if the system is 10.4 or better 27 | + (BOOL)isTigerOrGreater; 28 | 29 | /// Returns a YES/NO if the system is 10.5 or better 30 | + (BOOL)isLeopardOrGreater; 31 | 32 | /// Returns the current system version major.minor.bugFix 33 | + (void)getMajor:(long*)major minor:(long*)minor bugFix:(long*)bugFix; 34 | @end 35 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* can't find sshfs binary */ 2 | "nosshfs" = "I'm sorry, but the sshfs binary couldn't be found."; 3 | 4 | /* Copy app from disk image: message */ 5 | "%@ is currently running from the Disk Image, and must be copied for full functionality. Copying may replace an older version in the Applications directory." = "%@ is currently running from the Disk Image, and must be copied for full functionality. Copying may replace an older version in the Applications directory."; 6 | 7 | /* Copy app from disk image: ok button */ 8 | "Copy" = "Copy"; 9 | 10 | /* Copy app from disk image: cancel button */ 11 | "Don't Copy" = "Don't Copy"; 12 | 13 | /* Copy app from disk image: title */ 14 | "Would you like to copy %@ to your computer's Applications folder and run it from there?" = "Would you like to copy %@ to your computer's Applications folder and run it from there?"; 15 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/English.lproj/MainMenu.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | { 4 | ACTIONS = { 5 | clearRecents = id; 6 | connectCancel = id; 7 | connectOK = id; 8 | connectToRecent = id; 9 | showConnect = id; 10 | }; 11 | CLASS = AppController; 12 | LANGUAGE = ObjC; 13 | OUTLETS = { 14 | "connectPanel_" = NSPanel; 15 | "pathField_" = NSTextField; 16 | "serverField_" = NSTextField; 17 | "usernameField_" = NSTextField; 18 | }; 19 | SUPERCLASS = NSObject; 20 | }, 21 | {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } 22 | ); 23 | IBVersion = 1; 24 | } -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/English.lproj/MainMenu.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 68 82 356 240 0 0 1200 1898 7 | IBEditorPositions 8 | 9 | 29 10 | 1308 1201 153 44 1200 0 1200 1920 11 | 12 | IBFramework Version 13 | 446.1 14 | IBOpenObjects 15 | 16 | 29 17 | 248 18 | 19 | IBSystem Version 20 | 8L127 21 | 22 | 23 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleGetInfoString 10 | 1.0.0 11 | CFBundleIconFile 12 | ssh.icns 13 | CFBundleIdentifier 14 | com.google.sshfs 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0.0 27 | LSMinimumSystemVersion 28 | 10.4 29 | NSMainNibFile 30 | MainMenu 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/ssh.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/ssh.icns -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/sshfs-static: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/sshfs-static -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/sshfs-static-10.5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/sshfs-static-10.5 -------------------------------------------------------------------------------- /.attic/sshfs-gui/Resources/sshnodelay.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/.attic/sshfs-gui/Resources/sshnodelay.so -------------------------------------------------------------------------------- /.attic/sshfs-gui/sshfs.pch: -------------------------------------------------------------------------------- 1 | // 2 | // sshfs.pch 3 | // Prefix header for sshfs 4 | // 5 | // Created by Avi Drissman on 12/28/06. 6 | // Copyright Google 2006. All rights reserved. 7 | // 8 | 9 | #ifdef __OBJC__ 10 | #import 11 | #endif 12 | -------------------------------------------------------------------------------- /.attic/sshfs-gui/sshfsMain.m: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2007 Google Inc. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #import 16 | 17 | int main(int argc, char *argv[]) { 18 | return NSApplicationMain(argc, (const char **) argv); 19 | } 20 | -------------------------------------------------------------------------------- /ABOUT.txt: -------------------------------------------------------------------------------- 1 | This is MacFUSE, an implementation of the FUSE (File system in USEr Space) API 2 | for Mac OS X. 3 | 4 | The MacFUSE project page is at: 5 | 6 | http://macfuse.googlecode.com 7 | 8 | MacFUSE documentation is available at: 9 | 10 | http://code.google.com/p/macfuse/w/list 11 | 12 | Amit Singh 13 | -------------------------------------------------------------------------------- /core/10.4/fusefs/API.txt: -------------------------------------------------------------------------------- 1 | Of the 38 FUSE methods in FUSE API version 7.8, the following methods are 2 | currently not supported at all on MacFUSE: 3 | 4 | FUSE_GETLK We use VFS-provided file locking instead. 5 | FUSE_SETLK We use VFS-provided file locking instead. 6 | FUSE_BMAP TBD (fuse_vnop_blockmap -> one or more calls to FUSE_BMAP). 7 | -------------------------------------------------------------------------------- /core/10.4/fusefs/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/fusefs/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/10.4/fusefs/Info.plist: -------------------------------------------------------------------------------- 1 | #include "common/fuse_version.h" 2 | #include "common/fuse_param.h" 3 | #define MACFUSE_KPI_VERSION 8.0.0 4 | 5 | 6 | 7 | 8 | CFBundleDevelopmentRegion 9 | English 10 | CFBundleExecutable 11 | ${EXECUTABLE_NAME} 12 | CFBundleIconFile 13 | 14 | CFBundleIdentifier 15 | MACFUSE_BUNDLE_IDENTIFIER_LITERAL 16 | CFBundleInfoDictionaryVersion 17 | 6.0 18 | CFBundleName 19 | MacFUSE (File System In User Space) 20 | CFBundlePackageType 21 | KEXT 22 | CFBundleSignature 23 | FUSE 24 | CFBundleVersion 25 | MACFUSE_VERSION_LITERAL 26 | BuildFlavor 27 | ${MACFUSE_BUILD_FLAVOR} 28 | OSBundleLibraries 29 | 30 | com.apple.kpi.bsd 31 | MACFUSE_KPI_VERSION 32 | com.apple.kpi.iokit 33 | MACFUSE_KPI_VERSION 34 | com.apple.kpi.libkern 35 | MACFUSE_KPI_VERSION 36 | com.apple.kpi.mach 37 | MACFUSE_KPI_VERSION 38 | #if M_MACFUSE_ENABLE_UNSUPPORTED 39 | com.apple.kpi.unsupported 40 | MACFUSE_KPI_VERSION 41 | #endif 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /core/10.4/fusefs/MacFUSE.exports: -------------------------------------------------------------------------------- 1 | _kmod_info 2 | _fusefs_start 3 | _fusefs_stop 4 | -------------------------------------------------------------------------------- /core/10.4/fusefs/MacFUSE.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/fusefs/MacFUSE.xcconfig -------------------------------------------------------------------------------- /core/10.4/fusefs/common/fuse_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_VERSION_H_ 7 | #define _FUSE_VERSION_H_ 8 | 9 | #define MACFUSE_STRINGIFY(s) MACFUSE_STRINGIFY_BACKEND(s) 10 | #define MACFUSE_STRINGIFY_BACKEND(s) #s 11 | 12 | /* Add things here. */ 13 | 14 | #define MACFUSE_FS_TYPE_LITERAL fusefs 15 | #define MACFUSE_FS_TYPE MACFUSE_STRINGIFY(MACFUSE_FS_TYPE_LITERAL) 16 | 17 | #define MACFUSE_BUNDLE_IDENTIFIER_LITERAL \ 18 | com.google.filesystems.MACFUSE_FS_TYPE_LITERAL 19 | #define MACFUSE_BUNDLE_IDENTIFIER \ 20 | MACFUSE_STRINGIFY(MACFUSE_BUNDLE_IDENTIFIER_LITERAL) 21 | 22 | #define MACFUSE_BUNDLE_IDENTIFIER_TRUNK_LITERAL fusefs 23 | #define MACFUSE_BUNDLE_IDENTIFIER_TRUNK \ 24 | MACFUSE_STRINGIFY(MACFUSE_BUNDLE_IDENTIFIER_TRUNK_LITERAL) 25 | 26 | #define MACFUSE_TIMESTAMP __DATE__ ", " __TIME__ 27 | 28 | #define MACFUSE_VERSION_LITERAL 2.1.6 29 | #define MACFUSE_VERSION MACFUSE_STRINGIFY(MACFUSE_VERSION_LITERAL) 30 | 31 | #define FUSE_KPI_GEQ(M, m) \ 32 | (FUSE_KERNEL_VERSION > (M) || \ 33 | (FUSE_KERNEL_VERSION == (M) && FUSE_KERNEL_MINOR_VERSION >= (m))) 34 | 35 | #endif /* _FUSE_VERSION_H_ */ 36 | -------------------------------------------------------------------------------- /core/10.4/fusefs/fuse_device.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_DEVICE_H_ 7 | #define _FUSE_DEVICE_H_ 8 | 9 | #include 10 | #include 11 | 12 | struct fuse_data; 13 | 14 | /* softc */ 15 | 16 | struct fuse_device; 17 | typedef struct fuse_device * fuse_device_t; 18 | 19 | #define FUSE_DEVICE_NULL (fuse_device_t)0 20 | 21 | /* Global */ 22 | 23 | int fuse_devices_start(void); 24 | int fuse_devices_stop(void); 25 | 26 | /* Per Device */ 27 | 28 | fuse_device_t fuse_device_get(dev_t dev); 29 | struct fuse_data *fuse_device_get_mpdata(fuse_device_t fdev); 30 | uint32_t fuse_device_get_random(fuse_device_t fdev); 31 | 32 | void fuse_device_lock(fuse_device_t fdev); 33 | void fuse_device_unlock(fuse_device_t fdev); 34 | 35 | void fuse_device_close_final(fuse_device_t fdev); 36 | 37 | /* Control/Debug Utilities */ 38 | 39 | int fuse_device_kill(int unit, struct proc *p); 40 | int fuse_device_print_vnodes(int unit_flags, struct proc *p); 41 | 42 | #endif /* _FUSE_DEVICE_H_ */ 43 | -------------------------------------------------------------------------------- /core/10.4/fusefs/fuse_kludges.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_KLUDGES_H_ 7 | #define _FUSE_KLUDGES_H_ 8 | 9 | #include "fuse.h" 10 | #include "fuse_sysctl.h" 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #if M_MACFUSE_ENABLE_DSELECT 18 | 19 | struct fuse_selinfo { 20 | unsigned char __data[32]; 21 | }; 22 | 23 | #define POLLIN 0x0001 /* any readable data available */ 24 | #define POLLPRI 0x0002 /* OOB/Urgent readable data */ 25 | #define POLLOUT 0x0004 /* file descriptor is writeable */ 26 | #define POLLRDNORM 0x0040 /* non-OOB/URG data available */ 27 | #define POLLWRNORM POLLOUT /* no write type differentiation */ 28 | #define POLLRDBAND 0x0080 /* OOB/Urgent readable data */ 29 | #define POLLWRBAND 0x0100 /* OOB/Urgent data can be written */ 30 | 31 | #endif /* M_MACFUSE_ENABLE_DSELECT */ 32 | 33 | #if M_MACFUSE_ENABLE_EXCHANGE 34 | 35 | struct fuse_kludge_vnode { 36 | char dummy0[100]; 37 | char *v_name; 38 | vnode_t v_parent; 39 | } __attribute__((packed)); 40 | 41 | extern void fuse_kludge_exchange(vnode_t v1, vnode_t v2); 42 | 43 | #endif /* M_MACFUSE_ENABLE_EXCHANGE */ 44 | 45 | #ifndef LK_NOWAIT 46 | #define LK_NOWAIT 0x00000010 47 | #endif 48 | 49 | #endif /* _FUSE_KLUDGES_H_ */ 50 | -------------------------------------------------------------------------------- /core/10.4/fusefs/fuse_sysctl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_SYSCTL_H_ 7 | #define _FUSE_SYSCTL_H_ 8 | 9 | extern int32_t fuse_admin_group; 10 | extern int32_t fuse_allow_other; 11 | extern int32_t fuse_fh_current; 12 | extern uint32_t fuse_fh_reuse_count; 13 | extern uint32_t fuse_fh_upcall_count; 14 | extern uint32_t fuse_fh_zombies; 15 | extern int32_t fuse_iov_credit; 16 | extern int32_t fuse_iov_current; 17 | extern uint32_t fuse_iov_permanent_bufsize; 18 | extern uint32_t fuse_lookup_cache_hits; 19 | extern uint32_t fuse_lookup_cache_misses; 20 | extern uint32_t fuse_lookup_cache_overrides; 21 | extern uint32_t fuse_max_tickets; 22 | extern uint32_t fuse_max_freetickets; 23 | extern int32_t fuse_memory_allocated; 24 | extern int32_t fuse_mount_count; 25 | extern int32_t fuse_realloc_count; 26 | extern int32_t fuse_tickets_current; 27 | extern uint32_t fuse_userkernel_bufsize; 28 | extern int32_t fuse_vnodes_current; 29 | 30 | extern void fuse_sysctl_start(void); 31 | extern void fuse_sysctl_stop(void); 32 | 33 | #endif /* _FUSE_SYSCTL_H_ */ 34 | -------------------------------------------------------------------------------- /core/10.4/fusefs/fuse_vfsops.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_VFSOPS_H_ 7 | #define _FUSE_VFSOPS_H_ 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | struct fuse_data; 18 | struct fuse_ticket; 19 | 20 | extern struct vnodeopv_entry_desc fuse_vnode_operation_entries[]; 21 | 22 | #if M_MACFUSE_ENABLE_SPECFS 23 | extern struct vnodeopv_entry_desc fuse_spec_operation_entries[]; 24 | #endif 25 | 26 | #if M_MACFUSE_ENABLE_FIFOFS 27 | extern struct vnodeopv_entry_desc fuse_fifo_operation_entries[]; 28 | #endif 29 | 30 | /* VFS operations */ 31 | 32 | static errno_t 33 | fuse_vfsop_mount(mount_t mp, vnode_t devvp, user_addr_t data, 34 | vfs_context_t context); 35 | 36 | static errno_t 37 | fuse_vfsop_unmount(mount_t mp, int mntflags, vfs_context_t context); 38 | 39 | static errno_t 40 | fuse_vfsop_root(mount_t mp, vnode_t *vpp, vfs_context_t context); 41 | 42 | static errno_t 43 | fuse_vfsop_getattr(mount_t mp, struct vfs_attr *attr, vfs_context_t context); 44 | 45 | static errno_t 46 | fuse_vfsop_sync(mount_t mp, int waitfor, vfs_context_t context); 47 | 48 | static errno_t 49 | fuse_vfsop_setattr(mount_t mp, struct vfs_attr *fsap, 50 | __unused vfs_context_t context); 51 | 52 | /* Other VFS operations */ 53 | 54 | extern int 55 | fuse_setextendedsecurity(mount_t mp, int state); 56 | 57 | #endif /* _FUSE_VFSOPS_H_ */ 58 | -------------------------------------------------------------------------------- /core/10.4/fusefs/fusefs.fs/Contents/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/fusefs/fusefs.fs/Contents/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/10.4/fusefs/fusefs.fs/Contents/version.plist: -------------------------------------------------------------------------------- 1 | #include "common/fuse_version.h" 2 | 3 | 4 | 5 | 6 | BuildVersion 7 | 1 8 | CFBundleShortVersionString 9 | MACFUSE_VERSION_LITERAL 10 | CFBundleVersion 11 | MACFUSE_VERSION_LITERAL 12 | ProjectName 13 | MACFUSE_FS_TYPE_LITERAL 14 | SourceVersion 15 | 10000 16 | 17 | 18 | -------------------------------------------------------------------------------- /core/10.4/libfuse/fuse-current-macosx.patch: -------------------------------------------------------------------------------- 1 | fuse-2.7.3-macosx.patch -------------------------------------------------------------------------------- /core/10.4/libfuse/fuse-current.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/libfuse/fuse-current.tar.gz -------------------------------------------------------------------------------- /core/10.4/packaging/README.txt: -------------------------------------------------------------------------------- 1 | Packaging stuff for MacFUSE. 2 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Description.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IFPkgDescriptionDeleteWarning 6 | 7 | IFPkgDescriptionDescription 8 | MacFUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on Mac OS X. It aims to be API-compliant with the FUSE (Filesystem in USErspace) mechanism that originated on Linux. Therefore, many existing FUSE file systems become readily usable on Mac OS X. The core of MacFUSE is in a dynamically loadable kernel extension and the FUSE library and headers. 9 | 10 | This package will install the runtime and development of MacFUSE. This will enable you to develop and run your own FUSE file system on OS X. Please note that this core package does not contain any file systems; those should be installed separately. 11 | 12 | Please see: 13 | 14 | http://code.google.com/p/macfuse/ 15 | 16 | for further details. 17 | IFPkgDescriptionTitle 18 | MacFUSE Core 19 | IFPkgDescriptionVersion 20 | MacFUSE, © 2007-2008 Google Inc. 21 | 22 | 23 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | MacFUSE 7 | CFBundleGetInfoString 8 | MACFUSE_VERSION_LITERAL, MacFUSE Project 9 | CFBundleIdentifier 10 | com.google.macfuse.core 11 | CFBundleShortVersionString 12 | MACFUSE_VERSION_LITERAL 13 | IFMajorVersion 14 | 0 15 | IFMinorVersion 16 | 1 17 | IFPkgFlagAllowBackRev 18 | 19 | IFPkgFlagAuthorizationAction 20 | AdminAuthorization 21 | IFPkgFlagBackgroundAlignment 22 | topleft 23 | IFPkgFlagBackgroundScaling 24 | none 25 | IFPkgFlagDefaultLocation 26 | / 27 | IFPkgFlagFollowLinks 28 | 29 | IFPkgFlagInstallFat 30 | 31 | 35 | IFPkgFlagIsRequired 36 | 37 | IFPkgFlagOverwritePermissions 38 | 39 | IFPkgFlagRelocatable 40 | 41 | IFPkgFlagRestartAction 42 | NoRestart 43 | IFPkgFlagRootVolumeOnly 44 | 45 | IFPkgFlagUpdateInstalledLanguages 46 | 47 | IFPkgFormatVersion 48 | 0.10000000149011612 49 | 50 | 51 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/.VolumeIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/packaging/macfuse-core/Install_resources/.VolumeIcon.icns -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/English.lproj/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | ../InstallationCheck.strings -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/English.lproj/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | ../VolumeCheck.strings -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/InstallationCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | 6 | PACKAGE_PATH=$1 7 | # INSTALL_PATH=$2 <-- NOTE: This is always set to '/' 8 | # INSTALL_VOLUME=$3 <-- NOTE: This is always set to '/' 9 | # SYSTEM_ROOT=$4 <-- NOTE: This is always set to '/' 10 | 11 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 12 | if [ ! -f "/${VERSION_PATH}.plist" ] 13 | then 14 | # Doesn't appear to have OS X installed. 15 | exit 112 16 | fi 17 | 18 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 19 | if [ x"$VERSION" = x"" ] 20 | then 21 | # Unable to get OS X version. 22 | exit 113 23 | fi 24 | 25 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 26 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 27 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 28 | then 29 | # Unable to parse OS X version obtained from volume. 30 | exit 114 31 | fi 32 | 33 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -ne 4 \) ] 34 | then 35 | # Requires Mac OS X 10.4. 36 | exit 115 37 | fi 38 | 39 | # Success! 40 | exit 0 41 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Root does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version."; 3 | "18" = "Unable to parse OS X version."; 4 | "19" = "Can only install on Mac OS X version 10.4."; 5 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/VolumeCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | # See http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution4/Concepts/sd_volume_check_ref.html 6 | 7 | VOLUME=$1 8 | 9 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 10 | 11 | if [ ! -f "${VOLUME}/${VERSION_PATH}.plist" ] 12 | then 13 | # Volume doesn't appear to have OS X installed. 14 | exit 112 15 | fi 16 | 17 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 18 | if [ x"$VERSION" = x"" ] 19 | then 20 | # Unable to get OS X version from volume. 21 | exit 113 22 | fi 23 | 24 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 25 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 26 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 27 | then 28 | # Unable to parse OS X version obtained from volume. 29 | exit 114 30 | fi 31 | 32 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -ne 4 \) ] 33 | then 34 | # Requires Mac OS X 10.4. 35 | exit 115 36 | fi 37 | 38 | # Success! 39 | exit 0 40 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Volume does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version from Volume."; 3 | "18" = "Unable to parse OS X version obtained from volume."; 4 | "19" = "Can only install on a volume with Mac OS X version 10.4."; 5 | -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/Welcome.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \margl1440\margr1440\vieww9000\viewh8400\viewkind0 5 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\qj\pardirnatural 6 | 7 | \f0\b\fs24 \cf0 MacFUSE 8 | \b0 allows you to extend Mac OS X's native file handling capabilities via 3\super rd\nosupersub -party file systems.\ 9 | \ 10 | As a user, installing the MacFUSE software package will let you use any 3\super rd\nosupersub -party file system written atop MacFUSE. As a developer you can use the MacFUSE SDK to write numerous types of file systems as regular user-mode programs. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources.\ 11 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qj\pardirnatural 12 | \cf0 \ 13 | This package will install the runtime and development components of MacFUSE. Please note that no MacFUSE-based file systems are included in this package.\ 14 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 15 | \cf0 \ 16 | For more information, please visit the MacFUSE web site:\ 17 | \ 18 | {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/macfuse/"}}{\fldrslt http://code.google.com/p/macfuse/}}\ 19 | \ 20 | 21 | \b It is recommended that you restart your system after you finish installing MacFUSE.} -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/background.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.4/packaging/macfuse-core/Install_resources/background.tiff -------------------------------------------------------------------------------- /core/10.4/packaging/macfuse-core/Install_resources/preflight: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | PACKAGE_PATH=$1 6 | INSTALL_PATH=$2 7 | INSTALL_VOLUME=$3 8 | SYSTEM_ROOT=$4 9 | 10 | ## MacFUSE File System Bundle 11 | 12 | # We originally screwed up the version number in fusefs.fs, so until we are 13 | # > version 1.0, we need to blow this away every time :-( 14 | if [ -d "$INSTALL_VOLUME/System/Library/Filesystems/fusefs.fs" ] 15 | then 16 | /bin/rm -rf "$INSTALL_VOLUME/System/Library/Filesystems/fusefs.fs" 17 | fi 18 | 19 | ## MacFUSE Kernel Extension 20 | 21 | if [ -d "$INSTALL_VOLUME/Library/Extensions/fusefs.kext" ] 22 | then 23 | /bin/rm -rf "$INSTALL_VOLUME/Library/Extensions/fusefs.kext" 24 | fi 25 | 26 | # We originally installed the kernel extension in /System/Library/Extensions. 27 | # If it is there before this install, then we'll remove it and touch the 28 | # parent directory. 29 | if [ -d "$INSTALL_VOLUME/System/Library/Extensions/fusefs.kext" ] 30 | then 31 | /bin/rm -rf "$INSTALL_VOLUME/System/Library/Extensions/fusefs.kext" 32 | /usr/bin/touch "$INSTALL_VOLUME/System/Library/Extensions" 33 | fi 34 | 35 | ## MacFUSE User Library 36 | 37 | # Remove any incompatible versions of libfuse we might have installed. 38 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/libfuse.* 39 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/libulockmgr.* 40 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/pkgconfig/fuse.pc 41 | 42 | ## Signal success 43 | 44 | exit 0 45 | -------------------------------------------------------------------------------- /core/10.5/fusefs/API.txt: -------------------------------------------------------------------------------- 1 | Of the 38 FUSE methods in FUSE API version 7.8, the following methods are 2 | currently not supported at all on MacFUSE: 3 | 4 | FUSE_GETLK We use VFS-provided file locking instead. 5 | FUSE_SETLK We use VFS-provided file locking instead. 6 | FUSE_BMAP TBD (fuse_vnop_blockmap -> one or more calls to FUSE_BMAP). 7 | -------------------------------------------------------------------------------- /core/10.5/fusefs/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/fusefs/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/10.5/fusefs/Info.plist: -------------------------------------------------------------------------------- 1 | #include "common/fuse_version.h" 2 | #include "common/fuse_param.h" 3 | #define MACFUSE_KPI_VERSION 9.0.0 4 | 5 | 6 | 7 | 8 | CFBundleDevelopmentRegion 9 | English 10 | CFBundleExecutable 11 | ${EXECUTABLE_NAME} 12 | CFBundleIconFile 13 | 14 | CFBundleIdentifier 15 | MACFUSE_BUNDLE_IDENTIFIER_LITERAL 16 | CFBundleInfoDictionaryVersion 17 | 6.0 18 | CFBundleName 19 | MacFUSE (File System In User Space) 20 | CFBundlePackageType 21 | KEXT 22 | CFBundleSignature 23 | FUSE 24 | CFBundleVersion 25 | MACFUSE_VERSION_LITERAL 26 | BuildFlavor 27 | ${MACFUSE_BUILD_FLAVOR} 28 | OSBundleLibraries 29 | 30 | com.apple.kpi.bsd 31 | MACFUSE_KPI_VERSION 32 | com.apple.kpi.iokit 33 | MACFUSE_KPI_VERSION 34 | com.apple.kpi.libkern 35 | MACFUSE_KPI_VERSION 36 | com.apple.kpi.mach 37 | MACFUSE_KPI_VERSION 38 | #if M_MACFUSE_ENABLE_UNSUPPORTED 39 | com.apple.kpi.unsupported 40 | MACFUSE_KPI_VERSION 41 | #endif 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /core/10.5/fusefs/MacFUSE.exports: -------------------------------------------------------------------------------- 1 | _kmod_info 2 | _fusefs_start 3 | _fusefs_stop 4 | -------------------------------------------------------------------------------- /core/10.5/fusefs/MacFUSE.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/fusefs/MacFUSE.xcconfig -------------------------------------------------------------------------------- /core/10.5/fusefs/common/fuse_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 'rebel' branch modifications: 3 | * Copyright (C) 2010 Tuxera. All Rights Reserved. 4 | */ 5 | 6 | /* 7 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 8 | * Amit Singh 9 | */ 10 | 11 | #ifndef _FUSE_VERSION_H_ 12 | #define _FUSE_VERSION_H_ 13 | 14 | #define MACFUSE_STRINGIFY(s) MACFUSE_STRINGIFY_BACKEND(s) 15 | #define MACFUSE_STRINGIFY_BACKEND(s) #s 16 | 17 | /* Add things here. */ 18 | 19 | #define MACFUSE_FS_TYPE_LITERAL fusefs 20 | #define MACFUSE_FS_TYPE MACFUSE_STRINGIFY(MACFUSE_FS_TYPE_LITERAL) 21 | 22 | #define MACFUSE_BUNDLE_IDENTIFIER_LITERAL \ 23 | com.google.filesystems.MACFUSE_FS_TYPE_LITERAL 24 | #define MACFUSE_BUNDLE_IDENTIFIER \ 25 | MACFUSE_STRINGIFY(MACFUSE_BUNDLE_IDENTIFIER_LITERAL) 26 | 27 | #define MACFUSE_BUNDLE_IDENTIFIER_TRUNK_LITERAL fusefs 28 | #define MACFUSE_BUNDLE_IDENTIFIER_TRUNK \ 29 | MACFUSE_STRINGIFY(MACFUSE_BUNDLE_IDENTIFIER_TRUNK_LITERAL) 30 | 31 | #define MACFUSE_TIMESTAMP __DATE__ ", " __TIME__ 32 | 33 | #define MACFUSE_VERSION_LITERAL 2.1.7 34 | #define MACFUSE_VERSION MACFUSE_STRINGIFY(MACFUSE_VERSION_LITERAL) 35 | 36 | #define FUSE_KPI_GEQ(M, m) \ 37 | (FUSE_KERNEL_VERSION > (M) || \ 38 | (FUSE_KERNEL_VERSION == (M) && FUSE_KERNEL_MINOR_VERSION >= (m))) 39 | 40 | #endif /* _FUSE_VERSION_H_ */ 41 | -------------------------------------------------------------------------------- /core/10.5/fusefs/fuse_device.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_DEVICE_H_ 7 | #define _FUSE_DEVICE_H_ 8 | 9 | #include 10 | #include 11 | 12 | struct fuse_data; 13 | 14 | /* softc */ 15 | 16 | struct fuse_device; 17 | typedef struct fuse_device * fuse_device_t; 18 | 19 | #define FUSE_DEVICE_NULL (fuse_device_t)0 20 | 21 | /* Global */ 22 | 23 | int fuse_devices_start(void); 24 | int fuse_devices_stop(void); 25 | 26 | /* Per Device */ 27 | 28 | fuse_device_t fuse_device_get(dev_t dev); 29 | struct fuse_data *fuse_device_get_mpdata(fuse_device_t fdev); 30 | uint32_t fuse_device_get_random(fuse_device_t fdev); 31 | 32 | void fuse_device_lock(fuse_device_t fdev); 33 | void fuse_device_unlock(fuse_device_t fdev); 34 | 35 | void fuse_device_close_final(fuse_device_t fdev); 36 | 37 | /* Control/Debug Utilities */ 38 | 39 | int fuse_device_kill(int unit, struct proc *p); 40 | int fuse_device_print_vnodes(int unit_flags, struct proc *p); 41 | 42 | #endif /* _FUSE_DEVICE_H_ */ 43 | -------------------------------------------------------------------------------- /core/10.5/fusefs/fuse_kludges.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #include "fuse_kludges.h" 7 | #include 8 | 9 | #if M_MACFUSE_ENABLE_EXCHANGE 10 | 11 | extern void 12 | fuse_kludge_exchange(vnode_t v1, vnode_t v2) 13 | { 14 | if (version_major > 9) { 15 | char *tmp_v_name = ((struct fuse_kludge_vnode_10 *)v1)->v_name; 16 | ((struct fuse_kludge_vnode_10 *)v1)->v_name = 17 | ((struct fuse_kludge_vnode_10 *)v2)->v_name; 18 | ((struct fuse_kludge_vnode_10 *)v2)->v_name = tmp_v_name; 19 | 20 | vnode_t tmp_v_parent = ((struct fuse_kludge_vnode_10 *)v1)->v_parent; 21 | ((struct fuse_kludge_vnode_10 *)v1)->v_parent = 22 | ((struct fuse_kludge_vnode_10 *)v2)->v_parent; 23 | ((struct fuse_kludge_vnode_10 *)v2)->v_parent = tmp_v_parent; 24 | } else { 25 | char *tmp_v_name = ((struct fuse_kludge_vnode_9 *)v1)->v_name; 26 | ((struct fuse_kludge_vnode_9 *)v1)->v_name = 27 | ((struct fuse_kludge_vnode_9 *)v2)->v_name; 28 | ((struct fuse_kludge_vnode_9 *)v2)->v_name = tmp_v_name; 29 | 30 | vnode_t tmp_v_parent = ((struct fuse_kludge_vnode_9 *)v1)->v_parent; 31 | ((struct fuse_kludge_vnode_9 *)v1)->v_parent = 32 | ((struct fuse_kludge_vnode_9 *)v2)->v_parent; 33 | ((struct fuse_kludge_vnode_9 *)v2)->v_parent = tmp_v_parent; 34 | } 35 | } 36 | 37 | #endif /* M_MACFUSE_ENABLE_EXCHANGE */ 38 | -------------------------------------------------------------------------------- /core/10.5/fusefs/fuse_sysctl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _FUSE_SYSCTL_H_ 7 | #define _FUSE_SYSCTL_H_ 8 | 9 | extern int32_t fuse_admin_group; 10 | extern int32_t fuse_allow_other; 11 | extern int32_t fuse_fh_current; 12 | extern uint32_t fuse_fh_reuse_count; 13 | extern uint32_t fuse_fh_upcall_count; 14 | extern uint32_t fuse_fh_zombies; 15 | extern int32_t fuse_iov_credit; 16 | extern int32_t fuse_iov_current; 17 | extern uint32_t fuse_iov_permanent_bufsize; 18 | extern uint32_t fuse_lookup_cache_hits; 19 | extern uint32_t fuse_lookup_cache_misses; 20 | extern uint32_t fuse_lookup_cache_overrides; 21 | extern uint32_t fuse_max_tickets; 22 | extern uint32_t fuse_max_freetickets; 23 | extern int32_t fuse_memory_allocated; 24 | extern int32_t fuse_mount_count; 25 | extern int32_t fuse_realloc_count; 26 | extern int32_t fuse_tickets_current; 27 | extern uint32_t fuse_userkernel_bufsize; 28 | extern int32_t fuse_vnodes_current; 29 | 30 | extern void fuse_sysctl_start(void); 31 | extern void fuse_sysctl_stop(void); 32 | 33 | #endif /* _FUSE_SYSCTL_H_ */ 34 | -------------------------------------------------------------------------------- /core/10.5/fusefs/fuse_vfsops.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 'rebel' branch modifications: 3 | * Copyright (C) 2010 Tuxera. All Rights Reserved. 4 | */ 5 | 6 | /* 7 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 8 | * Amit Singh 9 | */ 10 | 11 | #ifndef _FUSE_VFSOPS_H_ 12 | #define _FUSE_VFSOPS_H_ 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | 22 | struct fuse_data; 23 | struct fuse_ticket; 24 | 25 | #if M_MACFUSE_ENABLE_INTERIM_FSNODE_LOCK 26 | extern struct vnodeopv_entry_desc fuse_biglock_vnode_operation_entries[]; 27 | #else 28 | extern struct vnodeopv_entry_desc fuse_vnode_operation_entries[]; 29 | #endif 30 | 31 | #if M_MACFUSE_ENABLE_SPECFS 32 | extern struct vnodeopv_entry_desc fuse_spec_operation_entries[]; 33 | #endif 34 | 35 | #if M_MACFUSE_ENABLE_FIFOFS 36 | extern struct vnodeopv_entry_desc fuse_fifo_operation_entries[]; 37 | #endif 38 | 39 | /* VFS operations */ 40 | 41 | static errno_t 42 | fuse_vfsop_mount(mount_t mp, vnode_t devvp, user_addr_t data, 43 | vfs_context_t context); 44 | 45 | static errno_t 46 | fuse_vfsop_unmount(mount_t mp, int mntflags, vfs_context_t context); 47 | 48 | static errno_t 49 | fuse_vfsop_root(mount_t mp, vnode_t *vpp, vfs_context_t context); 50 | 51 | static errno_t 52 | fuse_vfsop_getattr(mount_t mp, struct vfs_attr *attr, vfs_context_t context); 53 | 54 | static errno_t 55 | fuse_vfsop_sync(mount_t mp, int waitfor, vfs_context_t context); 56 | 57 | static errno_t 58 | fuse_vfsop_setattr(mount_t mp, struct vfs_attr *fsap, 59 | __unused vfs_context_t context); 60 | 61 | /* Other VFS operations */ 62 | 63 | extern int 64 | fuse_setextendedsecurity(mount_t mp, int state); 65 | 66 | #endif /* _FUSE_VFSOPS_H_ */ 67 | -------------------------------------------------------------------------------- /core/10.5/fusefs/fusefs.fs/Contents/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/fusefs/fusefs.fs/Contents/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/10.5/fusefs/fusefs.fs/Contents/version.plist: -------------------------------------------------------------------------------- 1 | #include "common/fuse_version.h" 2 | 3 | 4 | 5 | 6 | BuildVersion 7 | 1 8 | CFBundleShortVersionString 9 | MACFUSE_VERSION_LITERAL 10 | CFBundleVersion 11 | MACFUSE_VERSION_LITERAL 12 | ProjectName 13 | MACFUSE_FS_TYPE_LITERAL 14 | SourceVersion 15 | 10000 16 | 17 | 18 | -------------------------------------------------------------------------------- /core/10.5/libfuse/fuse-current-macosx.patch: -------------------------------------------------------------------------------- 1 | fuse-2.7.3-macosx.patch -------------------------------------------------------------------------------- /core/10.5/libfuse/fuse-current.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/libfuse/fuse-current.tar.gz -------------------------------------------------------------------------------- /core/10.5/packaging/README.txt: -------------------------------------------------------------------------------- 1 | Packaging stuff for MacFUSE. 2 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Description.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IFPkgDescriptionDeleteWarning 6 | 7 | IFPkgDescriptionDescription 8 | MacFUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on Mac OS X. It aims to be API-compliant with the FUSE (Filesystem in USErspace) mechanism that originated on Linux. Therefore, many existing FUSE file systems become readily usable on Mac OS X. The core of MacFUSE is in a dynamically loadable kernel extension and the FUSE library and headers. 9 | 10 | This package will install the runtime and development of MacFUSE. This will enable you to develop and run your own FUSE file system on OS X. Please note that this core package does not contain any file systems; those should be installed separately. 11 | 12 | Please see: 13 | 14 | http://code.google.com/p/macfuse/ 15 | 16 | for further details. 17 | IFPkgDescriptionTitle 18 | MacFUSE Core 19 | IFPkgDescriptionVersion 20 | MacFUSE, © 2007-2008 Google Inc. 21 | 22 | 23 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | MacFUSE 7 | CFBundleGetInfoString 8 | MACFUSE_VERSION_LITERAL, MacFUSE Project 9 | CFBundleIdentifier 10 | com.google.macfuse.core 11 | CFBundleShortVersionString 12 | MACFUSE_VERSION_LITERAL 13 | IFMajorVersion 14 | 0 15 | IFMinorVersion 16 | 1 17 | IFPkgFlagAllowBackRev 18 | 19 | IFPkgFlagAuthorizationAction 20 | AdminAuthorization 21 | IFPkgFlagBackgroundAlignment 22 | topleft 23 | IFPkgFlagBackgroundScaling 24 | none 25 | IFPkgFlagDefaultLocation 26 | / 27 | IFPkgFlagFollowLinks 28 | 29 | IFPkgFlagInstallFat 30 | 31 | 35 | IFPkgFlagIsRequired 36 | 37 | IFPkgFlagOverwritePermissions 38 | 39 | IFPkgFlagRelocatable 40 | 41 | IFPkgFlagRestartAction 42 | NoRestart 43 | IFPkgFlagRootVolumeOnly 44 | 45 | IFPkgFlagUpdateInstalledLanguages 46 | 47 | IFPkgFormatVersion 48 | 0.10000000149011612 49 | 50 | 51 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/.VolumeIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/packaging/macfuse-core/Install_resources/.VolumeIcon.icns -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/English.lproj/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | ../InstallationCheck.strings -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/English.lproj/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | ../VolumeCheck.strings -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/InstallationCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | 6 | PACKAGE_PATH=$1 7 | # INSTALL_PATH=$2 <-- NOTE: This is always set to '/' 8 | # INSTALL_VOLUME=$3 <-- NOTE: This is always set to '/' 9 | # SYSTEM_ROOT=$4 <-- NOTE: This is always set to '/' 10 | 11 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 12 | if [ ! -f "/${VERSION_PATH}.plist" ] 13 | then 14 | # Doesn't appear to have OS X installed. 15 | exit 112 16 | fi 17 | 18 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 19 | if [ x"$VERSION" = x"" ] 20 | then 21 | # Unable to get OS X version. 22 | exit 113 23 | fi 24 | 25 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 26 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 27 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 28 | then 29 | # Unable to parse OS X version obtained from volume. 30 | exit 114 31 | fi 32 | 33 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -lt 5 \) ] 34 | then 35 | # Requires Mac OS X 10.5 or greater. 36 | exit 115 37 | fi 38 | 39 | # Success! 40 | exit 0 41 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Root does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version."; 3 | "18" = "Unable to parse OS X version."; 4 | "19" = "Can only install on Mac OS X version 10.5 and above."; 5 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/VolumeCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | # See http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution4/Concepts/sd_volume_check_ref.html 6 | 7 | VOLUME=$1 8 | 9 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 10 | 11 | if [ ! -f "${VOLUME}/${VERSION_PATH}.plist" ] 12 | then 13 | # Volume doesn't appear to have OS X installed. 14 | exit 112 15 | fi 16 | 17 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 18 | if [ x"$VERSION" = x"" ] 19 | then 20 | # Unable to get OS X version from volume. 21 | exit 113 22 | fi 23 | 24 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 25 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 26 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 27 | then 28 | # Unable to parse OS X version obtained from volume. 29 | exit 114 30 | fi 31 | 32 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -lt 5 \) ] 33 | then 34 | # Requires Mac OS X 10.5 or greater. 35 | exit 115 36 | fi 37 | 38 | # Success! 39 | exit 0 40 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Volume does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version from Volume."; 3 | "18" = "Unable to parse OS X version obtained from volume."; 4 | "19" = "Can only install on a volume with Mac OS X version 10.5 and above."; 5 | -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/Welcome.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \margl1440\margr1440\vieww9000\viewh8400\viewkind0 5 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\qj\pardirnatural 6 | 7 | \f0\b\fs24 \cf0 MacFUSE 8 | \b0 allows you to extend Mac OS X's native file handling capabilities via 3\super rd\nosupersub -party file systems.\ 9 | \ 10 | As a user, installing the MacFUSE software package will let you use any 3\super rd\nosupersub -party file system written atop MacFUSE. As a developer you can use the MacFUSE SDK to write numerous types of file systems as regular user-mode programs. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources.\ 11 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qj\pardirnatural 12 | \cf0 \ 13 | This package will install the runtime and development components of MacFUSE. Please note that no MacFUSE-based file systems are included in this package.\ 14 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 15 | \cf0 \ 16 | For more information, please visit the MacFUSE web site:\ 17 | \ 18 | {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/macfuse/"}}{\fldrslt http://code.google.com/p/macfuse/}}\ 19 | \ 20 | 21 | \b It is recommended that you restart your system after you finish installing MacFUSE.} -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/background.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/10.5/packaging/macfuse-core/Install_resources/background.tiff -------------------------------------------------------------------------------- /core/10.5/packaging/macfuse-core/Install_resources/preflight: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | PACKAGE_PATH=$1 6 | INSTALL_PATH=$2 7 | INSTALL_VOLUME=$3 8 | SYSTEM_ROOT=$4 9 | 10 | ## MacFUSE File System Bundle 11 | 12 | # We originally screwed up the version number in fusefs.fs, so until we are 13 | # > version 1.0, we need to blow this away every time :-( 14 | if [ -d "$INSTALL_VOLUME/System/Library/Filesystems/fusefs.fs" ] 15 | then 16 | /bin/rm -rf "$INSTALL_VOLUME/System/Library/Filesystems/fusefs.fs" 17 | fi 18 | 19 | ## MacFUSE Kernel Extension 20 | 21 | if [ -d "$INSTALL_VOLUME/Library/Extensions/fusefs.kext" ] 22 | then 23 | /bin/rm -rf "$INSTALL_VOLUME/Library/Extensions/fusefs.kext" 24 | fi 25 | 26 | # We originally installed the kernel extension in /System/Library/Extensions. 27 | # If it is there before this install, then we'll remove it and touch the 28 | # parent directory. 29 | if [ -d "$INSTALL_VOLUME/System/Library/Extensions/fusefs.kext" ] 30 | then 31 | /bin/rm -rf "$INSTALL_VOLUME/System/Library/Extensions/fusefs.kext" 32 | /usr/bin/touch "$INSTALL_VOLUME/System/Library/Extensions" 33 | fi 34 | 35 | ## MacFUSE User Library 36 | 37 | # Remove any incompatible versions of libfuse we might have installed. 38 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/libfuse.* 39 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/libulockmgr.* 40 | /bin/rm -f "$INSTALL_VOLUME"/usr/local/lib/pkgconfig/fuse.pc 41 | 42 | ## Signal success 43 | 44 | exit 0 45 | -------------------------------------------------------------------------------- /core/autoinstaller/Resources/Extensions Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /core/autoinstaller/TestKeys/private_key.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/autoinstaller/TestKeys/private_key.der -------------------------------------------------------------------------------- /core/autoinstaller/TestKeys/private_key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXAIBAAKBgQDxZobIymW1QDEc0RBiRstgAdMygLgvdSpGvUKxts+B2em53QK/ 3 | 9vpvngYWIriVGlO6225VZpT76KvN+tIF3/T9nAg6I5zjlcNZF+n76vFsP0LI+/sO 4 | amzsQA0NHzFcqJR7VA5E8CejsXK7XXjUdgUceJ0Srjf/RZ9X+Zjc0APsowIDAQAB 5 | AoGAJFr6hZblxmxKeTqLKyHaUzUzJ3H3Sz5sBYdPWhBcJAQ7jQBZ/6skgFbeN8s2 6 | 3U2/um59qWLvoRijdzwFEVlvPc+2H1QhhL62vQNMTp1MVk9ggffrKAjT/b4bC+pO 7 | jN0Ba70erqaxY2udz7wpWcE+oTbnF48APNaMjzvhCFe0vGECQQD7HhUGUcybEcHL 8 | OvWKjKuG4g4Wp36EK8Dy2UktM94JvwHu44p0GbNjeShqVcMmjqe42kBOyQngOKqV 9 | oVU3Y0FLAkEA9hgUJRq4WroAcqxhr4d3iGy64n77b3Yrga24tI8TWxQef0z4srqg 10 | IfQXl9yf2IE76CnHybqzB0PFgC399FBDCQJBAKK0gAzjLT4ASF+EqRmHQZAYoeY9 11 | yjSbIN54uPgn1iLcdsUw+0F0cY3vL6eOP+6YmcWk6+vgSJzWOnjO2qcTkXcCQGDd 12 | cXB5Z/8uH2cDux+gLsigI59rZASnetB8VKuddXzwGmD5JxsSol06+t5nlPNfSvlD 13 | GMSqnDVL0710XPWBciECQCg3bjP+MRV+OaBVAjOEDyWgrSfTRwTxYmswe0XnjIy7 14 | toD7+01unk9cOf1s7v1joBJ2gU6elGm0QqwB36z/OQI= 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /core/autoinstaller/TestKeys/public_key.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/autoinstaller/TestKeys/public_key.der -------------------------------------------------------------------------------- /core/autoinstaller/TestKeys/public_key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDxZobIymW1QDEc0RBiRstgAdMy 3 | gLgvdSpGvUKxts+B2em53QK/9vpvngYWIriVGlO6225VZpT76KvN+tIF3/T9nAg6 4 | I5zjlcNZF+n76vFsP0LI+/sOamzsQA0NHzFcqJR7VA5E8CejsXK7XXjUdgUceJ0S 5 | rjf/RZ9X+Zjc0APsowIDAQAB 6 | -----END PUBLIC KEY----- 7 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/EngineDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // EngineDelegate.h 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/10/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class UpdatePrinter; 12 | 13 | // EngineDelegate 14 | // 15 | // The MacFUSE autoinstaller's delegate object for a KSUpdateEngine instance. 16 | // This object is created with with an optional UpdatePrinter object, that will 17 | // print the available updates (if any). A BOOL that specifies whether to 18 | // actually install the updates is also given. If doInstall is YES, then the 19 | // updates will be installed. If doInstall is NO, then updates will not be 20 | // installed. Typically, if updates are not being installed, then an 21 | // UpdatePrinter should be specified so that the updates are printed, otherwise 22 | // this instance is almost pointless. 23 | // 24 | @interface EngineDelegate : NSObject { 25 | @private 26 | UpdatePrinter *printer_; 27 | BOOL doInstall_; 28 | BOOL wasSuccess_; 29 | } 30 | 31 | // Designated initializer. 32 | - (id)initWithPrinter:(UpdatePrinter *)printer doInstall:(BOOL)doInstall; 33 | 34 | // Returns whether the MacFUSE update was successful. 35 | - (BOOL)wasSuccess; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/EngineDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // EngineDelegate.m 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/10/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import "EngineDelegate.h" 10 | #import "KSCommandRunner.h" 11 | #import "KSUpdateEngine.h" 12 | #import "UpdatePrinter.h" 13 | 14 | 15 | @implementation EngineDelegate 16 | 17 | - (id)init { 18 | return [self initWithPrinter:nil doInstall:NO]; 19 | } 20 | 21 | - (id)initWithPrinter:(UpdatePrinter *)printer doInstall:(BOOL)doInstall { 22 | if ((self = [super init])) { 23 | printer_ = [printer retain]; 24 | doInstall_ = doInstall; 25 | wasSuccess_ = YES; 26 | } 27 | return self; 28 | } 29 | 30 | - (void)dealloc { 31 | [printer_ release]; 32 | [super dealloc]; 33 | } 34 | 35 | - (BOOL)wasSuccess { 36 | return wasSuccess_; 37 | } 38 | 39 | - (NSArray *)engine:(KSUpdateEngine *)engine 40 | shouldPrefetchProducts:(NSArray *)products { 41 | 42 | [printer_ printUpdates:products]; 43 | 44 | if (!doInstall_) { 45 | [engine stopAndReset]; 46 | return nil; 47 | } 48 | 49 | return products; 50 | } 51 | 52 | - (void)engine:(KSUpdateEngine *)engine 53 | finished:(KSUpdateInfo *)updateInfo 54 | wasSuccess:(BOOL)wasSuccess 55 | wantsReboot:(BOOL)wantsReboot { 56 | if (!wasSuccess) 57 | wasSuccess_ = NO; 58 | } 59 | 60 | - (void)engineFinished:(KSUpdateEngine *)engine wasSuccess:(BOOL)wasSuccess { 61 | if (!wasSuccess) 62 | wasSuccess_ = NO; 63 | } 64 | 65 | @end 66 | 67 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/EngineDelegateTest.m: -------------------------------------------------------------------------------- 1 | // 2 | // EngineDelegateTest.m 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/19/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "EngineDelegate.h" 11 | #import "UpdatePrinter.h" 12 | 13 | 14 | @interface EngineDelegateTest : SenTestCase 15 | @end 16 | 17 | @implementation EngineDelegateTest 18 | 19 | - (void)testCreation { 20 | EngineDelegate *delegate = [[[EngineDelegate alloc] init] autorelease]; 21 | STAssertNotNil(delegate, nil); 22 | 23 | delegate = [[[EngineDelegate alloc] initWithPrinter:nil 24 | doInstall:NO] autorelease]; 25 | STAssertNotNil(delegate, nil); 26 | 27 | UpdatePrinter *printer = [UpdatePrinter printer]; 28 | delegate = [[[EngineDelegate alloc] initWithPrinter:printer 29 | doInstall:NO] autorelease]; 30 | STAssertNotNil(delegate, nil); 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/PlistSigner.h: -------------------------------------------------------------------------------- 1 | // 2 | // SignedPlist.h 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/18/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class Signer; 13 | 14 | // PlistSigner 15 | // 16 | // Instances of this class use a Signer instance to sign, validate, and unsign 17 | // property lists. 18 | // 19 | // Example: 20 | // 21 | // NSData *publicKey = [NSData dataWithContentsOfFile:...]; 22 | // Signer *signer = [Signer signerWithPublicKey:publicKey privateKey:nil]; 23 | // NSDictionary *plist = ... 24 | // 25 | // PlistSigner *plistSigner = [[PlistSigner alloc] initWithSigner:signer 26 | // plist:plist]; 27 | // if ([plistSigner isPlistSigned]) { 28 | // ... 29 | // } 30 | // 31 | @interface PlistSigner : NSObject { 32 | @private 33 | Signer *signer_; 34 | NSDictionary *plist_; 35 | } 36 | 37 | // Designated initializer. The returned instance will use |signer| to sign and 38 | // verify the |plist|. 39 | - (id)initWithSigner:(Signer *)signer plist:(NSDictionary *)plist; 40 | 41 | // Returns the plist. This plist may be different than the one passed to the 42 | // initializer because the plist may have been signed or the signature may have 43 | // been removed. 44 | - (NSDictionary *)plist; 45 | 46 | // Returns YES if the plist is already signed, and the signature is valid. 47 | - (BOOL)isPlistSigned; 48 | 49 | // Signs the plist, and returns YES if all went well. 50 | - (BOOL)signPlist; 51 | 52 | // Removes the signature from the plist. 53 | - (BOOL)unsignedPlist; 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/SignedPlistServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SignedPlistServer.h 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/15/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "KSPlistServer.h" 11 | 12 | @class Signer; 13 | 14 | // SignedPlistServer 15 | // 16 | // This KSPlistServer subclass verifies the signature of the server's plist 17 | // response. The plist response must have a top-level key named "Signature" 18 | // with a data value of the signature of the rest of the plist. If the signature 19 | // does not match, the response is discarded. If the signature matches, then 20 | // the response is treated just like a normal KSPlistServer response. 21 | // 22 | @interface SignedPlistServer : KSPlistServer { 23 | @private 24 | Signer *signer_; 25 | } 26 | 27 | // Returns an instance that will use |signer_| to verify the signature on all 28 | // server responses. |signer| MUST be configured with a public key, or else 29 | // all signature verification will fail. 30 | - (id)initWithURL:(NSURL *)url signer:(Signer *)signer; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /core/autoinstaller/UpdateEngineExtensions/UpdatePrinter.h: -------------------------------------------------------------------------------- 1 | // 2 | // UpdatePrinter.h 3 | // autoinstaller 4 | // 5 | // Created by Greg Miller on 7/16/08. 6 | // Copyright 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class GTMLogger; 12 | 13 | // UpdatePrinter 14 | // 15 | // Prints out an array of product updates (i.e., and array of dictionaries). 16 | // The updates are simply sent a -description message and the output is ent to 17 | // stdout. 18 | // 19 | @interface UpdatePrinter : NSObject { 20 | @private 21 | GTMLogger *logger_; 22 | } 23 | 24 | // Returns an autoreleased instance of this class. 25 | + (id)printer; 26 | 27 | // Designated initializer. Returns an UpdatePrinter that will print messages 28 | // using the specified |logger|. 29 | - (id)initWithLogger:(GTMLogger *)logger; 30 | 31 | // Returns the |logger| that should be used for printing output. 32 | - (GTMLogger *)logger; 33 | 34 | // Prints the |productUpdates| to stdout. 35 | - (void)printUpdates:(NSArray *)productUpdates; 36 | 37 | @end 38 | 39 | 40 | // PlistUpdatePrinter 41 | // 42 | // Prints the product updates in a plist format. 43 | // 44 | @interface PlistUpdatePrinter : UpdatePrinter 45 | 46 | // No new methods added. 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /core/autoinstaller/autoinstaller_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'autoinstaller' target in the 'autoinstaller' project. 3 | // 4 | 5 | #ifdef __OBJC__ 6 | 7 | #import 8 | 9 | // Define _GTMDevLog messages to show up as GTMLoggerInfo calls. 10 | #define _GTMDevLog GTMLoggerInfo 11 | #import "GTMLogger.h" 12 | #import "GTMDefines.h" 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /core/autoinstaller/externals/google-toolbox-for-mac/TigerGcov: -------------------------------------------------------------------------------- 1 | ../../../externals/google-toolbox-for-mac/TigerGcov -------------------------------------------------------------------------------- /core/packaging/README.txt: -------------------------------------------------------------------------------- 1 | Packaging stuff for MacFUSE installer package. 2 | -------------------------------------------------------------------------------- /core/packaging/com.google.macfuse.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | URL 6 | http://macfuse.googlecode.com/svn/trunk/DeveloperRelease.plist 7 | 8 | 9 | -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_256x256.png -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_32x32.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_32x32.tiff -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_48x48.png -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_512x512.png -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_64x64.png -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_Banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_Banner.jpg -------------------------------------------------------------------------------- /core/packaging/images/MacFUSE_Banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/MacFUSE_Banner.png -------------------------------------------------------------------------------- /core/packaging/images/Macworld_2007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/images/Macworld_2007.png -------------------------------------------------------------------------------- /core/packaging/macfuse/Description.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IFPkgDescriptionDeleteWarning 6 | 7 | IFPkgDescriptionDescription 8 | MacFUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on Mac OS X. It aims to be API-compliant with the FUSE (Filesystem in USErspace) mechanism that originated on Linux. Therefore, many existing FUSE file systems become readily usable on Mac OS X. The core of MacFUSE is in a dynamically loadable kernel extension and the FUSE library and headers. 9 | 10 | This package will install the runtime and development of MacFUSE. This will enable you to develop and run your own FUSE file system on OS X. Please note that this core package does not contain any file systems; those should be installed separately. 11 | 12 | Please see: 13 | 14 | http://code.google.com/p/macfuse/ 15 | 16 | for further details. 17 | IFPkgDescriptionTitle 18 | MacFUSE 19 | IFPkgDescriptionVersion 20 | MacFUSE, © 2007-2008 Google Inc. 21 | 22 | 23 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Info.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | MacFUSE 7 | CFBundleGetInfoString 8 | MACFUSE_PKG_VERSION_LITERAL, MacFUSE Project 9 | CFBundleIdentifier 10 | com.google.macfuse 11 | CFBundleShortVersionString 12 | MACFUSE_PKG_VERSION_LITERAL 13 | IFMajorVersion 14 | 0 15 | IFMinorVersion 16 | 1 17 | IFPkgFlagAllowBackRev 18 | 19 | IFPkgFlagAuthorizationAction 20 | AdminAuthorization 21 | IFPkgFlagBackgroundAlignment 22 | topleft 23 | IFPkgFlagBackgroundScaling 24 | none 25 | IFPkgFlagDefaultLocation 26 | / 27 | IFPkgFlagFollowLinks 28 | 29 | IFPkgFlagInstallFat 30 | 31 | IFPkgFlagInstalledSize 32 | MACFUSE_PKG_INSTALLED_SIZE 33 | IFPkgFlagIsRequired 34 | 35 | IFPkgFlagOverwritePermissions 36 | 37 | IFPkgFlagRelocatable 38 | 39 | IFPkgFlagRestartAction 40 | NoRestart 41 | IFPkgFlagRootVolumeOnly 42 | 43 | IFPkgFlagUpdateInstalledLanguages 44 | 45 | IFPkgFormatVersion 46 | 0.10000000149011612 47 | 48 | 49 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/.VolumeIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/macfuse/Install_resources/.VolumeIcon.icns -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/English.lproj/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | ../InstallationCheck.strings -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/English.lproj/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | ../VolumeCheck.strings -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/InstallationCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2008 Google. All Rights Reserved. 4 | # 5 | 6 | PACKAGE_PATH=$1 7 | # INSTALL_PATH=$2 <-- NOTE: This is always set to '/' 8 | # INSTALL_VOLUME=$3 <-- NOTE: This is always set to '/' 9 | # SYSTEM_ROOT=$4 <-- NOTE: This is always set to '/' 10 | 11 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 12 | if [ ! -f "/${VERSION_PATH}.plist" ] 13 | then 14 | # Doesn't appear to have OS X installed. 15 | exit 112 16 | fi 17 | 18 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 19 | if [ x"$VERSION" = x"" ] 20 | then 21 | # Unable to get OS X version. 22 | exit 113 23 | fi 24 | 25 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 26 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 27 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 28 | then 29 | # Unable to parse OS X version obtained from volume. 30 | exit 114 31 | fi 32 | 33 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -lt 4 \) ] 34 | then 35 | # Requires Mac OS X 10.4 or greater. 36 | exit 115 37 | fi 38 | 39 | # Success! 40 | exit 0 41 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/InstallationCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Root does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version."; 3 | "18" = "Unable to parse OS X version."; 4 | "19" = "Can only install on Mac OS X version 10.4 and above."; 5 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/VolumeCheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2006 Google. All Rights Reserved. 4 | # 5 | # See http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution4/Concepts/sd_volume_check_ref.html 6 | 7 | VOLUME=$1 8 | 9 | VERSION_PATH="/System/Library/CoreServices/SystemVersion" 10 | 11 | if [ ! -f "${VOLUME}/${VERSION_PATH}.plist" ] 12 | then 13 | # Volume doesn't appear to have OS X installed. 14 | exit 112 15 | fi 16 | 17 | VERSION=`/usr/bin/defaults read "$VOLUME/$VERSION_PATH" ProductVersion` 18 | if [ x"$VERSION" = x"" ] 19 | then 20 | # Unable to get OS X version from volume. 21 | exit 113 22 | fi 23 | 24 | MAJOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $1 }'` 25 | MINOR=`echo "$VERSION" | /usr/bin/awk -F. '{ print $2 }'` 26 | if [ \( x"$MAJOR" = x"" \) -o \( x"$MINOR" = x"" \) ] 27 | then 28 | # Unable to parse OS X version obtained from volume. 29 | exit 114 30 | fi 31 | 32 | if [ \( $MAJOR -lt 10 \) -o \( $MINOR -lt 4 \) ] 33 | then 34 | # Requires Mac OS X 10.4 or greater. 35 | exit 115 36 | fi 37 | 38 | # Success! 39 | exit 0 40 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/VolumeCheck.strings: -------------------------------------------------------------------------------- 1 | "16" = "Volume does not appear to have Mac OS X installed."; 2 | "17" = "Unable to obtain Mac OS X version from Volume."; 3 | "18" = "Unable to parse OS X version obtained from volume."; 4 | "19" = "Can only install on a volume with Mac OS X version 10.4 and above."; 5 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/Welcome.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \margl1440\margr1440\vieww9000\viewh8400\viewkind0 5 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\qj\pardirnatural 6 | 7 | \f0\b\fs24 \cf0 MacFUSE 8 | \b0 allows you to extend Mac OS X's native file handling capabilities via 3\super rd\nosupersub -party file systems.\ 9 | \ 10 | As a user, installing the MacFUSE software package will let you use any 3\super rd\nosupersub -party file system written atop MacFUSE. As a developer you can use the MacFUSE SDK to write numerous types of file systems as regular user-mode programs. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources.\ 11 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qj\pardirnatural 12 | \cf0 \ 13 | This package will install the runtime and development components of MacFUSE. Please note that no MacFUSE-based file systems are included in this package.\ 14 | \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 15 | \cf0 \ 16 | For more information, please visit the MacFUSE web site:\ 17 | \ 18 | {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/macfuse/"}}{\fldrslt http://code.google.com/p/macfuse/}}\ 19 | \ 20 | 21 | \b It is recommended that you restart your system after you finish installing MacFUSE.} -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/background.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/packaging/macfuse/Install_resources/background.tiff -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/postinstall: -------------------------------------------------------------------------------- 1 | post -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/postupgrade: -------------------------------------------------------------------------------- 1 | post -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/pre: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (C) 2008 Google. All Rights Reserved. 4 | # 5 | PACKAGE_PATH=$1 6 | INSTALL_PATH=$2 7 | INSTALL_VOLUME=$3 8 | SYSTEM_ROOT=$4 9 | 10 | ## Signal success 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/preinstall: -------------------------------------------------------------------------------- 1 | pre -------------------------------------------------------------------------------- /core/packaging/macfuse/Install_resources/preupgrade: -------------------------------------------------------------------------------- 1 | pre -------------------------------------------------------------------------------- /core/prefpane/English.lproj/About.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | About MacFUSE 6 | 7 | 8 |

9 | MacFUSE allows you to extend Mac OS X’s native file handling capabilities via 3rd-party file systems. Visit the MacFUSE website for more information. 10 |

11 | 12 | 13 | -------------------------------------------------------------------------------- /core/prefpane/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/prefpane/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/prefpane/English.lproj/MacFUSE.searchTerms: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Main 6 | 7 | localizableStrings 8 | 9 | 10 | index 11 | google, fuse, file, update, remove 12 | title 13 | MacFUSE 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /core/prefpane/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | MacFUSE.icns 11 | CFBundleIdentifier 12 | com.google.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleShortVersionString 20 | 2.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 2.0 25 | NSMainNibFile 26 | MacFUSEPref 27 | NSPrefPaneIconFile 28 | MacFUSE.icns 29 | NSPrefPaneIconLabel 30 | MacFUSE 31 | NSPrefPaneSearchParameters 32 | MacFUSE 33 | NSPrincipalClass 34 | MacFUSEPref 35 | 36 | 37 | -------------------------------------------------------------------------------- /core/prefpane/MacFUSE.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/prefpane/MacFUSE.icns -------------------------------------------------------------------------------- /core/prefpane/MacFUSEPref.h: -------------------------------------------------------------------------------- 1 | // 2 | // MacFUSEPref.h 3 | // MacFUSE 4 | // 5 | // Created by Dave MacLachlan on 2008/11/10. 6 | // Copyright (c) 2008 Google Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface MacFUSEPref : NSPreferencePane { 13 | @private 14 | NSString *installedVersionText; 15 | NSString *messageText; 16 | 17 | BOOL installed; 18 | BOOL scriptRunning; 19 | BOOL updateAvailable; 20 | IBOutlet NSButton *updateButton; 21 | IBOutlet NSProgressIndicator *spinner; 22 | IBOutlet NSTextField *aboutBoxView; 23 | IBOutlet NSImageView *imageView; 24 | AuthorizationRef authorizationRef; 25 | } 26 | 27 | - (void)willSelect; 28 | - (void)mainViewDidLoad; 29 | - (IBAction)removeMacFUSE:(id)sender; 30 | @end 31 | -------------------------------------------------------------------------------- /core/prefpane/MacFUSEPref_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MacFUSE' target in the 'MacFUSE' project. 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMAppleDouble/Classes/GMAppleDoubleEntry_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMAppleDoubleEntry (GMAppleDouble.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMAppleDouble/Classes/GMAppleDouble_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMAppleDouble (GMAppleDouble.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMAppleDouble/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMAppleDouble (GMAppleDouble.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMFinderInfo/Classes/GMFinderInfo_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMFinderInfo (GMFinderInfo.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMFinderInfo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMFinderInfo (GMFinderInfo.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMResourceFork/Classes/GMResourceFork_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMResourceFork (GMResourceFork.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMResourceFork/Classes/GMResource_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMResource (GMResourceFork.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMResourceFork/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMResourceFork (GMResourceFork.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMUserFileSystem/Categories/NSObject_GMUserFileSystemLifecycle_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for NSObject(GMUserFileSystemLifecycle) (GMUserFileSystem.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMUserFileSystem/Categories/NSObject_GMUserFileSystemOperations_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for NSObject(GMUserFileSystemOperations) (GMUserFileSystem.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMUserFileSystem/Categories/NSObject_GMUserFileSystemResourceForks_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for NSObject(GMUserFileSystemResourceForks) (GMUserFileSystem.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMUserFileSystem/Classes/GMUserFileSystem_/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMUserFileSystem (GMUserFileSystem.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/GMUserFileSystem/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for GMUserFileSystem (GMUserFileSystem.h) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/Documentation/MacFUSE/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Documentation for MacFUSE Framework (MacFUSE.hdoc) 5 | 6 | 7 | 21 | 22 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /core/sdk-objc/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/sdk-objc/GMDTrace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | #ifndef _GMDTRACE_H_ 7 | #define _GMDTRACE_H_ 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | #include 14 | 15 | #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4 16 | 17 | /* Leopard+ */ 18 | 19 | #include 20 | #include 21 | 22 | #else 23 | 24 | /* Tiger- */ 25 | 26 | #define MACFUSE_OBJC_DELEGATE_ENTRY(arg0) 27 | #define MACFUSE_OBJC_DELEGATE_RETURN(arg0) 28 | 29 | #define MACFUSE_OBJC_DELEGATE_ENTRY_ENABLED() 0 30 | #define MACFUSE_OBJC_DELEGATE_RETURN_ENABLED() 0 31 | 32 | #endif /* Leopard+/Tiger */ 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif /* _GMDTRACE_H_ */ 39 | -------------------------------------------------------------------------------- /core/sdk-objc/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleName 10 | ${PRODUCT_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.google.MacFUSE 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | MACFUSE_CORE_VERSION 23 | CFBundleShortVersionString 24 | MACFUSE_CORE_VERSION 25 | CFBundleGetInfoString 26 | MacFUSE Framework 27 | 28 | 29 | -------------------------------------------------------------------------------- /core/sdk-objc/MacFUSE.xcconfig: -------------------------------------------------------------------------------- 1 | SDK_NAME=MacFUSE 2 | -------------------------------------------------------------------------------- /core/sdk-objc/MacFUSE_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MacFUSE' target in the 'MacFUSE' project. 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.1 -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.c -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.xcodeproj/TemplateInfo.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/C Command Line File System/TemplateFS.xcodeproj/TemplateInfo.plist -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/C Command Line File System/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/C Command Line File System/main.c -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.1 -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.d -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.xcodeproj/TemplateInfo.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS.xcodeproj/TemplateInfo.plist -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS_Filesystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS_Filesystem.h -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS_Filesystem.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS_Filesystem.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/TemplateFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TemplateFS' target in the 'TemplateFS' project. 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C Command Line File System/main.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | ${PRODUCT_NAME}.icns 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.d -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.xcodeproj/TemplateInfo.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS.xcodeproj/TemplateInfo.plist -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Controller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Controller.h -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Controller.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Controller.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Filesystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Filesystem.h -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Filesystem.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Filesystem.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Prefix.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/TemplateFS_Prefix.pch -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Only)/main.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | ${PRODUCT_NAME}.icns 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.d -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.xcodeproj/TemplateInfo.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS.xcodeproj/TemplateInfo.plist -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Controller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Controller.h -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Controller.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Controller.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Filesystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Filesystem.h -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Filesystem.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Filesystem.m -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Prefix.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/TemplateFS_Prefix.pch -------------------------------------------------------------------------------- /core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/core/sdk-objc/ProjectTemplates/Objective-C File System (Read-Write)/main.m -------------------------------------------------------------------------------- /core/sdk-objc/gendoc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Generates documentation for the Objective-C framework. 4 | # 5 | # If we don't have a documentation directory, just generate the docs. 6 | if [ ! -d Documentation ] 7 | then 8 | headerdoc2html -u -o Documentation MacFUSE.hdoc GMUserFileSystem.h GMFinderInfo.h GMResourceFork.h GMAppleDouble.h 9 | gatherheaderdoc Documentation index.html 10 | exit 0 11 | fi 12 | 13 | # We do have a Documentation directory. This probably has .svn subdirs, 14 | # which will mess up gatherheaderdoc. We do this ugly hack: 15 | if [ -d Documentation.tmp ] 16 | then 17 | echo "Error: Documentation.tmp exists. Where is your svn directory?" 18 | exit 1 19 | fi 20 | mv Documentation Documentation.tmp 21 | mkdir Documentation 22 | headerdoc2html -u -o Documentation MacFUSE.hdoc GMUserFileSystem.h GMFinderInfo.h GMResourceFork.h GMAppleDouble.h 23 | gatherheaderdoc Documentation index.html 24 | cp -r Documentation/ Documentation.tmp 25 | rm -rf Documentation 26 | mv Documentation.tmp Documentation 27 | -------------------------------------------------------------------------------- /core/sdk-objc/headerdoc2html.config: -------------------------------------------------------------------------------- 1 | TOCTemplateFile => toctemplate.html 2 | -------------------------------------------------------------------------------- /core/sdk-objc/macfuse_objc_dtrace.d: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006-2008 Google. All Rights Reserved. 3 | * Amit Singh 4 | */ 5 | 6 | /* 7 | * Keep the probes defined here in sync with the dummy ones in GMDTrace.h 8 | */ 9 | 10 | provider macfuse_objc { 11 | probe delegate__entry(char*); 12 | probe delegate__return(int); 13 | }; 14 | 15 | #pragma D attributes Evolving/Evolving/Common provider macfuse_objc provider 16 | #pragma D attributes Evolving/Evolving/Common provider macfuse_objc module 17 | #pragma D attributes Evolving/Evolving/Common provider macfuse_objc function 18 | #pragma D attributes Evolving/Evolving/Common provider macfuse_objc name 19 | #pragma D attributes Evolving/Evolving/Common provider macfuse_objc args 20 | -------------------------------------------------------------------------------- /core/sdk-objc/toctemplate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | MacFUSE.framework Reference 4 | 23 | 24 | 25 | 26 | 27 |

$$framework@@

28 |

$$frameworkabstract@@

29 |

$$frameworkdiscussion@@

30 | 31 |
32 | 33 |

Headers

34 | $$headerlist@@ 35 | 36 |

Classes

37 | $$classlist@@ 38 | 39 |

Informal Protocols

40 | $$categorylist@@ 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/AccessibilityFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // Prefix header for all source files of the 'AccessibilityFS' target in the 18 | // 'AccessibilityFS' project 19 | // 20 | 21 | #ifdef __OBJC__ 22 | #import 23 | #endif 24 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/ReadMe.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/AccessibilityFSApp.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/AccessibilityFS/Resources/AccessibilityFSApp.icns -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/AccessibilityFSMount.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/AccessibilityFS/Resources/AccessibilityFSMount.icns -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/AccessibilityFS/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/English.lproj/MainMenu.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | FirstResponder 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSObject 14 | 15 | 16 | CLASS 17 | AccessibilityController 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSObject 22 | 23 | 24 | IBVersion 25 | 1 26 | 27 | 28 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/English.lproj/MainMenu.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBLastKnownRelativeProjectPath 8 | ../../../AccessibilityFS.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | IBSystem Version 14 | 9B18 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/AccessibilityFS/Resources/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleGetInfoString 10 | AccessibilityFS 0.6 11 | CFBundleIconFile 12 | AccessibilityFSApp 13 | CFBundleIdentifier 14 | com.google.fuse.AccessibilityFS 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 0.6 25 | FUSEFileSystemClass 26 | AccessibilityFS 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Source/AccessibilityController.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // AccessibilityController.h 18 | // AccessibilityFS 19 | /// 20 | 21 | #import 22 | 23 | @class GMUserFileSystem; 24 | 25 | @interface AccessibilityController : NSObject { 26 | GMUserFileSystem* fs_; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Source/AccessibilityFS.h: -------------------------------------------------------------------------------- 1 | // 2 | // AccessibilityFS.h 3 | // AccessibilityFS 4 | // 5 | // Created by Dave MacLachlan on 12/14/07. 6 | // 7 | // ================================================================ 8 | // Copyright (C) 2008 Google Inc. 9 | // 10 | // Licensed under the Apache License, Version 2.0 (the "License"); 11 | // you may not use this file except in compliance with the License. 12 | // You may obtain a copy of the License at 13 | // 14 | // http://www.apache.org/licenses/LICENSE-2.0 15 | // 16 | // Unless required by applicable law or agreed to in writing, software 17 | // distributed under the License is distributed on an "AS IS" BASIS, 18 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | // See the License for the specific language governing permissions and 20 | // limitations under the License. 21 | // ================================================================ 22 | 23 | #import 24 | 25 | // A MacFUSE file system for probing around through various applications' 26 | // UIs exposed through Accessibility. 27 | @interface AccessibilityFS : NSObject { 28 | @private 29 | // A collection of info about processes keyed by their GMAXUIElement. 30 | NSMutableDictionary *appDictionary_; 31 | 32 | // The last time root was modified due to an app launching or terminating. 33 | NSDate *rootModifiedDate_; 34 | } 35 | @end 36 | -------------------------------------------------------------------------------- /filesystems-objc/AccessibilityFS/Source/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AccessibiliyFS 4 | // 5 | // ================================================================ 6 | // Copyright (C) 2008 Google Inc. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // ================================================================ 20 | 21 | #import 22 | 23 | int main(int argc, char *argv[]) { 24 | return NSApplicationMain(argc, (const char **) argv); 25 | } 26 | -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/HelloFS/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/HelloFS/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/HelloController.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // HelloController.h 18 | // HelloFS 19 | // 20 | // Created by ted on 1/3/08. 21 | // 22 | #import 23 | 24 | @class GMUserFileSystem; 25 | 26 | @interface HelloController : NSObject { 27 | GMUserFileSystem* fs_; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/HelloFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'HelloFS' target in the 'HelloFS' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/HelloFuseFileSystem.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2006 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // HelloFuseFileSystem.h 18 | // 19 | // Created by alcor on 12/15/06. 20 | // 21 | 22 | #import 23 | 24 | @interface HelloFuseFileSystem : NSObject 25 | @end 26 | -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.HelloFS 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/Resources/Fuse.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/HelloFS/Resources/Fuse.icns -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/Resources/hellodoc.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/HelloFS/Resources/hellodoc.icns -------------------------------------------------------------------------------- /filesystems-objc/HelloFS/main.m: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // main.m 18 | // HelloFS 19 | // 20 | // Created by ted on 1/3/08. 21 | // 22 | #import 23 | 24 | int main(int argc, char *argv[]) 25 | { 26 | return NSApplicationMain(argc, (const char **) argv); 27 | } 28 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/LoopbackFS/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/LoopbackFS/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.LoopbackFS 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/LoopbackController.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2007 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // LoopbackController.h 18 | // LoopbackFS 19 | // 20 | // Created by ted on 12/27/07. 21 | // 22 | 23 | #import 24 | 25 | @class GMUserFileSystem; 26 | @class LoopbackFS; 27 | 28 | @interface LoopbackController : NSObject { 29 | GMUserFileSystem* fs_; 30 | LoopbackFS* loop_; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/LoopbackFS.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2007 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // LoopbackFS.h 18 | // LoopbackFS 19 | // 20 | // Created by ted on 12/12/07. 21 | // 22 | // This is a simple but complete example filesystem that mounts a local 23 | // directory. You can modify this to see how the Finder reacts to returning 24 | // specific error codes or not implementing a particular GMUserFileSystem 25 | // operation. 26 | // 27 | // For example, you can mount "/tmp" in /Volumes/loop. Note: It is 28 | // probably not a good idea to mount "/" through this filesystem. 29 | 30 | #import 31 | 32 | @interface LoopbackFS : NSObject { 33 | NSString* rootPath_; // The local file-system path to mount. 34 | } 35 | - (id)initWithRootPath:(NSString *)rootPath; 36 | - (void)dealloc; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/LoopbackFS.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/LoopbackFS/LoopbackFS.icns -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/LoopbackFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'LoopbackFS' target in the 'LoopbackFS' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/README.txt: -------------------------------------------------------------------------------- 1 | LoopBackFS 2 | 3 | This is a simple but complete example filesystem that mounts a local 4 | directory. You can modify this to see how the Finder reacts to returning 5 | specific error codes or not implementing a particular UserFileSystem 6 | operation. 7 | 8 | For example, you can mount "/tmp" in /Volumes/loop. Note: It is 9 | probably not a good idea to mount "/" through this filesystem. 10 | 11 | You can build a .app version from LoopbackFS.xcodeproj and a standalone 12 | command line version using: 13 | 14 | gcc -o loop ../Support/NSError+POSIX.m LoopbackFS.m loop.m -I../Support \ 15 | -framework MacFUSE -framework Foundation 16 | 17 | This will create a binary called "loop" in the current directory. 18 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/loop.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | 3 | #pragma D option quiet 4 | #pragma D option bufsize=16k 5 | 6 | macfuse_objc*:::delegate-entry 7 | /execname == "LoopbackFS"/ 8 | { 9 | printf("%-14d %s: %s\r\n", timestamp, probefunc, copyinstr(arg0)); 10 | } 11 | -------------------------------------------------------------------------------- /filesystems-objc/LoopbackFS/main.m: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2007 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // main.m 18 | // LoopbackFS 19 | // 20 | // Created by ted on 12/27/07. 21 | // 22 | #import 23 | 24 | int main(int argc, char *argv[]) 25 | { 26 | return NSApplicationMain(argc, (const char **) argv); 27 | } 28 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/DynamicFolderBlue.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/DynamicFolderBlue.icns -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/English.lproj/MainMenu.nib/classes.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBClasses 6 | 7 | 8 | CLASS 9 | SpotlightFSController 10 | LANGUAGE 11 | ObjC 12 | SUPERCLASS 13 | NSObject 14 | 15 | 16 | CLASS 17 | FirstResponder 18 | LANGUAGE 19 | ObjC 20 | SUPERCLASS 21 | NSObject 22 | 23 | 24 | IBVersion 25 | 1 26 | 27 | 28 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/English.lproj/MainMenu.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBLastKnownRelativeProjectPath 8 | ../../../SpotlightFS.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | IBSystem Version 14 | 9B18 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleGetInfoString 10 | SpotlightFS 0.1.1 11 | CFBundleIconFile 12 | SpotlightFSApp 13 | CFBundleIdentifier 14 | com.google.fuse.SpotlightFS 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 0.1.1 25 | LSUIElement 26 | 1 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/SmartFolder.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/SmartFolder.icns -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/SmartFolderBlue.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/SmartFolderBlue.icns -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/SpotlightFSApp.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/SpotlightFSApp.icns -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Resources/SpotlightFSMount.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/SpotlightFS/Resources/SpotlightFSMount.icns -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Source/SpotlightFSController.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // SpotlightFSController.h 18 | // SpotlightFS 19 | // 20 | // Created by ted on 1/3/08. 21 | // 22 | 23 | #import 24 | 25 | @class GMUserFileSystem; 26 | 27 | @interface SpotlightFSController : NSObject { 28 | GMUserFileSystem* fs_; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/Source/main.m: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2007 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // main.m 18 | // SpotlightFS 19 | // 20 | // Created by Greg Miller on 1/19/07. 21 | // 22 | 23 | #import 24 | 25 | int main(int argc, char *argv[]) 26 | { 27 | return NSApplicationMain(argc, (const char **) argv); 28 | } 29 | -------------------------------------------------------------------------------- /filesystems-objc/SpotlightFS/SpotlightFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'SpotlightFS' target in the 'SpotlightFS' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /filesystems-objc/Support/NSError+POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSError+POSIX.h 3 | // 4 | // ================================================================ 5 | // Copyright (C) 2008 Google Inc. 6 | // 7 | // Licensed under the Apache License, Version 2.0 (the "License"); 8 | // you may not use this file except in compliance with the License. 9 | // You may obtain a copy of the License at 10 | // 11 | // http://www.apache.org/licenses/LICENSE-2.0 12 | // 13 | // Unless required by applicable law or agreed to in writing, software 14 | // distributed under the License is distributed on an "AS IS" BASIS, 15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | // See the License for the specific language governing permissions and 17 | // limitations under the License. 18 | // ================================================================ 19 | // 20 | 21 | #import 22 | 23 | // Category on NSError to simplify creating an NSError based on posix errno. 24 | @interface NSError (POSIX) 25 | + (NSError *)errorWithPOSIXCode:(int)code; 26 | @end 27 | -------------------------------------------------------------------------------- /filesystems-objc/Support/NSError+POSIX.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSError+POSIX.m 3 | // 4 | // ================================================================ 5 | // Copyright (C) 2008 Google Inc. 6 | // 7 | // Licensed under the Apache License, Version 2.0 (the "License"); 8 | // you may not use this file except in compliance with the License. 9 | // You may obtain a copy of the License at 10 | // 11 | // http://www.apache.org/licenses/LICENSE-2.0 12 | // 13 | // Unless required by applicable law or agreed to in writing, software 14 | // distributed under the License is distributed on an "AS IS" BASIS, 15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | // See the License for the specific language governing permissions and 17 | // limitations under the License. 18 | // ================================================================ 19 | // 20 | 21 | #import "NSError+POSIX.h" 22 | 23 | @implementation NSError (POSIX) 24 | + (NSError *)errorWithPOSIXCode:(int) code { 25 | return [NSError errorWithDomain:NSPOSIXErrorDomain code:code userInfo:nil]; 26 | } 27 | @end 28 | 29 | -------------------------------------------------------------------------------- /filesystems-objc/Support/NSImage+IconData.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2007 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // NSImage+IconData.h 18 | // MacFUSE 19 | // 20 | // Created by ted on 12/28/07. 21 | // 22 | #import 23 | 24 | @class NSData; 25 | 26 | @interface NSImage (IconData) 27 | 28 | // Creates the data for a .icns file from this NSImage. You can use a width 29 | // of 128, 256 or 512 pixels (128 and 512 only supported on Leopard). 30 | - (NSData *)icnsDataWithWidth:(int)width; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/YTFS/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems-objc/YTFS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | ${PRODUCT_NAME}.icns 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/README.txt: -------------------------------------------------------------------------------- 1 | YTFS 2 | 3 | YTFS is a a simple read-only file system that downloads a feed of top-rated 4 | YouTube videos and presents them in the root directory as a clickable webloc 5 | to the video. 6 | 7 | The DEVELOPER_OBJC_HOWTO is a step-by-step tutorial that walks you through 8 | creating the YTFS file system. Please read and follow the instructions in 9 | the tutorial located here: 10 | 11 | http://code.google.com/p/macfuse/wiki/DEVELOPER_OBJC_HOWTO 12 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/YTFS.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | 3 | #pragma D option quiet 4 | 5 | macfuse_objc*:::delegate-entry 6 | /execname == "YTFS"/ 7 | { 8 | printf("%-14d %s: %s\n", timestamp, probefunc, copyinstr(arg0)); 9 | } 10 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/YTFS.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems-objc/YTFS/YTFS.icns -------------------------------------------------------------------------------- /filesystems-objc/YTFS/YTFS_Controller.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // YTFS_Controller.h 18 | // YTFS 19 | // 20 | // Created by ted on 12/7/08. 21 | // 22 | #import 23 | 24 | @class GMUserFileSystem; 25 | @class YTFS_Controller; 26 | 27 | @interface YTFS_Controller : NSObject { 28 | GMUserFileSystem* fs_; 29 | YTFS_Controller* fs_delegate_; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/YTFS_Filesystem.h: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // YTFS_Filesystem.h 18 | // YTFS 19 | // 20 | // Created by ted on 12/7/08. 21 | // 22 | // Filesystem operations. 23 | // 24 | #import 25 | 26 | @class YTVideo; 27 | 28 | // The core set of file system operations. This class will serve as the delegate 29 | // for GMUserFileSystemFilesystem. For more details, see the section on 30 | // GMUserFileSystemOperations found in the documentation at: 31 | // http://macfuse.googlecode.com/svn/trunk/core/sdk-objc/Documentation/index.html 32 | @interface YTFS_Filesystem : NSObject { 33 | NSDictionary* videos_; 34 | } 35 | - (id)initWithVideos:(NSDictionary *)videos; 36 | - (YTVideo *)videoAtPath:(NSString *)path; 37 | @end 38 | 39 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/YTFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // Prefix header for all source files of the 'YTFS' target in the 'YTFS' project 18 | // 19 | 20 | #ifdef __OBJC__ 21 | #import 22 | #endif 23 | -------------------------------------------------------------------------------- /filesystems-objc/YTFS/main.m: -------------------------------------------------------------------------------- 1 | // ================================================================ 2 | // Copyright (C) 2008 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // ================================================================ 16 | // 17 | // main.m 18 | // YTFS 19 | // 20 | // Created by ted on 12/7/08. 21 | // 22 | #import 23 | 24 | int main(int argc, char *argv[]) 25 | { 26 | return NSApplicationMain(argc, (const char **) argv); 27 | } 28 | -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/grabfs/Cocoa/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/grabfs/Cocoa/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/GrabFSApplication.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/grabfs/Cocoa/GrabFSApplication.icns -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/GrabFSVolume.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/grabfs/Cocoa/GrabFSVolume.icns -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/GrabFS_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'GrabFS' target in the 'GrabFS' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | GrabFSApplication 11 | CFBundleIdentifier 12 | com.osxbook.filesystems.GrabFS 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSMinimumSystemVersion 26 | 10.5 27 | LSUIElement 28 | 1 29 | NSHumanReadableCopyright 30 | © Amit Singh (osxbook.com), 2007-2008 31 | NSMainNibFile 32 | MainMenu 33 | NSPrincipalClass 34 | NSApplication 35 | CFBundleGetInfoString 36 | GrabFS 1.0, © Amit Singh (osxbook.com), 2007-2008 37 | 38 | 39 | -------------------------------------------------------------------------------- /filesystems/grabfs/Cocoa/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright Amit Singh. All Rights Reserved. 3 | * http://osxbook.com 4 | */ 5 | 6 | #import 7 | 8 | int 9 | main(int argc, char *argv[]) 10 | { 11 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 12 | 13 | NSString *bin = [[NSBundle mainBundle] pathForResource:@"grabfs" 14 | ofType:NULL]; 15 | NSString *icns = [[NSBundle mainBundle] pathForResource:@"GrabFSVolume" 16 | ofType:@"icns"]; 17 | 18 | const char *bin_utf8 = [bin UTF8String]; 19 | const char *icns_utf8 = [icns UTF8String]; 20 | 21 | char volicon_arg[4096]; 22 | snprintf(volicon_arg, 4096, "-ovolicon=%s", icns_utf8); 23 | 24 | if (fork() == 0) { 25 | execl(bin_utf8, bin_utf8, volicon_arg, NULL); 26 | } 27 | 28 | [pool release]; 29 | 30 | exit(0); 31 | } 32 | -------------------------------------------------------------------------------- /filesystems/grabfs/GetPID.h: -------------------------------------------------------------------------------- 1 | /* 2 | * From Apple DTS Sample Code. 3 | */ 4 | 5 | #if !defined(__DTSSampleCode_GetPID__) 6 | #define __DTSSampleCode_GetPID__ 1 7 | 8 | #include 9 | #include 10 | 11 | #if defined(__cplusplus) 12 | extern "C" { 13 | #endif 14 | 15 | enum { 16 | kSuccess = 0, 17 | kCouldNotFindRequestedProcess = -1, 18 | kInvalidArgumentsError = -2, 19 | kErrorGettingSizeOfBufferRequired = -3, 20 | kUnableToAllocateMemoryForBuffer = -4, 21 | kPIDBufferOverrunError = -5 22 | }; 23 | 24 | int GetAllPIDsForProcessName(const char* ProcessName, 25 | pid_t ArrayOfReturnedPIDs[], 26 | const unsigned int NumberOfPossiblePIDsInArray, 27 | unsigned int* NumberOfMatchesFound, 28 | int* SysctlError); 29 | 30 | int GetPIDForProcessName(const char* ProcessName); 31 | 32 | #if defined(__cplusplus) 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /filesystems/grabfs/Makefile: -------------------------------------------------------------------------------- 1 | # windowfs as a MacFUSE file system for Mac OS X 2 | # 3 | # Copyright Amit Singh. All Rights Reserved. 4 | # http://osxbook.com 5 | # 6 | # http://code.google.com/p/macfuse/ 7 | 8 | CXXFLAGS=-D_FILE_OFFSET_BITS=64 -D__FreeBSD__=10 -O -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk 9 | LDFLAGS=-L/usr/local/lib -lfuse -framework Carbon 10 | 11 | # Configure this depending on where you installed pcrecpp 12 | # http://www.pcre.org 13 | # 14 | PCRECPP_PREFIX=/usr/local 15 | 16 | PCRECPP_CXXFLAGS=-I$(PCRECPP_PREFIX)/include 17 | PCRECPP_LDFLAGS=-arch i386 $(PCRECPP_PREFIX)/lib/libpcrecpp.a $(PCRECPP_PREFIX)/lib/libpcre.a 18 | 19 | all: windowfs 20 | 21 | GetPID.o: GetPID.c 22 | g++ -c -Wall $(CXXFLAGS) -o $@ $< 23 | 24 | windowfs.o: windowfs.cc 25 | g++ -c -Wall $(CXXFLAGS) $(PCRECPP_CXXFLAGS) -o $@ $< 26 | 27 | windowfs_windows.o: windowfs_windows.cc windowfs_windows.h 28 | g++ -c -Wall $(CXXFLAGS) -o $@ $< 29 | 30 | windowfs: windowfs.o windowfs_windows.o GetPID.o 31 | g++ -Wall $(CXXFLAGS) $(PCRECPP_CXXFLAGS) -o $@ $^ $(LDFLAGS) $(PCRECPP_LDFLAGS) 32 | 33 | install: windowfs 34 | sudo chown root:wheel windowfs 35 | sudo chmod u+s windowfs 36 | sudo mv windowfs /usr/local/bin/windowfs 37 | 38 | clean: 39 | rm -f windowfs GetPID.o windowfs.o windowfs_windows.o 40 | -------------------------------------------------------------------------------- /filesystems/hello/Makefile: -------------------------------------------------------------------------------- 1 | TARGETS = hello hello_ll 2 | 3 | CC = gcc 4 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -D__DARWIN_64_BIT_INO_T=0 -DFUSE_USE_VERSION=26 -I/usr/local/include/fuse 5 | CFLAGS_EXTRA = -Wall -g 6 | ARCHS = -arch i386 -arch ppc 7 | LIBS = -lfuse 8 | 9 | .c: 10 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $< $(LIBS) 11 | 12 | all: $(TARGETS) 13 | 14 | hello: hello.c 15 | 16 | hello_ll: hello_ll.c 17 | 18 | clean: 19 | rm -f $(TARGETS) *.o 20 | -------------------------------------------------------------------------------- /filesystems/loopback/Makefile: -------------------------------------------------------------------------------- 1 | TARGETS = loopback 2 | 3 | CC = gcc 4 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -I/usr/local/include/fuse 5 | CFLAGS_EXTRA = -Wall -g -D__DARWIN_64_BIT_INO_T=1 6 | ARCHS = -arch i386 -arch ppc 7 | LIBS = -lfuse_ino64 8 | 9 | .c: 10 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $< $(LIBS) 11 | 12 | all: info 13 | 14 | loopback: loopback.c 15 | 16 | info: $(TARGETS) 17 | @echo 18 | @echo Compiled. The following is a typical way to run the loopback file system. In 19 | @echo this example, /tmp/dir is an existing directory whose contents will become 20 | @echo available in the existing mount point /Volumes/loop: 21 | @echo 22 | @echo "sudo ./loopback /Volumes/loop -omodules=threadid:subdir,subdir=/tmp/dir -oallow_other,native_xattr,volname=LoopbackFS" 23 | @echo 24 | 25 | clean: 26 | rm -f $(TARGETS) *.o 27 | -------------------------------------------------------------------------------- /filesystems/procfs/README: -------------------------------------------------------------------------------- 1 | System Requirements 2 | =================== 3 | 4 | * Mac OS X 10.5+ (10.4 is no longer supported) 5 | 6 | * pcre (specifically, the C++ wrapper for pcre) 7 | 8 | ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 9 | 10 | Usage 11 | ===== 12 | 13 | You can mount procfs as: 14 | 15 | $ sudo mkdir /proc 16 | $ sudo chown root:admin /proc 17 | $ sudo ./procfs /proc -f 18 | 19 | For certain things to work (and not crash procfs), you must either run 20 | procfs foregrounded (through the -f option), or use the procfs.plist 21 | file to run procfs through launchd. 22 | -------------------------------------------------------------------------------- /filesystems/procfs/procfs.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.osxbook.procfs 7 | ProgramArguments 8 | 9 | /usr/local/bin/procfs 10 | /proc 11 | -f 12 | 13 | KeepAlive 14 | 15 | UserName 16 | root 17 | WorkingDirectory 18 | / 19 | 20 | 21 | -------------------------------------------------------------------------------- /filesystems/procfs/procfs_displays.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MacFUSE-Based procfs 3 | */ 4 | 5 | #ifndef _PROCFS_DISPLAYS_H_ 6 | #define _PROCFS_DISPLAYS_H_ 7 | 8 | #include 9 | #include 10 | 11 | extern "C" { 12 | 13 | CGDisplayCount PROCFS_GetDisplayCount(void); 14 | int PROCFS_GetInfoForDisplayAtIndex(unsigned int index, char *buf, 15 | size_t *size); 16 | int PROCFS_GetPNGForDisplayAtIndex(unsigned int index, CFMutableDataRef *data); 17 | off_t PROCFS_GetPNGSizeForDisplayAtIndex(unsigned int index); 18 | 19 | } /* extern "C" */ 20 | 21 | #endif /* _PROCFS_DISPLAYS_H_ */ 22 | -------------------------------------------------------------------------------- /filesystems/procfs/procfs_proc_info.h: -------------------------------------------------------------------------------- 1 | /* 2 | * procfs as a MacFUSE file system for Mac OS X 3 | * 4 | * Copyright Amit Singh. All Rights Reserved. 5 | * http://osxbook.com 6 | * 7 | * http://code.google.com/p/macfuse/ 8 | * 9 | * Source License: GNU GENERAL PUBLIC LICENSE (GPL) 10 | */ 11 | 12 | #ifndef _LOCAL_SYS_PROC_INFO_H 13 | #define _LOCAL_SYS_PROC_INFO_H 14 | 15 | extern "C" { 16 | 17 | __BEGIN_DECLS 18 | 19 | #include 20 | 21 | extern int procfs_proc_pidinfo(pid_t pid, char *buf, int *len); 22 | 23 | __END_DECLS 24 | 25 | } 26 | 27 | #endif /*_LOCAL_SYS_PROC_INFO_H */ 28 | -------------------------------------------------------------------------------- /filesystems/procfs/procfs_tpm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2003 IBM 3 | * Source License: GNU GENERAL PUBLIC LICENSE (GPL) 4 | */ 5 | 6 | /* 7 | * MacFUSE-Based procfs 8 | */ 9 | 10 | #ifndef _PROCFS_TPM_H_ 11 | #define _PROCFS_TPM_H_ 12 | 13 | #include 14 | #include 15 | 16 | uint32_t 17 | TPM_GetCapability_Version(int *major, int *minor, int *version, int *rev); 18 | 19 | uint32_t 20 | TPM_GetCapability_Slots(uint32_t *slots); 21 | 22 | uint32_t 23 | TPM_GetCapability_Pcrs(uint32_t *pcrs); 24 | 25 | uint32_t 26 | TPM_GetCapability_Key_Handle(uint16_t *num, uint32_t keys[]); 27 | 28 | #endif /* _PROCFS_TPM_H_ */ 29 | -------------------------------------------------------------------------------- /filesystems/procfs/procfs_windows.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * MacFUSE-Based procfs 3 | * Windows 4 | * 5 | */ 6 | 7 | #include 8 | 9 | extern "C" { 10 | 11 | #include "procfs_windows.h" 12 | 13 | off_t 14 | PROCFS_GetPNGSizeForWindowAtIndex(CGWindowID index) 15 | { 16 | CGRect rect; 17 | 18 | CGError err = CGSGetScreenRectForWindow(_CGSDefaultConnection(), index, 19 | &rect); 20 | if (err) { 21 | return (off_t)0; 22 | } 23 | 24 | off_t size = ((off_t)rect.size.width * (off_t)rect.size.height * (off_t)3) 25 | + (off_t)8192; 26 | 27 | return size; 28 | } 29 | 30 | int 31 | PROCFS_GetPNGForWindowAtIndex(CGWindowID index, CFMutableDataRef *data) 32 | { 33 | *data = (CFMutableDataRef)0; 34 | 35 | CGImageRef image = CGWindowListCreateImage( 36 | CGRectNull, kCGWindowListOptionIncludingWindow, 37 | index, kCGWindowImageBoundsIgnoreFraming); 38 | 39 | if (!image) { 40 | return -1; 41 | } 42 | 43 | *data = CFDataCreateMutable(kCFAllocatorDefault, 0); 44 | if (!*data) { 45 | CFRelease(image); 46 | return -1; 47 | } 48 | 49 | CGImageDestinationRef dest = 50 | CGImageDestinationCreateWithData((CFMutableDataRef)*data, kUTTypePNG, 51 | 1, nil); 52 | if (!dest) { 53 | CFRelease(*data); 54 | CFRelease(image); 55 | return -1; 56 | } 57 | 58 | CGImageDestinationAddImage(dest, image, nil); 59 | CGImageDestinationFinalize(dest); 60 | 61 | CFRelease(dest); 62 | CGImageRelease(image); 63 | 64 | return 0; 65 | } 66 | 67 | } /* extern "C" */ 68 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/CSGCamera.h: -------------------------------------------------------------------------------- 1 | // 2 | // CSGCamera.h 3 | // MotionTracker 4 | // 5 | // Created by Tim Omernick on 3/7/05. 6 | // Copyright 2005 Tim Omernick. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @class CSGImage; 13 | 14 | /* 15 | CSGCamera provides a simple way to access the default sequence grabber component (say, an iSight or other DV camera). To use: 16 | 17 | - Instantiate an CSGCamera instance (using the plain old -init method) 18 | - Set the CSGCamera's delegate using -setDelegate:. The delegate is the object which will receive -camera:didReceiveFrame: messages. 19 | - Call -startWithSize: on the CSGCamera instance with a decent size (like 512x384). 20 | - Call -stop to stop recording. 21 | */ 22 | 23 | @interface CSGCamera : NSObject 24 | { 25 | id delegate; 26 | SeqGrabComponent component; 27 | SGChannel channel; 28 | GWorldPtr gWorld; 29 | Rect boundsRect; 30 | ImageSequence decompressionSequence; 31 | TimeScale timeScale; 32 | TimeValue lastTime; 33 | NSTimeInterval startTime; 34 | NSTimer *frameTimer; 35 | } 36 | 37 | - (void)setDelegate:(id)newDelegate; 38 | - (BOOL)startWithSize:(NSSize)frameSize; 39 | - (BOOL)stop; 40 | 41 | @end 42 | 43 | @interface NSObject (Private) 44 | - (void)camera:(CSGCamera *)aCamera didReceiveFrame:(CSGImage *)aFrame; 45 | @end 46 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/CSGImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // CSGImage.h 3 | // MotionTracker 4 | // 5 | // Created by Tim Omernick on 3/6/05. 6 | // Copyright 2005 Tim Omernick. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CSGImage : NSImage 12 | { 13 | NSTimeInterval sampleTime; 14 | } 15 | 16 | - (NSTimeInterval)sampleTime; 17 | - (void)setSampleTime:(NSTimeInterval)newSampleTime; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/CSGImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // CSGImage.m 3 | // MotionTracker 4 | // 5 | // Created by Tim Omernick on 3/6/05. 6 | // Copyright 2005 Tim Omernick. All rights reserved. 7 | // 8 | 9 | #import "CSGImage.h" 10 | 11 | @implementation CSGImage 12 | 13 | // NSObject subclass 14 | 15 | - (NSString *)description; 16 | { 17 | return [NSString stringWithFormat:@"<%@: %p> (sampleTime=%.4f)", NSStringFromClass([self class]), self, sampleTime]; 18 | } 19 | 20 | // API 21 | 22 | - (NSTimeInterval)sampleTime; 23 | { 24 | return sampleTime; 25 | } 26 | 27 | - (void)setSampleTime:(NSTimeInterval)newSampleTime; 28 | { 29 | sampleTime = newSampleTime; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/CocoaSequenceGrabber.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CocoaSequenceGrabber.h 3 | * CocoaSequenceGrabber 4 | * 5 | * Created by Tim Omernick on 3/18/05. 6 | * Copyright 2005 Tim Omernick. All rights reserved. 7 | * 8 | */ 9 | 10 | #import 11 | #import "CSGCamera.h" 12 | #import "CSGImage.h" 13 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/Makefile: -------------------------------------------------------------------------------- 1 | # Sequence Grabbing Library 2 | # 3 | # Dave MacLachlan 4 | 5 | CC = gcc 6 | CFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk 7 | CPPFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk 8 | LDFLAGS = -framework Cocoa -framework CoreAudioKit -framework Foundation -framework QuartzCore -framework QuickTime -framework QuartzCore 9 | 10 | OBJECTS = CSGCamera.o CSGImage.o procfs_sequencegrab.o 11 | 12 | all: libprocfs_sequencegrab.dylib libprocfs_sequencegrab.a 13 | 14 | %o.%m: 15 | gcc -c $(CFLAGS) -o $@ $< 16 | 17 | CSGCamera.o: CSGCamera.m 18 | CSGImage.o: CSGImage.m 19 | 20 | procfs_sequencegrab.o: procfs_sequencegrab.mm 21 | g++ -c $(CPPFLAGS) -o $@ $< 22 | 23 | libprocfs_sequencegrab.dylib: $(OBJECTS) 24 | g++ -dynamiclib -install_name /tmp/libprocfs_sequencegrab.dylib $(CFLAGS) -o $@ $(OBJECTS) $(LDFLAGS) 25 | 26 | libprocfs_sequencegrab.a: $(OBJECTS) 27 | libtool -static -o libprocfs_sequencegrab.a $(OBJECTS) 28 | ranlib libprocfs_sequencegrab.a 29 | 30 | clean: 31 | rm -f *.o libprocfs_sequencegrab.dylib libprocfs_sequencegrab.a 32 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/procfs_sequencegrab.h: -------------------------------------------------------------------------------- 1 | #ifndef _PROCFS_SEQUENCEGRAB_H_ 2 | #define _PROCFS_SEQUENCEGRAB_H_ 3 | 4 | #include 5 | 6 | #define CAMERA_TRIGGER_THRESHOLD 4 7 | #define CAMERA_ACTIVE_DURATION 1 8 | 9 | int PROCFS_GetTIFFFromCamera(CFMutableDataRef *data); 10 | off_t PROCFS_GetTIFFSizeFromCamera(void); 11 | 12 | #endif /* _PROCFS_SEQUENCEGRAB_H_ */ 13 | -------------------------------------------------------------------------------- /filesystems/procfs/sequencegrab/procfs_sequencegrab.mm: -------------------------------------------------------------------------------- 1 | #import "procfs_sequencegrab.h" 2 | #import "CocoaSequenceGrabber.h" 3 | 4 | static int loopCount = 0; 5 | 6 | @interface Snapshot : CSGCamera 7 | { 8 | CFMutableDataRef tiff; 9 | } 10 | 11 | - (void)setDataRef:(CFMutableDataRef)dataRef; 12 | - (void)camera:(CSGCamera *)aCamera didReceiveFrame:(CSGImage *)aFrame; 13 | 14 | @end 15 | 16 | @implementation Snapshot 17 | 18 | - (void)setDataRef:(CFMutableDataRef)dataRef 19 | { 20 | tiff = dataRef; 21 | } 22 | 23 | - (void)camera:(CSGCamera *)aCamera didReceiveFrame:(CSGImage *)aFrame; 24 | { 25 | if (++loopCount == CAMERA_TRIGGER_THRESHOLD) { 26 | CFDataRef image = (CFDataRef)[aFrame TIFFRepresentationUsingCompression:NSTIFFCompressionNone factor:0.0]; 27 | CFIndex len = CFDataGetLength(image); 28 | CFDataSetLength(tiff, len); 29 | CFDataReplaceBytes(tiff, CFRangeMake((CFIndex)0, len), CFDataGetBytePtr(image), len); 30 | //CFRelease(image); 31 | [self stop]; 32 | } 33 | } 34 | 35 | @end 36 | 37 | off_t 38 | PROCFS_GetTIFFSizeFromCamera(void) 39 | { 40 | return (off_t)((off_t)(640 * 480 * 4) + (off_t)8192); 41 | } 42 | 43 | int 44 | PROCFS_GetTIFFFromCamera(CFMutableDataRef *data) 45 | { 46 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 47 | 48 | loopCount = 0; 49 | 50 | Snapshot *camera = [[Snapshot alloc] init]; 51 | [camera setDataRef:*data]; 52 | [camera setDelegate:camera]; 53 | [camera startWithSize:NSMakeSize(640, 480)]; 54 | [[NSRunLoop currentRunLoop] 55 | runUntilDate:[NSDate dateWithTimeIntervalSinceNow:CAMERA_ACTIVE_DURATION]]; 56 | [camera release]; 57 | 58 | [pool release]; 59 | 60 | return 0; 61 | } 62 | -------------------------------------------------------------------------------- /filesystems/sshfs/binary/README.txt: -------------------------------------------------------------------------------- 1 | These binaries require a version of MacFUSE that's *newer* than MacFUSE 1.7. 2 | 3 | At the time of this writing, if you want to use these binaries, you will have 4 | to install the Developer release of MacFUSE. This should be sorted out soon 5 | enough as a new release of MacFUSE is just around the corner. 6 | -------------------------------------------------------------------------------- /filesystems/sshfs/binary/sshfs-static-leopard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/sshfs/binary/sshfs-static-leopard -------------------------------------------------------------------------------- /filesystems/sshfs/binary/sshfs-static-tiger: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/sshfs/binary/sshfs-static-tiger -------------------------------------------------------------------------------- /filesystems/unixfs/Makefile: -------------------------------------------------------------------------------- 1 | DIRS = ancientfs minixfs sysvfs ufs 2 | 3 | all: 4 | -for dir in $(DIRS); do (cd $$dir && make); done 5 | 6 | clean: 7 | -for dir in $(DIRS); do (cd $$dir && make clean); done 8 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/AncientUnix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/ancientfs/AncientUnix.pdf -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/COPYRIGHT.txt: -------------------------------------------------------------------------------- 1 | AncientFS is Copyright (c) 2008 Amit Singh. All Rights Reserved. 2 | 3 | For licensing and copyright information on 16-bit UNIX Versions 1, 2, 3, 4, 4 | 5, 6, 7, and 32-bit 32V UNIX, see the accompanying file AncientUnix.pdf or 5 | read it online at: 6 | 7 | http://www.tuhs.org/Archive/Caldera-license.pdf 8 | 9 | Code in ancient BSDs is covered by the Berkeley software License Agreement: 10 | 11 | /* 12 | * Copyright (c) 1986 Regents of the University of California. 13 | * All rights reserved. The Berkeley software License Agreement 14 | * specifies the terms and conditions for redistribution. 15 | * 16 | */ 17 | 18 | UNIX(R) is a registered trademark of The Open Group 19 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Ancient UNIX File Systems for MacFUSE 3 | * Amit Singh 4 | * http://osxbook.com 5 | */ 6 | 7 | #ifndef _ANCIENTFS_H_ 8 | #define _ANCIENTFS_H_ 9 | 10 | /* only upper-half bits */ 11 | 12 | #define ANCIENTFS_UNIX_V1 0x80000000 13 | #define ANCIENTFS_UNIX_V2 0x40000000 14 | #define ANCIENTFS_UNIX_V3 0x20000000 15 | #define ANCIENTFS_UNIX_V4 0x10000000 16 | #define ANCIENTFS_UNIX_V5 0x08000000 17 | #define ANCIENTFS_UNIX_V6 0x04000000 18 | #define ANCIENTFS_UNIX_V10 0x02000000 19 | #define ANCIENTFS_GENTAPE 0x01000000 20 | #define ANCIENTFS_DECTAPE 0x00800000 21 | #define ANCIENTFS_MAGTAPE 0x00400000 22 | #define ANCIENTFS_DUMP1KB 0x00200000 23 | #define ANCIENTFS_VERYOLDAR 0x00100000 24 | #define ANCIENTFS_V7TAR 0x00080000 25 | #define ANCIENTFS_USTAR 0x00040000 26 | #define ANCIENTFS_NEWCRC 0x00020000 27 | 28 | #define TAPEDIR_BEGIN_BLOCK_GENERIC 1 29 | #define TAPEDIR_END_BLOCK_GENERIC (1024*1024) 30 | 31 | /* 32 | * Block zero of the tape is not used. It is available as a boot program to 33 | * be used in a standalone environment. For example, it was used for DEC 34 | * diagnostic programs. 35 | * 36 | * Blocks 1 through 24 contain a directory of the tape. There are 192 entries 37 | * in the directory; 8 entries per block; 64 bytes per entry. We can think of 38 | * such an entry the tape's "dinode". 39 | */ 40 | #define TAPEDIR_BEGIN_BLOCK_DEC 1 41 | #define TAPEDIR_END_BLOCK_DEC 24 42 | 43 | /* 44 | * In the case of magtape, the directory blocks go from 1 through 62. It has 45 | * 496 entries. 46 | */ 47 | #define TAPEDIR_BEGIN_BLOCK_MAG 1 48 | #define TAPEDIR_END_BLOCK_MAG 62 49 | 50 | #endif /* _ANCIENTFS_H_ */ 51 | 52 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs_ar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Ancient UNIX File Systems for MacFUSE 3 | * Amit Singh 4 | * http://osxbook.com 5 | */ 6 | 7 | #ifndef _ANCIENTFS_AR_H_ 8 | #define _ANCIENTFS_AR_H_ 9 | 10 | #include "unixfs_internal.h" 11 | #include "ancientfs.h" 12 | 13 | #define BSIZE 512 14 | #define ROOTINO 1 15 | 16 | struct filsys 17 | { 18 | uint32_t s_fsize; 19 | uint32_t s_files; 20 | uint32_t s_directories; 21 | uint32_t s_lastino; 22 | struct inode* s_rootip; 23 | }; 24 | 25 | #define ARMAG "!\n" /* ar "magic number" */ 26 | #define SARMAG 8 /* strlen(ARMAG); */ 27 | 28 | #define AR_EFMT1 "#1/" /* extended format #1 */ 29 | 30 | struct ar_hdr 31 | { 32 | char ar_name[16]; /* ASCII name */ 33 | char ar_date[12]; /* ASCII modification time */ 34 | char ar_uid[6]; /* ASCII user id */ 35 | char ar_gid[6]; /* ASCII group id */ 36 | char ar_mode[8]; /* ASCII octal file permissions */ 37 | char ar_size[10]; /* ASCII size in bytes */ 38 | #define ARFMAG "`\n" 39 | char ar_fmag[2]; /* ASCII consistency check */ 40 | }; 41 | 42 | struct ar_node_info 43 | { 44 | struct inode* ar_self; 45 | struct ar_node_info* ar_parent; 46 | struct ar_node_info* ar_children; 47 | struct ar_node_info* ar_next_sibling; 48 | char* ar_name; 49 | uint32_t ar_namelen; 50 | }; 51 | 52 | #endif /* _ANCIENTFS_AR_H_ */ 53 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs_cpio_odc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Ancient UNIX File Systems for MacFUSE 3 | * Amit Singh 4 | * http://osxbook.com 5 | */ 6 | 7 | #ifndef _ANCIENTFS_CPIO_ODC_H_ 8 | #define _ANCIENTFS_CPIO_ODC_H_ 9 | 10 | #include "unixfs_internal.h" 11 | #include "ancientfs.h" 12 | 13 | #define ROOTINO 1 14 | 15 | struct filsys 16 | { 17 | uint32_t s_fsize; 18 | uint32_t s_files; 19 | uint32_t s_directories; 20 | uint32_t s_lastino; 21 | uint32_t s_dataoffset; 22 | uint32_t s_needsswap; 23 | struct inode* s_rootip; 24 | }; 25 | 26 | #define CPIO_ODC_BLOCK 512 27 | #define CPIO_ODC_MAGIC "070707" 28 | #define CPIO_ODC_MAGLEN 6 29 | #define CPIO_ODC_TRAILER "TRAILER!!!" 30 | #define CPIO_ODC_TRAILER_LEN (sizeof(CPIO_ODC_TRAILER)/sizeof(unsigned char)) 31 | 32 | struct cpio_odc_header { 33 | char c_magic[6]; 34 | char c_dev[6]; 35 | char c_ino[6]; 36 | char c_mode[6]; 37 | char c_uid[6]; 38 | char c_gid[6]; 39 | char c_nlink[6]; 40 | char c_rdev[6]; 41 | char c_mtime[11]; 42 | char c_namesize[6]; 43 | char c_filesize[11]; 44 | /* char c_name[c_namesize]; */ 45 | /* char c_data[c_filesize]; */ 46 | } __attribute__((packed)); 47 | 48 | struct cpio_odc_node_info { 49 | struct inode* ci_self; 50 | struct cpio_odc_node_info* ci_parent; 51 | struct cpio_odc_node_info* ci_children; 52 | struct cpio_odc_node_info* ci_next_sibling; 53 | char* ci_name; 54 | char* ci_linktargetname; 55 | }; 56 | 57 | /* modes */ 58 | #define IALLOC 0100000 /* i-node is allocated */ 59 | #define ILARG 010000 /* large file */ 60 | #define IFMT 0170000 /* type of file */ 61 | 62 | static inline mode_t 63 | ancientfs_cpio_odc_mode(mode_t mode, uint32_t flags) 64 | { 65 | return mode & (uint16_t)~(IALLOC & ILARG); 66 | } 67 | 68 | #endif /* _ANCIENTFS_CPIO_ODC_H_ */ 69 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs_dump1024.c: -------------------------------------------------------------------------------- 1 | #define UCB_NKB 1 2 | #include "ancientfs_dump.c" 3 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs_dumpvn1024.c: -------------------------------------------------------------------------------- 1 | #define UCB_NKB 1 2 | #include "ancientfs_dumpvn.c" 3 | -------------------------------------------------------------------------------- /filesystems/unixfs/ancientfs/ancientfs_v10.c: -------------------------------------------------------------------------------- 1 | #define V10_4K 1 2 | #include "ancientfs_v7.c" 3 | -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/asm/div64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/asm/div64.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/bitops.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/bitops.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/blockgroup_lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/blockgroup_lock.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/buffer_head.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/buffer_head.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/ctype.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/div64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/div64.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/fs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/fs.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/highmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/highmem.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/kernel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/kernel.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/magic.h: -------------------------------------------------------------------------------- 1 | #ifndef __LINUX_MAGIC_H__ 2 | #define __LINUX_MAGIC_H__ 3 | 4 | #define ADFS_SUPER_MAGIC 0xadf5 5 | #define AFFS_SUPER_MAGIC 0xadff 6 | #define AFS_SUPER_MAGIC 0x5346414F 7 | #define AUTOFS_SUPER_MAGIC 0x0187 8 | #define CODA_SUPER_MAGIC 0x73757245 9 | #define EFS_SUPER_MAGIC 0x414A53 10 | #define EXT2_SUPER_MAGIC 0xEF53 11 | #define EXT3_SUPER_MAGIC 0xEF53 12 | #define EXT4_SUPER_MAGIC 0xEF53 13 | #define HPFS_SUPER_MAGIC 0xf995e849 14 | #define ISOFS_SUPER_MAGIC 0x9660 15 | #define JFFS2_SUPER_MAGIC 0x72b6 16 | #define ANON_INODE_FS_MAGIC 0x09041934 17 | 18 | #define MINIX_SUPER_MAGIC 0x137F /* original minix fs */ 19 | #define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */ 20 | #define MINIX2_SUPER_MAGIC 0x2468 /* minix V2 fs */ 21 | #define MINIX2_SUPER_MAGIC2 0x2478 /* minix V2 fs, 30 char names */ 22 | #define MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs */ 23 | 24 | #define MSDOS_SUPER_MAGIC 0x4d44 /* MD */ 25 | #define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */ 26 | #define NFS_SUPER_MAGIC 0x6969 27 | #define OPENPROM_SUPER_MAGIC 0x9fa1 28 | #define PROC_SUPER_MAGIC 0x9fa0 29 | #define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */ 30 | 31 | #define REISERFS_SUPER_MAGIC 0x52654973 /* used by gcc */ 32 | /* used by file system utilities that 33 | look at the superblock, etc. */ 34 | #define REISERFS_SUPER_MAGIC_STRING "ReIsErFs" 35 | #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs" 36 | #define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs" 37 | 38 | #define SMB_SUPER_MAGIC 0x517B 39 | #define USBDEVICE_SUPER_MAGIC 0x9fa2 40 | #define CGROUP_SUPER_MAGIC 0x27e0eb 41 | 42 | #define FUTEXFS_SUPER_MAGIC 0xBAD1DEA 43 | #define INOTIFYFS_SUPER_MAGIC 0x2BAD1DEA 44 | 45 | #endif /* __LINUX_MAGIC_H__ */ 46 | -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/module.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/parser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * linux/include/linux/parser.h 3 | * 4 | * Header for lib/parser.c 5 | * Intended use of these functions is parsing filesystem argument lists, 6 | * but could potentially be used anywhere else that simple option=arg 7 | * parsing is required. 8 | */ 9 | 10 | 11 | /* associates an integer enumerator with a pattern string. */ 12 | struct match_token { 13 | int token; 14 | const char *pattern; 15 | }; 16 | 17 | typedef struct match_token match_table_t[]; 18 | 19 | /* Maximum number of arguments that match_token will find in a pattern */ 20 | enum {MAX_OPT_ARGS = 3}; 21 | 22 | /* Describe the location within a string of a substring */ 23 | typedef struct { 24 | char *from; 25 | char *to; 26 | } substring_t; 27 | 28 | int match_token(char *, match_table_t table, substring_t args[]); 29 | int match_int(substring_t *, int *result); 30 | int match_octal(substring_t *, int *result); 31 | int match_hex(substring_t *, int *result); 32 | size_t match_strlcpy(char *, const substring_t *, size_t); 33 | char *match_strdup(const substring_t *); 34 | -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/percpu_counter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/percpu_counter.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/sched.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/sched.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/slab.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/slab.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/smp_lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/smp_lock.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/stat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/stat.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/stddef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/stddef.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/string.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/swap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/swap.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/kernel/include/linux/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuxera/macfuse/1e4bb08e8f9e10df3106473007d72e78c0795959/filesystems/unixfs/common/linux/kernel/include/linux/types.h -------------------------------------------------------------------------------- /filesystems/unixfs/common/linux/linux.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "unixfs_internal.h" 7 | #include "linux.h" 8 | 9 | int 10 | sb_bread_intobh(struct super_block* sb, off_t block, struct buffer_head* bh) 11 | { 12 | if (pread(sb->s_bdev, bh->b_data, sb->s_blocksize, 13 | block * (off_t)sb->s_blocksize) != sb->s_blocksize) 14 | return EIO; 15 | 16 | return 0; 17 | } 18 | 19 | void 20 | brelse(struct buffer_head* bh) 21 | { 22 | if (bh && bh->b_flags.dynamic) 23 | free((void*)bh); 24 | } 25 | 26 | struct buffer_head* 27 | sb_getblk(struct super_block* sb, sector_t block) 28 | { 29 | struct buffer_head* bh = calloc(1, sizeof(struct buffer_head)); 30 | if (!bh) { 31 | fprintf(stderr, "*** fatal error: cannot allocate buffer\n"); 32 | abort(); 33 | } 34 | bh->b_flags.dynamic = 1; 35 | bh->b_size = PAGE_SIZE; 36 | bh->b_blocknr = block; 37 | return bh; 38 | } 39 | 40 | struct buffer_head* 41 | sb_bread(struct super_block* sb, off_t block) 42 | { 43 | struct buffer_head* bh = sb_getblk(sb, block); 44 | if (bh && sb_bread_intobh(sb, block, bh) != 0) { 45 | brelse(bh); 46 | return NULL; 47 | } 48 | return bh; 49 | } 50 | -------------------------------------------------------------------------------- /filesystems/unixfs/minixfs/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Minix File System Famiy for MacFUSE 3 | # Amit Singh 4 | # http://osxbook.com 5 | # 6 | 7 | TARGETS = minixfs 8 | 9 | COMMON=../common 10 | UNIXFS=$(COMMON)/unixfs 11 | LINUX=$(COMMON)/linux 12 | LINUX_KERNEL=$(LINUX)/kernel 13 | 14 | CC = gcc 15 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D__DARWIN_64_BIT_INO_T=1 -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=27 -I/usr/local/include/fuse -I$(UNIXFS) -I$(LINUX) -I$(LINUX_KERNEL)/include 16 | CFLAGS_EXTRA = -Wall -Werror -g 17 | ARCHS = -arch i386 -arch ppc 18 | LIBS = -lfuse_ino64 19 | 20 | all: $(TARGETS) 21 | 22 | OBJS = unixfs_minixfs.o minixfs.o minixfs_mainx.o itree_v1.o itree_v2.o 23 | OBJS_COMMON = $(UNIXFS)/unixfs.o $(UNIXFS)/unixfs_internal.o $(LINUX)/linux.o 24 | 25 | minixfs: $(OBJS) $(OBJS_COMMON) 26 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $^ $(LIBS) 27 | 28 | -include $(OBJS:.o=.d) 29 | 30 | %.o: %.c 31 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) $*.c -c -o $*.o 32 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) -MM $*.c > $*.d 33 | @mv -f $*.d $*.d.tmp 34 | @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d 35 | @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d 36 | @rm -f $*.d.tmp 37 | 38 | clean: 39 | rm -f $(TARGETS) *.o *.d $(UNIXFS)/*.o $(UNIXFS)/*.d $(LINUX)/*.o $(LINUX)/*.d 40 | -------------------------------------------------------------------------------- /filesystems/unixfs/sysvfs/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # SYSV File System Famiy for MacFUSE 3 | # Amit Singh 4 | # http://osxbook.com 5 | # 6 | 7 | TARGETS = sysvfs 8 | 9 | COMMON=../common 10 | UNIXFS=$(COMMON)/unixfs 11 | LINUX=$(COMMON)/linux 12 | LINUX_KERNEL=$(LINUX)/kernel 13 | 14 | CC = gcc 15 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D__DARWIN_64_BIT_INO_T=1 -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=27 -I/usr/local/include/fuse -I$(UNIXFS) -I$(LINUX) 16 | CFLAGS_EXTRA = -Wall -Werror -g 17 | ARCHS = -arch i386 -arch ppc 18 | LIBS = -lfuse_ino64 19 | 20 | all: $(TARGETS) 21 | 22 | OBJS = unixfs_sysvfs.o sysvfs.o sysvfs_mainx.o 23 | OBJS_COMMON = $(UNIXFS)/unixfs.o $(UNIXFS)/unixfs_internal.o $(LINUX)/linux.o 24 | 25 | sysvfs: $(OBJS) $(OBJS_COMMON) 26 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $^ $(LIBS) 27 | 28 | -include $(OBJS:.o=.d) 29 | 30 | %.o: %.c 31 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) $*.c -c -o $*.o 32 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) -MM $*.c > $*.d 33 | @mv -f $*.d $*.d.tmp 34 | @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d 35 | @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d 36 | @rm -f $*.d.tmp 37 | 38 | clean: 39 | rm -f $(TARGETS) *.o *.d $(UNIXFS)/*.o $(UNIXFS)/*.d $(LINUX)/*.o $(LINUX)/*.d 40 | -------------------------------------------------------------------------------- /filesystems/unixfs/ufs/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # UFS for MacFUSE 3 | # Amit Singh 4 | # http://osxbook.com 5 | 6 | TARGETS = ufs 7 | 8 | COMMON=../common 9 | UNIXFS=$(COMMON)/unixfs 10 | LINUX=$(COMMON)/linux 11 | LINUX_KERNEL=$(LINUX)/kernel 12 | 13 | CC = gcc 14 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D__DARWIN_64_BIT_INO_T=1 -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=27 -I/usr/local/include/fuse -I. -I$(LINUX) -I$(LINUX_KERNEL)/include -I$(LINUX_KERNEL)/fs -I$(UNIXFS) 15 | CFLAGS_EXTRA = -Wall -Werror -g 16 | ARCHS = -arch i386 -arch ppc 17 | LIBS = -lfuse_ino64 18 | 19 | all: $(TARGETS) 20 | 21 | OBJS = unixfs_ufs.o ufs_mainx.o ufs.o 22 | OBJS_COMMON = $(UNIXFS)/unixfs.o $(UNIXFS)/unixfs_internal.o $(LINUX)/linux.o $(LINUX_KERNEL)/lib/parser.o 23 | 24 | ufs: $(OBJS) $(OBJS_COMMON) 25 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $^ $(LIBS) 26 | 27 | -include $(OBJS:.o=.d) 28 | 29 | %.o: %.c 30 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) $*.c -c -o $*.o 31 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) -MM $*.c > $*.d 32 | @mv -f $*.d $*.d.tmp 33 | @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d 34 | @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d 35 | @rm -f $*.d.tmp 36 | 37 | clean: 38 | rm -f $(TARGETS) *.o *.d $(UNIXFS)/*.o $(UNIXFS)/*.d $(LINUX)/*.o $(LINUX)/*.d $(LINUX_KERNEL)/lib/*.o $(LINUX_KERNEL)/lib/*.d 39 | -------------------------------------------------------------------------------- /filesystems/unixfs/ufs/ufs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * UFS for MacFUSE 3 | * Amit Singh 4 | * http://osxbook.com 5 | */ 6 | 7 | #ifndef _UFS_H_ 8 | #define _UFS_H_ 9 | 10 | #include "unixfs_internal.h" 11 | #include "linux.h" 12 | 13 | // #define CONFIG_UFS_DEBUG 1 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | struct super_block* 21 | U_ufs_fill_super(int fd, void* args, int silent); 22 | int U_ufs_statvfs(struct super_block* sb, struct statvfs* buf); 23 | int U_ufs_iget(struct super_block* sb, struct inode* ip); 24 | ino_t U_ufs_inode_by_name(struct inode* dir, const char* name); 25 | int U_ufs_next_direntry(struct inode* dir, struct unixfs_dirbuf* dirbuf, 26 | off_t* offset, struct unixfs_direntry* dent); 27 | int U_ufs_get_block(struct inode* ip, sector_t fragment, off_t* result); 28 | int U_ufs_get_page(struct inode* ip, sector_t index, char* pagebuf); 29 | 30 | #endif /* _UFS_H_ */ 31 | -------------------------------------------------------------------------------- /filesystems/verybigfs/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile 2 | # A "very big" file system with a "very big" file. All that you can read. 3 | # 4 | # Copyright Amit Singh. All Rights Reserved. 5 | # http://osxbook.com 6 | # 7 | # http://code.google.com/p/macfuse/ 8 | # 9 | # Source License: GNU GENERAL PUBLIC LICENSE (GPL) 10 | # 11 | 12 | TARGETS = verybigfs 13 | 14 | CC = gcc 15 | CFLAGS_MACFUSE = -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -I/usr/local/include/fuse 16 | CFLAGS_EXTRA = -Wall -g 17 | ARCHS = -arch i386 -arch ppc 18 | LIBS = -lfuse 19 | 20 | .c: 21 | $(CC) $(CFLAGS_MACFUSE) $(CFLAGS_EXTRA) $(ARCHS) -o $@ $< $(LIBS) 22 | 23 | all: $(TARGETS) 24 | 25 | verybigfs: verybigfs.c 26 | 27 | clean: 28 | rm -f $(TARGETS) *.o 29 | -------------------------------------------------------------------------------- /support/testing/posix_compat_test/Makefile: -------------------------------------------------------------------------------- 1 | CC_COMPILE = g++ -g -O0 2 | 3 | OBJECTS = \ 4 | posix_compat_test.o 5 | 6 | all: posix_compat_test 7 | 8 | posix_compat_test: $(OBJECTS) 9 | g++ -g -O0 -o $@ $(OBJECTS) 10 | 11 | clean: 12 | rm -f posix_compat_test *.o 13 | 14 | %.o :: %.cc 15 | $(CC_COMPILE) -c -o $@ $< 16 | --------------------------------------------------------------------------------