Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!src.honeywell.com!skyler.mavd.honeywell.com!rlb From: rlb@skyler.mavd.honeywell.com (Randal L. Barnes) Newsgroups: comp.os.os9 Subject: Re: linking to absolute addresses Message-ID: <1991Jan28.230946.76@skyler.mavd.honeywell.com> Date: 29 Jan 91 05:09:46 GMT References: <1991Jan24.162635.1742@yogi.fhhosp.ab.ca> <1991Jan28.022859.24393@ncsuvx.ncsu.edu> <1991Jan28.063537.68@skyler.mavd.honeywell.com> <1991Jan28.160047.14961@ncsuvx.ncsu.edu> Lines: 39 > > Interesting! I can see the F$Permit call in the funcs.a defs, but > not in my manual. Could you post the parameters needed, in case > others are in the same boat and wish to see if it works for them? > thanks! - kevin Here is what we use for f$permit and f$protect in "C": #asm * permit(addr, len, perm) /* grant access*/ * void *addr; * int len; * int perm; permit: link a5,#0 movem.l d1-d2/a0,-(sp) movem.l a2,-(sp) movea.l d0,a2 start address to allow move.l d1,d0 length to allow move.l 24(sp),d1 permission required (read/write/exec) os9 F$Permit movem.l (sp)+,a2 bra.l _sysret * * protect(addr, len) /* deny access */ * void *addr; * int len; protect: link a5,#0 movem.l d1-d2/a0,-(sp) movem.l a2,-(sp) movea.l d0,a2 start address to deny move.l d1,d0 length to deny os9 F$Protect movem.l (sp)+,a2 bra.l _sysret #endasm -- Randal L. Barnes rlb@skyler.mavd.honeywell.com Tea, Earl Grey, HOT! Honeywell Military Avionics Division 612/542-5021