priv.c - 9base - revived minimalist port of Plan 9 userland to Unix
(HTM) git clone git://git.suckless.org/9base
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
priv.c (377B)
---
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 }
32