Patch title: Release 89 bulk changes
Abstract:
File: /linux/kernel/device.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/os.pli"
module "/pliant/admin/file.pli"


function kernel_make_device device kind major minor write ->
  arg Str device ; arg Int kind major minor ; arg CBool writ
  file_delete device
module "/pliant/language/os.pli"
module "/pliant/admin/file.pli"


function kernel_make_device device kind major minor write ->
  arg Str device ; arg Int kind major minor ; arg CBool writ
  file_delete device
  file_tree_create device
  status := shunt (os_mknod file_os_name:device kind+6*8^2+4
  if write
    file_rights device undefined undefined 6*8^2+6*8+6 0


  eif (name parse "tty" (var Int n)) and n>=0 and n<10
    status := kernel_make_device device kernel_character_dev
  status := shunt (os_mknod file_os_name:device kind+6*8^2+4
  if write
    file_rights device undefined undefined 6*8^2+6*8+6 0


  eif (name parse "tty" (var Int n)) and n>=0 and n<10
    status := kernel_make_device device kernel_character_dev
  eif (name parse "tty" any:(var Str twin) ) and twin:len=2 and ((twin:0>="a" and twin:0<="e") or (twin:0>="p" and twin:0<="z")) and ((twin:1>="0" and twin:1<="9") or (twin:1>="a" and twin:1<="f"))
    status := kernel_make_device device kernel_character_device 3 (shunt (twin:0>="a" and twin:0<="e") 176+16*(twin:0:number-"a":number) 16*(twin:0:number-"p":number))+(shunt (twin:1>="0" and twin:1<="9") twin:1:number-"0":number 10+twin:1:number-"a":number)
  eif (name parse "pty" any:(var Str twin) ) and twin:len=2 
    status := kernel_make_device device kernel_character_dev
  eif (name parse "vcs" (var Int n)) and n>=0 and n<64
    status := kernel_make_device device kernel_character_dev
  eif (name parse "pty" any:(var Str twin) ) and twin:len=2 
    status := kernel_make_device device kernel_character_dev
  eif (name parse "vcs" (var Int n)) and n>=0 and n<64
    status := kernel_make_device device kernel_character_dev
  eif name="tty"
    status := kernel_make_device device kernel_character_device 5 0
  eif name="console"
    status := kernel_make_device device kernel_character_dev


  eif name="psaux"
    status := kernel_make_device device kernel_character_dev
  eif name="console"
    status := kernel_make_device device kernel_character_dev


  eif name="psaux"
    status := kernel_make_device device kernel_character_dev
  eif name="mice"
    status := kernel_make_device device kernel_character_device 13 63
  eif (name parse "lp" (var Int i))  and i>=0 and i<=2
    status := kernel_make_device device kernel_character_dev
  eif (name parse "ttyS" (var Int n)) and n>=0 and n<64
    status := kernel_make_device device kernel_character_dev
  eif (name parse "fb" (var Int n)) and n>=0 and n<32
    status := kernel_make_device device kernel_character_dev


  else
    plugin device
      status := failure
  eif (name parse "lp" (var Int i))  and i>=0 and i<=2
    status := kernel_make_device device kernel_character_dev
  eif (name parse "ttyS" (var Int n)) and n>=0 and n<64
    status := kernel_make_device device kernel_character_dev
  eif (name parse "fb" (var Int n)) and n>=0 and n<32
    status := kernel_make_device device kernel_character_dev


  else
    plugin device
      status := failure