tpriv.c - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tpriv.c (376B)
---
1 #include <u.h>
2 #include <libc.h>
3 #include "9proc.h"
4
5 static Lock privlock;
6 static ulong privmap;
7
8 int
9 privalloc(void)
10 {
11 int i;
12
13 lock(&privlock);
14 for(i=0; i<NPRIV; i++)
15 if((privmap&(1<<i)) == 0){
16 privmap |= (1<<i);
17 unlock(&privlock);
18 return i;
19 }
20 unlock(&privlock);
21 return -1;
22 }
23
24 void**
25 privmem(int i)
26 {
27 Uproc *up;
28
29 up = _p9uproc(0);
30 return &up->priv[i];
31 }