1 /*
2  * Multi-level security (MLS) policy operations.
3  *
4  * Author : Stephen Smalley, <sds@epoch.ncsc.mil>
5  */
6 /*
7  * Updated: Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com>
8  *
9  *    Support for enhanced MLS infrastructure.
10  *
11  * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc.
12  */
13 
14 #ifndef _SS_MLS_H_
15 #define _SS_MLS_H_
16 
17 #include "context.h"
18 #include "policydb.h"
19 
20 int mls_compute_context_len(struct context *context);
21 void mls_sid_to_context(struct context *context, char **scontext);
22 int mls_context_isvalid(struct policydb *p, struct context *c);
23 int mls_range_isvalid(struct policydb *p, struct mls_range *r);
24 int mls_level_isvalid(struct policydb *p, struct mls_level *l);
25 
26 int mls_context_to_sid(char oldc, char **scontext, struct context *context,
27                        struct sidtab *s);
28 
29 int mls_convert_context(struct policydb *oldp, struct policydb *newp,
30                                                     struct context *context);
31 
32 int mls_compute_sid(struct context *scontext, struct context *tcontext,
33                         u16 tclass, u32 specified, struct context *newcontext);
34 
35 #endif    /* _SS_MLS_H */
36 
37