/* get disk restrictions
*
* Copyright (c) 1993 P.R.Lees
* Novell Systems Programmer
* Academic Information Services
* University of Salford
* The Crescent
* Salford
* M5 4WT
*
*
*
* This program is intended to be used with the acompanying AWK script which
* produces a TeX output file. Running this through TeX generates a
* prettily formatted document
*
* This program is Public Domain please acknowledge the source.
*/
#include
#include
#include
#include
#include
int err;
char fileserverName[48];
BYTE volNumber;
WORD ConID;
main()
{
GetUserStats();
GetVolumeInfo();
return 0;
}
GetUserStats()
{
long objectID;
LONG restriction,blocksInUse;
char objectName[48];
WORD objectType;
char objectHasProperties;
char objectFlag;
char objectSecurity;
char volumeName[48];
int scanerr;
objectID=-1;
scanerr=0;
GetFileServerName(0,fileserverName);
while (scanerr==0)
{
scanerr=ScanBinderyObject("*",OT_USER,&objectID,objectName,&objectType,&objectHasProperties,&objectFlag,&objectSecurity);
for(volNumber=0;volNumber<31;volNumber++)
{
err=GetObjectDiskRestrictions(0,volNumber,objectID,&restriction,&blocksInUse);
if (err) {continue;}
err=GetVolumeName(volNumber,volumeName);
if(restriction!=0)
printf("%s %s %s: %ld %ld\n",fileserverName,objectName,volumeName,(restriction*4),(blocksInUse*4));
if( (restriction==0) && (blocksInUse!=0) )
printf("#%s %s %s: %ld %ld\n",fileserverName,objectName,volumeName,(restriction*4),(blocksInUse*4));
}
}
return 0;
}
GetVolumeInfo()
{
char volumeName[16];
WORD totalBlocks,sectorsPerBlock,availableBlocks;
WORD totalDirectorySlots,availableDirectorySlots;
WORD volumesRemovable;
int volnumtest;
NWVOL_USAGE volUsage;
GetFileServerName(0,fileserverName);
for(volNumber=0;volNumber<31;volNumber++)
{
err=GetVolUsage(0,volNumber,&volUsage);
err=GetVolumeNumber(volUsage.volName,&volnumtest);
if (err) return err;
printf("%s %s: %s: %ld %ld\n",fileserverName,volUsage.volName,volUsage.volName,(volUsage.totalBlocks * volUsage.blockSize),( (volUsage.freeBlocks + volUsage.purgableBlocks)* volUsage.blockSize));
}
return 0;
}