Metropoli BBS
VIEWER: dfree.c MODE: TEXT (ASCII)
/*
Copyright (C) Magna Carta Software, Inc. 1988-1991.  All Rights Reserved
C COMMUNICATIONS TOOLKIT
DFREE.C -- Return number of bytes free on the designated drive.
*/

#if (defined(CCTW) || defined(_WINDOWS))
    #include <windows.h>
#endif
#include <dos.h>
#include <compat.h>
#include <stdio.h>

/*
DFREE -- Calculate free bytes on designated drive.
Drive is specified as 0 = current drive. 1=drive A, 2=drive B, etc.
*/
long dfree(short drive)
{
    union REGS regs;

    setbytereg(ah) = 0X36;
    setbytereg(dl) = (unsigned char) drive;
    int86(0X21, &regs, &regs);
    if (setwordreg(ax) == 0XFFFF) return (EOF);

    return ((long) setwordreg(ax) * setwordreg(bx) * setwordreg(cx));
}



#if defined(CWT_TEST)
#include <stdio.h>

void main(void)
{
    printf("Drive space is: %ld bytes", dfree(0));

}
#endif
[ RETURN TO DIRECTORY ]