/* 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; }