Lines Matching refs:ml
137 struct mac_lomac *ml; in lomac_alloc() local
139 ml = malloc(sizeof(*ml), M_LOMAC, M_ZERO | flag); in lomac_alloc()
141 return (ml); in lomac_alloc()
145 lomac_free(struct mac_lomac *ml) in lomac_free() argument
148 if (ml != NULL) in lomac_free()
149 free(ml, M_LOMAC); in lomac_free()
155 lomac_atmostflags(struct mac_lomac *ml, int flags) in lomac_atmostflags() argument
158 if ((ml->ml_flags & flags) != ml->ml_flags) in lomac_atmostflags()
294 lomac_contains_equal(struct mac_lomac *ml) in lomac_contains_equal() argument
297 if (ml->ml_flags & MAC_LOMAC_FLAG_SINGLE) in lomac_contains_equal()
298 if (ml->ml_single.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_contains_equal()
300 if (ml->ml_flags & MAC_LOMAC_FLAG_AUX) in lomac_contains_equal()
301 if (ml->ml_auxsingle.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_contains_equal()
304 if (ml->ml_flags & MAC_LOMAC_FLAG_RANGE) { in lomac_contains_equal()
305 if (ml->ml_rangelow.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_contains_equal()
307 if (ml->ml_rangehigh.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_contains_equal()
315 lomac_subject_privileged(struct mac_lomac *ml) in lomac_subject_privileged() argument
318 KASSERT((ml->ml_flags & MAC_LOMAC_FLAGS_BOTH) == in lomac_subject_privileged()
323 if (ml->ml_single.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_subject_privileged()
327 if (ml->ml_rangelow.mle_type == MAC_LOMAC_TYPE_EQUAL || in lomac_subject_privileged()
328 ml->ml_rangehigh.mle_type == MAC_LOMAC_TYPE_EQUAL) in lomac_subject_privileged()
332 if (ml->ml_rangelow.mle_type == MAC_LOMAC_TYPE_LOW && in lomac_subject_privileged()
333 ml->ml_rangehigh.mle_type == MAC_LOMAC_TYPE_HIGH) in lomac_subject_privileged()
341 lomac_high_single(struct mac_lomac *ml) in lomac_high_single() argument
344 KASSERT((ml->ml_flags & MAC_LOMAC_FLAG_SINGLE) != 0, in lomac_high_single()
347 return (ml->ml_single.mle_type == MAC_LOMAC_TYPE_HIGH); in lomac_high_single()
351 lomac_valid(struct mac_lomac *ml) in lomac_valid() argument
354 if (ml->ml_flags & MAC_LOMAC_FLAG_SINGLE) { in lomac_valid()
355 switch (ml->ml_single.mle_type) { in lomac_valid()
366 if (ml->ml_single.mle_type != MAC_LOMAC_TYPE_UNDEF) in lomac_valid()
370 if (ml->ml_flags & MAC_LOMAC_FLAG_AUX) { in lomac_valid()
371 switch (ml->ml_auxsingle.mle_type) { in lomac_valid()
382 if (ml->ml_auxsingle.mle_type != MAC_LOMAC_TYPE_UNDEF) in lomac_valid()
386 if (ml->ml_flags & MAC_LOMAC_FLAG_RANGE) { in lomac_valid()
387 switch (ml->ml_rangelow.mle_type) { in lomac_valid()
398 switch (ml->ml_rangehigh.mle_type) { in lomac_valid()
408 if (!lomac_dominate_element(&ml->ml_rangehigh, in lomac_valid()
409 &ml->ml_rangelow)) in lomac_valid()
412 if (ml->ml_rangelow.mle_type != MAC_LOMAC_TYPE_UNDEF || in lomac_valid()
413 ml->ml_rangehigh.mle_type != MAC_LOMAC_TYPE_UNDEF) in lomac_valid()
421 lomac_set_range(struct mac_lomac *ml, u_short typelow, u_short gradelow, in lomac_set_range() argument
425 ml->ml_rangelow.mle_type = typelow; in lomac_set_range()
426 ml->ml_rangelow.mle_grade = gradelow; in lomac_set_range()
427 ml->ml_rangehigh.mle_type = typehigh; in lomac_set_range()
428 ml->ml_rangehigh.mle_grade = gradehigh; in lomac_set_range()
429 ml->ml_flags |= MAC_LOMAC_FLAG_RANGE; in lomac_set_range()
433 lomac_set_single(struct mac_lomac *ml, u_short type, u_short grade) in lomac_set_single() argument
436 ml->ml_single.mle_type = type; in lomac_set_single()
437 ml->ml_single.mle_grade = grade; in lomac_set_single()
438 ml->ml_flags |= MAC_LOMAC_FLAG_SINGLE; in lomac_set_single()
487 static int lomac_to_string(struct sbuf *sb, struct mac_lomac *ml);
666 lomac_to_string(struct sbuf *sb, struct mac_lomac *ml) in lomac_to_string() argument
669 if (ml->ml_flags & MAC_LOMAC_FLAG_SINGLE) { in lomac_to_string()
670 if (lomac_element_to_string(sb, &ml->ml_single) == -1) in lomac_to_string()
674 if (ml->ml_flags & MAC_LOMAC_FLAG_AUX) { in lomac_to_string()
678 if (lomac_element_to_string(sb, &ml->ml_auxsingle) == -1) in lomac_to_string()
685 if (ml->ml_flags & MAC_LOMAC_FLAG_RANGE) { in lomac_to_string()
689 if (lomac_element_to_string(sb, &ml->ml_rangelow) == -1) in lomac_to_string()
695 if (lomac_element_to_string(sb, &ml->ml_rangehigh) == -1) in lomac_to_string()
709 struct mac_lomac *ml; in lomac_externalize_label() local
716 ml = SLOT(label); in lomac_externalize_label()
718 return (lomac_to_string(sb, ml)); in lomac_externalize_label()
759 lomac_parse(struct mac_lomac *ml, char *string) in lomac_parse() argument
812 bzero(ml, sizeof(*ml)); in lomac_parse()
814 error = lomac_parse_element(&ml->ml_single, single); in lomac_parse()
817 ml->ml_flags |= MAC_LOMAC_FLAG_SINGLE; in lomac_parse()
821 error = lomac_parse_element(&ml->ml_auxsingle, auxsingle); in lomac_parse()
824 ml->ml_flags |= MAC_LOMAC_FLAG_AUX; in lomac_parse()
828 error = lomac_parse_element(&ml->ml_rangelow, rangelow); in lomac_parse()
831 error = lomac_parse_element(&ml->ml_rangehigh, rangehigh); in lomac_parse()
834 ml->ml_flags |= MAC_LOMAC_FLAG_RANGE; in lomac_parse()
837 error = lomac_valid(ml); in lomac_parse()
848 struct mac_lomac *ml, ml_temp; in lomac_internalize_label() local
860 ml = SLOT(label); in lomac_internalize_label()
861 *ml = ml_temp; in lomac_internalize_label()
1036 struct mac_lomac *ml; in lomac_devfs_create_device() local
1040 ml = SLOT(delabel); in lomac_devfs_create_device()
1055 lomac_set_single(ml, lomac_type, 0); in lomac_devfs_create_device()
1062 struct mac_lomac *ml; in lomac_devfs_create_directory() local
1064 ml = SLOT(delabel); in lomac_devfs_create_directory()
1065 lomac_set_single(ml, MAC_LOMAC_TYPE_HIGH, 0); in lomac_devfs_create_directory()