X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/e2fac8b15b12a7979f72090454d850e612fc5b13..b0d623f7f2ae71ed96e60569f61f9a9a27016e80:/bsd/dev/i386/sel_inline.h diff --git a/bsd/dev/i386/sel_inline.h b/bsd/dev/i386/sel_inline.h deleted file mode 100644 index 39ab9b69f..000000000 --- a/bsd/dev/i386/sel_inline.h +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. - * - * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. The rights granted to you under the License - * may not be used to create, or enable the creation or redistribution of, - * unlawful or unlicensed copies of an Apple operating system, or to - * circumvent, violate, or enable the circumvention or violation of, any - * terms of an Apple operating system software license agreement. - * - * Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ - */ -/* - * Copyright (c) 1992 NeXT Computer, Inc. - * - * Selector value conversion/validation. - * - * HISTORY - * - * 19 June 1992 ? at NeXT - * Created. - */ - - -static inline -unsigned int -sel_to_selector( - sel_t sel -) -{ - union { - sel_t sel; - unsigned short selector; - } tconv; - - tconv.sel = sel; - - return (tconv.selector); -} - -static inline -sel_t -selector_to_sel( - unsigned int selector -) -{ - union { - unsigned short selector; - sel_t sel; - } tconv; - - tconv.selector = selector; - - return (tconv.sel); -} - -#if 0 -static inline -boolean_t -valid_user_data_selector( - unsigned int selector -) -{ - sel_t sel = selector_to_sel(selector); - - if (selector == 0) - return (TRUE); - - if (sel.ti == SEL_LDT) - return (TRUE); - else if (sel.index < GDTSZ) { - data_desc_t *desc = (data_desc_t *)sel_to_gdt_entry(sel); - - if (desc->dpl == USER_PRIV) - return (TRUE); - } - - return (FALSE); -} - -static inline -boolean_t -valid_user_code_selector( - unsigned int selector -) -{ - sel_t sel = selector_to_sel(selector); - - if (selector == 0) - return (FALSE); - - if (sel.ti == SEL_LDT) { - if (sel.rpl == USER_PRIV) - return (TRUE); - } - else if (sel.index < GDTSZ && sel.rpl == USER_PRIV) { - code_desc_t *desc = (code_desc_t *)sel_to_gdt_entry(sel); - - if (desc->dpl == USER_PRIV) - return (TRUE); - } - - return (FALSE); -} - -static inline -boolean_t -valid_user_stack_selector( - unsigned int selector -) -{ - sel_t sel = selector_to_sel(selector); - - if (selector == 0) - return (FALSE); - - if (sel.ti == SEL_LDT) { - if (sel.rpl == USER_PRIV) - return (TRUE); - } - else if (sel.index < GDTSZ && sel.rpl == USER_PRIV) { - data_desc_t *desc = (data_desc_t *)sel_to_gdt_entry(sel); - - if (desc->dpl == USER_PRIV) - return (TRUE); - } - - return (FALSE); -} -#endif