/* 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 #endif #include #include #include /* 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, ®s, ®s); if (setwordreg(ax) == 0XFFFF) return (EOF); return ((long) setwordreg(ax) * setwordreg(bx) * setwordreg(cx)); } #if defined(CWT_TEST) #include void main(void) { printf("Drive space is: %ld bytes", dfree(0)); } #endif