aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/jail.h
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2011-05-03 07:32:58 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2011-05-03 07:32:58 +0000
commita7ad07bff3f0501e3ea483955122f5da37519674 (patch)
tree83f996220eb5127d50beee996ac337678876fccc /sys/sys/jail.h
parent74ff69fe440970de0ca87411a48ea7aa78182a8a (diff)
downloadsrc-a7ad07bff3f0501e3ea483955122f5da37519674.tar.gz
src-a7ad07bff3f0501e3ea483955122f5da37519674.zip
Notes
Diffstat (limited to 'sys/sys/jail.h')
-rw-r--r--sys/sys/jail.h13
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_ */