summaryrefslogtreecommitdiff
path: root/win32.mod/win32.bmx
diff options
context:
space:
mode:
Diffstat (limited to 'win32.mod/win32.bmx')
-rw-r--r--win32.mod/win32.bmx93
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
+?