' Copyright (c) 2006 Ian Cowburn ' ' Permission is hereby granted, free of charge, to any person obtaining a copy of ' this software and associated documentation files (the "Software"), to deal in ' the Software without restriction, including without limitation the rights to ' use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ' of the Software, and to permit persons to whom the Software is furnished to do ' so, subject to the following conditions: ' ' The above copyright notice and this permission notice shall be included in all ' copies or substantial portions of the Software. ' ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ' AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ' LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ' OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ' SOFTWARE. ' ' $Id$ ' Rem bbdoc: noddybox.win32 EndRem Module noddybox.win32 ModuleInfo "Framework: Some routines I wanted from the Windows API" ModuleInfo "Copyright: Ian Cowburn -- Released under the MIT License" ModuleInfo "Author: Ian Cowburn" ModuleInfo "Version: $Revision$" 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 ?