diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2011-05-03 07:32:58 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2011-05-03 07:32:58 +0000 |
commit | a7ad07bff3f0501e3ea483955122f5da37519674 (patch) | |
tree | 83f996220eb5127d50beee996ac337678876fccc /sys/sys/jail.h | |
parent | 74ff69fe440970de0ca87411a48ea7aa78182a8a (diff) | |
download | src-a7ad07bff3f0501e3ea483955122f5da37519674.tar.gz src-a7ad07bff3f0501e3ea483955122f5da37519674.zip |
Notes
Diffstat (limited to 'sys/sys/jail.h')
-rw-r--r-- | sys/sys/jail.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/sys/jail.h b/sys/sys/jail.h index b83ac1b8a3c9..bbaf38162e7c 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -136,6 +136,7 @@ MALLOC_DECLARE(M_PRISON); #define HOSTUUIDLEN 64 struct racct; +struct prison_racct; /* * This structure describes a prison. It is pointed to by all struct @@ -168,7 +169,7 @@ struct prison { int pr_ip6s; /* (p) number of v6 IPs */ struct in_addr *pr_ip4; /* (p) v4 IPs of jail */ struct in6_addr *pr_ip6; /* (p) v6 IPs of jail */ - struct racct *pr_racct; /* (c) resource accounting */ + struct prison_racct *pr_prison_racct; /* (c) racct jail proxy */ void *pr_sparep[3]; int pr_childcount; /* (a) number of child jails */ int pr_childmax; /* (p) maximum child jails */ @@ -183,6 +184,13 @@ struct prison { char pr_domainname[MAXHOSTNAMELEN]; /* (p) jail domainname */ char pr_hostuuid[HOSTUUIDLEN]; /* (p) jail hostuuid */ }; + +struct prison_racct { + LIST_ENTRY(prison_racct) prr_next; + char prr_name[MAXHOSTNAMELEN]; + u_int prr_refcount; + struct racct *prr_racct; +}; #endif /* _KERNEL || _WANT_PRISON */ #ifdef _KERNEL @@ -385,6 +393,9 @@ int prison_priv_check(struct ucred *cred, int priv); int sysctl_jail_param(SYSCTL_HANDLER_ARGS); void prison_racct_foreach(void (*callback)(struct racct *racct, void *arg2, void *arg3), void *arg2, void *arg3); +struct prison_racct *prison_racct_find(const char *name); +void prison_racct_hold(struct prison_racct *prr); +void prison_racct_free(struct prison_racct *prr); #endif /* _KERNEL */ #endif /* !_SYS_JAIL_H_ */ |