annotate 3rdparty/packages/cc/sources/id.a @ 867:0198655f2552

Added sources
author boisy
date Thu, 16 Jan 2003 19:54:21 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
867
0198655f2552 Added sources
boisy
parents:
diff changeset
1 *
0198655f2552 Added sources
boisy
parents:
diff changeset
2 * Identity system calls
0198655f2552 Added sources
boisy
parents:
diff changeset
3 *
0198655f2552 Added sources
boisy
parents:
diff changeset
4 use ..../defs/os9defs.a
0198655f2552 Added sources
boisy
parents:
diff changeset
5
0198655f2552 Added sources
boisy
parents:
diff changeset
6 *
0198655f2552 Added sources
boisy
parents:
diff changeset
7 * Equates for level one pointers (sorry!)
0198655f2552 Added sources
boisy
parents:
diff changeset
8 *
0198655f2552 Added sources
boisy
parents:
diff changeset
9 D.Proc equ $4b
0198655f2552 Added sources
boisy
parents:
diff changeset
10 P$User equ $9
0198655f2552 Added sources
boisy
parents:
diff changeset
11
0198655f2552 Added sources
boisy
parents:
diff changeset
12 psect id_a,0,0,1,0,0
0198655f2552 Added sources
boisy
parents:
diff changeset
13
0198655f2552 Added sources
boisy
parents:
diff changeset
14 * getpid()
0198655f2552 Added sources
boisy
parents:
diff changeset
15 getpid: pshs y save data pointer
0198655f2552 Added sources
boisy
parents:
diff changeset
16 os9 F$ID
0198655f2552 Added sources
boisy
parents:
diff changeset
17 puls y
0198655f2552 Added sources
boisy
parents:
diff changeset
18 bcc getp10
0198655f2552 Added sources
boisy
parents:
diff changeset
19 lbcs _os9err
0198655f2552 Added sources
boisy
parents:
diff changeset
20
0198655f2552 Added sources
boisy
parents:
diff changeset
21 getp10 tfr a,b
0198655f2552 Added sources
boisy
parents:
diff changeset
22 clra
0198655f2552 Added sources
boisy
parents:
diff changeset
23 rts
0198655f2552 Added sources
boisy
parents:
diff changeset
24
0198655f2552 Added sources
boisy
parents:
diff changeset
25 * getuid()
0198655f2552 Added sources
boisy
parents:
diff changeset
26 getuid: pshs y
0198655f2552 Added sources
boisy
parents:
diff changeset
27 os9 F$ID
0198655f2552 Added sources
boisy
parents:
diff changeset
28 bcc getu10
0198655f2552 Added sources
boisy
parents:
diff changeset
29
0198655f2552 Added sources
boisy
parents:
diff changeset
30 errexit puls y
0198655f2552 Added sources
boisy
parents:
diff changeset
31 lbra _os9err
0198655f2552 Added sources
boisy
parents:
diff changeset
32
0198655f2552 Added sources
boisy
parents:
diff changeset
33 getu10 tfr y,d
0198655f2552 Added sources
boisy
parents:
diff changeset
34 puls y,pc
0198655f2552 Added sources
boisy
parents:
diff changeset
35
0198655f2552 Added sources
boisy
parents:
diff changeset
36 * setuid()
0198655f2552 Added sources
boisy
parents:
diff changeset
37 setuid:
0198655f2552 Added sources
boisy
parents:
diff changeset
38 pshs y
0198655f2552 Added sources
boisy
parents:
diff changeset
39 bsr getuid get user id
0198655f2552 Added sources
boisy
parents:
diff changeset
40 std -2,s superuser?
0198655f2552 Added sources
boisy
parents:
diff changeset
41 beq setu10 bra if so
0198655f2552 Added sources
boisy
parents:
diff changeset
42 ldb #E$FNA not allowed
0198655f2552 Added sources
boisy
parents:
diff changeset
43 bra errexit
0198655f2552 Added sources
boisy
parents:
diff changeset
44
0198655f2552 Added sources
boisy
parents:
diff changeset
45 setu10 ldy 4,s get new user id
0198655f2552 Added sources
boisy
parents:
diff changeset
46 os9 F$SUSER set user id
0198655f2552 Added sources
boisy
parents:
diff changeset
47 bcc setu20 bra if ok
0198655f2552 Added sources
boisy
parents:
diff changeset
48
0198655f2552 Added sources
boisy
parents:
diff changeset
49 cmpb #E$UNKSVC illegal code?
0198655f2552 Added sources
boisy
parents:
diff changeset
50 bne errexit bra if not
0198655f2552 Added sources
boisy
parents:
diff changeset
51
0198655f2552 Added sources
boisy
parents:
diff changeset
52 ** Illegal code (sorry) ***
0198655f2552 Added sources
boisy
parents:
diff changeset
53 tfr y,d
0198655f2552 Added sources
boisy
parents:
diff changeset
54 ldy >D.Proc
0198655f2552 Added sources
boisy
parents:
diff changeset
55 std P$User,y
0198655f2552 Added sources
boisy
parents:
diff changeset
56
0198655f2552 Added sources
boisy
parents:
diff changeset
57 setu20 clra
0198655f2552 Added sources
boisy
parents:
diff changeset
58 clrb
0198655f2552 Added sources
boisy
parents:
diff changeset
59 puls y,pc
0198655f2552 Added sources
boisy
parents:
diff changeset
60
0198655f2552 Added sources
boisy
parents:
diff changeset
61 endsect