1 /*- 2 * Copyright (c) 1983 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #if defined(LIBC_SCCS) && !defined(lint) 9 .asciz "@(#)getgid.c 5.2 (Berkeley) 04/12/91" 10 #endif /* LIBC_SCCS and not lint */ 11 12 #include "SYS.h" 13 14 .data 15 mygid: .long -1 16 myegid: .long -1 17 .text 18 19 ENTRY(getgid) 20 movl mygid,r0 # check cache 21 cmpl $-1,r0 22 bneq doit 23 ret 24 doit: 25 chmk $SYS_getgid 26 jcs err 27 movl r0,mygid # set cache 28 movl r1,myegid # set cache 29 ret # gid = getgid(); 30 31 ENTRY(getegid) 32 movl myegid,r0 # check cache 33 cmpl $-1,r0 34 bneq doit 35 ret 36 doit: 37 chmk $SYS_getgid 38 jcs err 39 movl r0,mygid # set cache 40 movl r1,r0 41 movl r0,myegid # set cache 42 ret # gid = getegid(); 43 err: 44 jmp cerror 45 46 ENTRY(setregid) 47 mnegl $1,mygid 48 mnegl $1,myegid 49 chmk $SYS_setregid 50 jcs err 51 ret # setregid(rgid, egid) 52