# macos-lib.pl # Mount table functions for OSX # Only options for currently mounted filesystems are supported at the moment. # list_mounted() # Return a list of all the currently mounted filesystems and swap files. # The list is in the form: # directory device type options # Under FreeBSD, there seems to be no way to get additional mount options # used by filesystems like NFS etc. Even getting the full details of mounted # filesystems requires C code! So we have to call a specially-written external # program to get the mount list sub list_mounted { # get the list of mounted filesystems local(@rv, $_); local $arch = &backquote_command("uname -m"); local $cmd; if ($arch =~ /power/) { $cmd = "macos-mounts"; &compile_program($cmd, '.*power.*'); } else { $cmd = "macos-mounts-intel"; &compile_program($cmd, 'i386'); } open(CMD, "$module_config_directory/$cmd |"); while(<CMD>) { local @p = split(/\t/, $_); if ($p[2] eq "procfs" || $p[1] eq "procfs") { $p[1] = $p[2] = "proc"; } push(@rv, \@p); } close(CMD); return @rv; } # mount_dir(directory, device, type, options) # Mount a new directory from some device, with some options. Returns 0 if ok, # or an error string if failed sub mount_dir { local($out, $opts, $shar, %options, %smbopts); $opts = $_[3] eq "-" ? "" : "-o \"$_[3]\""; $opts = join(',', grep { !/quota/ } split(/,/, $opts)); $out = &backquote_logged("mount -t $_[2] $opts $_[1] $_[0] 2>&1"); if ($?) { return "<pre>$out</pre>"; } return 0; } # unmount_dir(directory, device, type) # Unmount a directory that is currently mounted. Returns 0 if ok, # or an error string if failed sub unmount_dir { local($out, %smbopts, $dir); $out = &backquote_logged("umount $_[0] 2>&1"); if ($?) { return "<pre>$out</pre>"; } return 0; } sub list_mounts { return ( ); } # mount_modes(type) # Given a filesystem type, returns 4 numbers that determine how the file # system can be mounted, and whether it can be fsck'd # The first is: # 0 - cannot be permanently recorded # (smbfs under linux) # 1 - can be permanently recorded, and is always mounted at boot # (swap under linux) # 2 - can be permanently recorded, and may or may not be mounted at boot # (most normal filesystems) # The second is: # 0 - mount is always permanent => mounted when saved # (swap under linux) # 1 - doesn't have to be permanent # (normal fs types) # The third is: # 0 - cannot be fsck'd at boot time # 1 - can be be fsck'd at boot # The fourth is: # 0 - can be unmounted # 1 - cannot be unmounted sub mount_modes { if ($_[0] eq "swap") { return (2, 1, 0, 1); } elsif ($_[0] eq "ufs") { return (2, 1, 1, 0); } else { return (2, 1, 0, 0); } } # disk_space(type, directory) # Returns the amount of total and free space for some filesystem, or an # empty array if not appropriate. sub disk_space { if (&get_mounted($_[1], "*") < 0) { return (); } if ($_[0] eq "proc" || $_[0] eq "swap") { return (); } my $out = &backquote_command("df -k ".quotemeta($_[1]), 1); if ($out =~ /Mounted on\n\S+\s+(?<total>\S+)\s+(?<used>\S+)\s+(?<free>\S+)\s+(?<percent>\d+)/) { return ("$+{total}", "$+{free}", "$+{used}", "$+{percent}"); } return ( ); } # list_fstypes() # Returns an array of all the supported filesystem types. If a filesystem is # found that is not one of the supported types, generate_location() and # generate_options() will not be called for it. sub list_fstypes { local @rv = ("ufs", "nfs", "cd9660", "msdos", "swap"); push(@rv, "ext2fs") if (&has_command("mount_ext2fs")); push(@rv, "ntfs") if (&has_command("mount_ntfs")); return @rv; } # fstype_name(type) # Given a short filesystem type, return a human-readable name for it sub fstype_name { local(%fsmap); %fsmap = ("ufs", "FreeBSD Unix Filesystem", "nfs","Network Filesystem", "hfs","Macintosh Filesystem", "msdos","MS-DOS Filesystem", "volfs","Volumes Filesystem", "swap","Virtual Memory"); return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]); } sub device_name { return $_[0]; } sub files_to_lock { return ( ); } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.73 KB | 0644 |
|
acl_security.pl | File | 1.59 KB | 0755 |
|
backup_config.pl | File | 686 B | 0755 |
|
cgi_args.pl | File | 325 B | 0755 |
|
config-cobalt-linux | File | 132 B | 0644 |
|
config-coherent-linux | File | 186 B | 0644 |
|
config-corel-linux | File | 160 B | 0644 |
|
config-debian-linux | File | 206 B | 0644 |
|
config-freebsd | File | 172 B | 0644 |
|
config-generic-linux | File | 133 B | 0644 |
|
config-gentoo-linux | File | 169 B | 0644 |
|
config-hpux | File | 172 B | 0644 |
|
config-lfs-linux | File | 154 B | 0644 |
|
config-macos | File | 150 B | 0644 |
|
config-mandrake-linux | File | 186 B | 0644 |
|
config-msc-linux | File | 186 B | 0644 |
|
config-netbsd | File | 172 B | 0644 |
|
config-open-linux | File | 158 B | 0644 |
|
config-open-linux-3.1e | File | 177 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 162 B | 0644 |
|
config-openbsd | File | 172 B | 0644 |
|
config-openmamba-linux | File | 162 B | 0644 |
|
config-osf1 | File | 230 B | 0644 |
|
config-pardus-linux | File | 133 B | 0644 |
|
config-redhat-linux | File | 162 B | 0644 |
|
config-redhat-linux-5.0-6.0 | File | 191 B | 0644 |
|
config-redhat-linux-6.1-ALL | File | 186 B | 0644 |
|
config-slackware-linux | File | 133 B | 0644 |
|
config-sol-linux | File | 292 B | 0644 |
|
config-solaris | File | 205 B | 0644 |
|
config-suse-linux | File | 162 B | 0644 |
|
config-syno-linux | File | 133 B | 0644 |
|
config-trustix-linux | File | 186 B | 0644 |
|
config-turbo-linux | File | 191 B | 0644 |
|
config-turbo-linux-4.0 | File | 191 B | 0644 |
|
config-united-linux | File | 162 B | 0644 |
|
config.info | File | 800 B | 0644 |
|
config.info.ca | File | 1 KB | 0644 |
|
config.info.cs | File | 747 B | 0644 |
|
config.info.de | File | 959 B | 0644 |
|
config.info.es | File | 431 B | 0644 |
|
config.info.fa | File | 1010 B | 0644 |
|
config.info.fr | File | 400 B | 0644 |
|
config.info.ja | File | 760 B | 0644 |
|
config.info.ko | File | 565 B | 0644 |
|
config.info.nl | File | 654 B | 0644 |
|
config.info.no | File | 668 B | 0644 |
|
config.info.pl | File | 475 B | 0644 |
|
config.info.pt_BR | File | 701 B | 0644 |
|
config.info.ru | File | 736 B | 0644 |
|
config.info.sv | File | 369 B | 0644 |
|
config.info.tr | File | 579 B | 0644 |
|
config.info.uk | File | 741 B | 0644 |
|
config.info.zh | File | 347 B | 0644 |
|
config.info.zh_TW | File | 403 B | 0644 |
|
create_swap.cgi | File | 466 B | 0755 |
|
defaultacl | File | 60 B | 0644 |
|
edit_mount.cgi | File | 4.11 KB | 0755 |
|
freebsd-lib.pl | File | 33.48 KB | 0755 |
|
hpux-lib.pl | File | 35.81 KB | 0755 |
|
index.cgi | File | 4.31 KB | 0755 |
|
linux-lib.pl | File | 72.08 KB | 0755 |
|
log_parser.pl | File | 626 B | 0755 |
|
macos-lib.pl | File | 3.95 KB | 0755 |
|
module.info | File | 292 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 168 B | 0644 |
|
module.info.ar | File | 190 B | 0644 |
|
module.info.ar.auto | File | 28 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 286 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 281 B | 0644 |
|
module.info.ca | File | 161 B | 0644 |
|
module.info.ca.auto | File | 25 B | 0644 |
|
module.info.cs | File | 48 B | 0644 |
|
module.info.cs.auto | File | 142 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 162 B | 0644 |
|
module.info.de | File | 162 B | 0644 |
|
module.info.de.auto | File | 28 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 322 B | 0644 |
|
module.info.es | File | 43 B | 0644 |
|
module.info.es.auto | File | 151 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 169 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 203 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 191 B | 0644 |
|
module.info.fr | File | 37 B | 0644 |
|
module.info.fr.auto | File | 161 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 213 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 192 B | 0644 |
|
module.info.hu | File | 35 B | 0644 |
|
module.info.hu.auto | File | 139 B | 0644 |
|
module.info.it | File | 22 B | 0644 |
|
module.info.it.auto | File | 126 B | 0644 |
|
module.info.ja | File | 75 B | 0644 |
|
module.info.ja.auto | File | 202 B | 0644 |
|
module.info.ko | File | 51 B | 0644 |
|
module.info.ko.auto | File | 170 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 180 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 192 B | 0644 |
|
module.info.ms | File | 144 B | 0644 |
|
module.info.ms.auto | File | 24 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 177 B | 0644 |
|
module.info.nl | File | 41 B | 0644 |
|
module.info.nl.auto | File | 129 B | 0644 |
|
module.info.no | File | 39 B | 0644 |
|
module.info.no.auto | File | 120 B | 0644 |
|
module.info.pl | File | 44 B | 0644 |
|
module.info.pl.auto | File | 131 B | 0644 |
|
module.info.pt | File | 45 B | 0644 |
|
module.info.pt.auto | File | 143 B | 0644 |
|
module.info.pt_BR | File | 47 B | 0644 |
|
module.info.pt_BR.auto | File | 149 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 188 B | 0644 |
|
module.info.ru | File | 40 B | 0644 |
|
module.info.ru.auto | File | 211 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 207 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 192 B | 0644 |
|
module.info.sv | File | 43 B | 0644 |
|
module.info.sv.auto | File | 124 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 305 B | 0644 |
|
module.info.tr | File | 34 B | 0644 |
|
module.info.tr.auto | File | 146 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 291 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 249 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 208 B | 0644 |
|
module.info.zh | File | 36 B | 0644 |
|
module.info.zh.auto | File | 126 B | 0644 |
|
module.info.zh_TW | File | 39 B | 0644 |
|
module.info.zh_TW.auto | File | 132 B | 0644 |
|
mount-lib.pl | File | 10.79 KB | 0755 |
|
mount.cgi | File | 465 B | 0755 |
|
netbsd-lib.pl | File | 24.64 KB | 0755 |
|
netbsd-mounts-2.c | File | 1.04 KB | 0644 |
|
netbsd-mounts-3.c | File | 1.09 KB | 0644 |
|
netbsd-mounts.c | File | 1.08 KB | 0644 |
|
nfs_export.cgi | File | 1.13 KB | 0755 |
|
nfs_server.cgi | File | 1.79 KB | 0755 |
|
openbsd-lib.pl | File | 24.37 KB | 0755 |
|
osf1-lib.pl | File | 11.34 KB | 0755 |
|
prefs.info | File | 49 B | 0644 |
|
rbac-mapping | File | 135 B | 0644 |
|
save_mount.cgi | File | 13.23 KB | 0755 |
|
smb_server.cgi | File | 1.94 KB | 0755 |
|
smb_share.cgi | File | 1.29 KB | 0755 |
|
solaris-lib.pl | File | 56.62 KB | 0755 |
|
system_info.pl | File | 3.96 KB | 0644 |
|
unmount.cgi | File | 503 B | 0755 |
|