Patch title: Release 89 bulk changes
Abstract:
File: /linux/storage/filesystem.pli
Key:
    Removed line
    Added line
   
abstract
  [This module will give you the ability to deal with Linux 



type os_statfs
abstract
  [This module will give you the ability to deal with Linux 



type os_statfs
  field Int type
  field Int bsize
  field Int blocks
  field Int bfree
  field Int bavail
  field Int bfiles
  field Int ffree
  field (Array Int 2) fsid
  field Int namelen
  field (Array Int 6) spare
  field uInt type
  field uInt bsize
  field uInt blocks
  field uInt bfree
  field uInt bavail
  field uInt bfiles
  field uInt ffree
  field (Array uInt 2) fsid
  field uInt namelen
  field (Array uInt 6) spare
 
function os_statfs path buf -> err
  arg CStr path ; arg_w os_statfs buf ; arg Int err
  kernel_function 99


public
  type DiskInfo
    field Intn size
    field Intn available
  
function filesystem_query path -> info
  arg Str path ; arg DiskInfo info
 
function os_statfs path buf -> err
  arg CStr path ; arg_w os_statfs buf ; arg Int err
  kernel_function 99


public
  type DiskInfo
    field Intn size
    field Intn available
  
function filesystem_query path -> info
  arg Str path ; arg DiskInfo info
  if (os_statfs file_os_name:path (var os_statfs buf))=0
    info size := (cast buf:blocks Intn)*buf:bsize
    info available := (cast buf:bavail Intn)*buf:bsize
  info size := undefined
  info available := undefined
  if (path parse "device:/" any:(var Str name))
    (var Stream s) open "file:/proc/partitions" in+safe
    while not s:atend
      if (s:readline parse (var Int major) (var Int minor) (var uInt blocs) pattern:name)
        info size := blocs*1024n
  else
  else
    info size := -1
    info available := -1
    if (os_statfs file_os_name:path (var os_statfs buf))=0
      info size := buf:blocks*(cast buf:bsize Intn)
      info available := buf:bavail*(cast buf:bsize Intn)



export filesystem_name
export filesystem_scan filesystem_mount filesystem_dismount 



export filesystem_name
export filesystem_scan filesystem_mount filesystem_dismount