/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* bl.c - Binary label operations for kernel and user.
*
* These routines initialize, compare, set and extract portions
* of binary labels.
*/
/*
* bltype - Check the type of a label structure.
*
* Entry label = Address of the label to check.
* type = Label type to check:
* SUN_SL_ID = Sensitivity Label,
* SUN_SL_UN = Undefined Sensitivity Label structure,
* SUN_IL_ID = Information Label,
* SUN_IL_UN = Undefined Information Label structure,
* SUN_CLR_ID = Clearance, or
* SUN_CLR_UN = Undefined Clearance structure.
*
* Exit None.
*
* Returns True if the label is the type requested,
* otherwise false.
*
* Calls BLTYPE.
*/
int
{
}
/*
* blequal - Compare two labels for Classification and Compartments set
* equality.
*
* Entry label1, label2 = label levels to compare.
*
* Exit None.
*
* Returns True if labels equal,
* otherwise false.
*
* Calls BLEQUAL.
*/
int
{
}
/*
* bldominates - Compare two labels for Classification and Compartments
* sets dominance.
*
* Entry label1, label2 = labels levels to compare.
*
* Exit None.
*
* Returns True if label1 dominates label2,
* otherwise false.
*
* Calls BLDOMINATES.
*/
int
{
}
/*
* blstrictdom - Compare two labels for Classification and Compartments
* sets strict dominance.
*
* Entry label1, label2 = labels levels to compare.
*
* Exit None.
*
* Returns True if label1 dominates and is not equal to label2,
* otherwise false.
*
* Calls BLSTRICTDOM.
*/
int
{
}
/*
* blinrange - Compare a label's classification and compartments set to
* be within a lower and upper bound (range).
*
* Entry label = label level to compare.
* range = level range to compare against.
*
* Exit None.
*
* Returns True if label is within the range,
* otherwise false.
*
* Calls BLINRANGE.
*/
int
{
}
/*
* This is the TS8 version which is used in the kernel
*/
int
{
}
#ifdef _KERNEL
/*
* blinlset - Check if the label belongs to the set
*
* Entry label = label level to compare.
* lset = label set to compare against.
*
* Exit None.
*
* Returns True if label is an element of the set,
* otherwise false.
*
*/
int
{
int i;
for (i = 0; i < NSLS_MAX; i++) {
return (B_FALSE);
return (B_TRUE);
}
return (B_FALSE);
}
#endif /* _KERNEL */
/*
* blmaximum - Least Upper Bound of two levels.
*
* Entry label1, label2 = levels to bound.
*
* Exit label1 replaced by the LUB of label1 and label2.
*
* Returns None.
*
* Calls BLMAXIMUM.
*/
void
{
}
/*
* blminimum - Greatest Lower Bound of two levels.
*
* Entry label1, label2 = levels to bound.
*
* Exit label1 replaced by the GLB of label1 and label2.
*
* Returns None.
*
* Calls BLMINIMUM.
*/
void
{
}
/*
* bsllow - Initialize an admin_low Sensitivity Label.
*
* Entry label = Sensitivity Label structure to be initialized.
*
* Exit label = Initialized to the admin_low Sensitivity Label.
*
* Returns None.
*
* Calls BSLLOW.
*/
void
{
}
/*
* bslhigh - Initialize an admin_high Sensitivity Label.
*
* Entry label = Sensitivity Label structure to be initialized.
*
* Exit label = Initialized to the admin_high Sensitivity Label.
*
* Returns None.
*
* Calls BSLHIGH.
*/
void
{
}
/*
* bclearlow - Initialize an admin_low Clearance.
*
* Entry clearance = Clearnace structure to be initialized.
*
* Exit clearance = Initialized to the admin_low Clearance.
*
* Returns None.
*
* Calls BCLEARLOW.
*/
void
{
}
/*
* bclearhigh - Initialize an admin_high Clearance.
*
* Entry clearance = Clearance structure to be initialized.
*
* Exit clearance = Initialized to the admin_high Clearance.
*
* Returns None.
*
* Calls BCLEARHIGH.
*/
void
{
}
/*
* bslundef - Initialize an undefined Sensitivity Label.
*
* Entry label = Sensitivity Label structure to be initialized.
*
* Exit label = Initialized to undefined Sensitivity Label.
*
* Returns None.
*
* Calls BSLUNDEF.
*/
void
{
}
/*
* bclearundef - Initialize an undefined Clearance.
*
* Entry clearance = Clearance structure to be initialized.
*
* Exit clearance = Initialized to undefined Clearance.
*
* Returns None.
*
* Calls BCLEARUNDEF.
*/
void
{
}
/*
* setbltype - Set the type of a label structure.
*
* Entry label = Address of the label to set.
* type = Label type to set:
* SUN_SL_ID = Sensitivity Label,
* SUN_SL_UN = Undefined Sensitivity Label structure,
* SUN_IL_ID = Information Label,
* SUN_IL_UN = Undefined Information Label structure,
* SUN_CLR_ID = Clearance, or
* SUN_CLR_UN = Undefined Clearance structure.
*
* Exit label = Type set to specified type.
*
* Returns None.
*
* Calls SETBLTYPE.
*/
void
{
}
/*
* Returns B_TRUE if the label is invalid (initialized to all zeros).
*/
{
}