diff options
Diffstat (limited to 'win32.mod/win32.bmx')
-rw-r--r-- | win32.mod/win32.bmx | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/win32.mod/win32.bmx b/win32.mod/win32.bmx new file mode 100644 index 0000000..8f0068f --- /dev/null +++ b/win32.mod/win32.bmx @@ -0,0 +1,93 @@ +Rem +bbdoc: noddybox.win32 +EndRem +Module noddybox.win32 + +ModuleInfo "Framework: Some routines I wanted from the Windows API" +ModuleInfo "Copyright: Public Domain" +ModuleInfo "Author: Ian Cowburn" +ModuleInfo "Version: $Revision$" + +' $Id$ + +Strict + +?Win32 +Import "noddybox.win32.c" +? + +Rem +bbdoc: Returned from GetDriveType() for unknown types. +EndRem +Const DRIVETYPE_UNKNOWN:Int=0 +Rem +bbdoc: Returned from GetDriveType() for invalid root paths. +EndRem +Const DRIVETYPE_NO_ROOT_DIR:Int=1 +Rem +bbdoc: Returned from GetDriveType() for removeable drives. +EndRem +Const DRIVETYPE_REMOVABLE:Int=2 +Rem +bbdoc: Returned from GetDriveType() for fixed drives. +EndRem +Const DRIVETYPE_FIXED:Int=3 +Rem +bbdoc: Returned from GetDriveType() for networked drives. +EndRem +Const DRIVETYPE_REMOTE:Int=4 +Rem +bbdoc: Returned from GetDriveType() for CD-ROM drives. +EndRem +Const DRIVETYPE_CDROM:Int=5 +Rem +bbdoc: Returned from GetDriveType() for RAM disks. +EndRem +Const DRIVETYPE_RAMDISK:Int=6 + +Rem +bbdoc: Returns a bitmask of the drives on the system +about: Returns a bitmask where a bit set indicates the presence of a drive letter. Bit 0 is A:, 1 is B: and so on. +about: On Linux and MacOS should return 0. +EndRem +Function W32GetLogicalDrives:Int() + Return W32GetLogicalDrives_C() +End Function + +Rem +bbdoc: Returns a drive type +about: Returns a DRIVETYPE_ constants given a root path in @root +about: On Linux and MacOS should return DRIVETYPE_UNKNOWN. +EndRem +Function W32GetDriveType:Int(root:String) + Return W32GetDriveType_C(root.ToCString()) +End Function + +Private + +?Win32 +Extern + Function W32GetLogicalDrives_C:Int() + + Rem + bbdoc: Returns a drive type + about: Returns a DRIVETYPE_ constants given a root path in @root + about: On Linux and MacOS should return DRIVETYPE_UNKNOWN. + EndRem + Function W32GetDriveType_C:Int(root:Byte Ptr) +EndExtern +?Linux +Function W32GetLogicalDrives_C:Int() + Return 0 +End Function +Function W32GetDriveType_C:Int(root:Byte Ptr) + Return DRIVETYPE_UNKNOWN +End Function +?MacOS +Function W32GetLogicalDrives_C:Int() + Return 0 +End Function +Function W32GetDriveType_C:Int(root:Byte Ptr) + Return DRIVETYPE_UNKNOWN +End Function +? |