local ($SYS_quota)=148;
local ($Q_QUOTAON)=1;
local ($Q_QUOTAOFF)=2;
local ($Q_SETQUOTA)=3;
local ($Q_GETQUOTA)=4;
local ($Q_SETQLIM)=5;
local ($Q_SYNC)=6;
@comments = ("","Absolute disk limit for user ","Preferred disk limit for user "
,"Current block count for user ","Maximum allocated files for user ",
"Preferred file limit for user ");
local ($dir) = "/dev/dsk/6s0\0";
local ($stat,$buf);
if($< == 0){
print "view [change] quotas for which user? > ";
chop($user = <STDIN>);}
else{
print "Enter your login name > ";
chop($user = <STDIN>);}
@newvals = ();
@uinfo = getpwnam($user);
local ($dqblk) = pack("LLLLLLLL",0,0,0,0,0,0,0,0);
$stat=syscall($SYS_quota,$Q_GETQUOTA,$dir,$uinfo[2]+0,$dqblk);
if($stat != 0){die "You cant do that!!";}
@retvals = unpack("LLLLLLLL",$dqblk);
print("\n[1] $comments[1] $user > $retvals[0]\n");
print("\n[2] $comments[2] $user > $retvals[1]\n");
print("\n[3] $comments[3] $user > $retvals[2]\n");
print("\n[4] $comments[4] $user > $retvals[3]\n");
print("\n[5] $comments[5] $user > $retvals[4]\n");
if($< != 0){print "\nThanks for using Metronet!\n";exit 0;}
@newvals = @retvals;
while(1){
print "\nChange which parameter? (1-5), <CR> to quit. \"s\" to save new values > ";
chop($num = <STDIN>);
if ($num eq ""){exit 0;}