home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum16.lzh / SOFTWARE / ASSEMBLER / FPERMIT / fpermit.a next >
Text File  |  1991-01-09  |  898b  |  59 lines

  1.     nam     fpermit
  2.     ttl    subroutines with C interface to fpermit etc
  3.     use    /dd/defs/oskdefs.d
  4.  
  5. Edition    equ    1
  6. Typ_lang equ    0
  7. Attr_Rev equ    (ReEnt<<8)+0
  8. Stacksiz equ    16
  9.  
  10.     psect    fpermit,Typ_lang,Attr_Rev,Edition,Stacksiz,0
  11.  
  12. * status = FPermit (addr,size,permission)
  13.  
  14. FPermit:    
  15.     link    a5,#0
  16.     movem.l    a2/d1,-(sp)
  17.     move.l    d0,a2
  18.     move.l    d1,d0
  19.     move.l    16(a7),d1
  20.     os9    F$Permit
  21. testit  bcs.s    xerror
  22.       clr.l    d0
  23. endit    movem.l (sp)+,a2/d1
  24. final    unlk    a5
  25.     rts
  26.  
  27. xerror    move.l    d1,errno(a6)
  28.     move.l    #-1,d0
  29.     bra.s    endit
  30.  
  31. * status = FProtect (addr, size)
  32.  
  33. FProtect:
  34.     link    a5,#0
  35.     movem.l    a2/d1,-(sp)
  36.     move.l    d0,a2
  37.     move.l    d1,d0
  38.     os9    F$Protect
  39.     bra.s    testit
  40.  
  41. * status = FGSPUMp (procid, addr, size)
  42.  
  43. FGSPUMp:
  44.     link    a5,#0
  45.     movem.l    a0/d2/d1,-(sp)
  46.     move.l    20(a7),d2
  47.     move.l    d1,a0
  48.     os9    F$GSPUMp
  49.     bcs.s    xerror2
  50.     clr.l    d0
  51. endit2    movem.l    (sp)+,a0/d2/d1
  52.     bra.s    final
  53.  
  54. xerror2    move.l    d1,errno(a6)
  55.     move.l    #-1,d0
  56.     bra.s    endit2        
  57.  
  58.     ends
  59.