|
|
1.1 ! root 1: /* Aget_long.c 1.1 86/07/20 */ ! 2: ! 3: #include "../tahoealign/align.h" ! 4: int get_longword (infop, address) ! 5: process_info *infop; ! 6: char *address; ! 7: /* ! 8: /* Fetch the longword at the given 'address' from memory. ! 9: /* Caveat: It's quite difficult to find a pte reference ! 10: /* fault. So I took the easy way out and just signal ! 11: /* an illegal access. ! 12: /* ! 13: /**************************************************/ ! 14: { ! 15: register long code, value; ! 16: ! 17: code = readable(infop, address, 4); ! 18: if (code == TRUE) { ! 19: value = *address++; ! 20: value = (value << 8) | *address++ & 0xff; ! 21: value = (value << 8) | *address++ & 0xff; ! 22: value = (value << 8) | *address & 0xff; ! 23: return(value); ! 24: } else exception (infop, ILL_ACCESS, address, code); ! 25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.