xref: /freebsd/lib/libsys/i386/i386_get_ldt.c (revision 4bc66c0f9f2c349af86cbf4e77f000b49d819fea)
1*4bc66c0fSBrooks Davis /*-
2*4bc66c0fSBrooks Davis  * SPDX-License-Identifier: BSD-3-Clause
3*4bc66c0fSBrooks Davis  *
4*4bc66c0fSBrooks Davis  *  Copyright (c) 1993 John Brezak
5*4bc66c0fSBrooks Davis  *  All rights reserved.
6*4bc66c0fSBrooks Davis  *
7*4bc66c0fSBrooks Davis  *  Redistribution and use in source and binary forms, with or without
8*4bc66c0fSBrooks Davis  *  modification, are permitted provided that the following conditions
9*4bc66c0fSBrooks Davis  *  are met:
10*4bc66c0fSBrooks Davis  *  1. Redistributions of source code must retain the above copyright
11*4bc66c0fSBrooks Davis  *     notice, this list of conditions and the following disclaimer.
12*4bc66c0fSBrooks Davis  *  2. Redistributions in binary form must reproduce the above copyright
13*4bc66c0fSBrooks Davis  *     notice, this list of conditions and the following disclaimer in the
14*4bc66c0fSBrooks Davis  *     documentation and/or other materials provided with the distribution.
15*4bc66c0fSBrooks Davis  *  3. The name of the author may not be used to endorse or promote products
16*4bc66c0fSBrooks Davis  *     derived from this software without specific prior written permission.
17*4bc66c0fSBrooks Davis  *
18*4bc66c0fSBrooks Davis  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
19*4bc66c0fSBrooks Davis  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20*4bc66c0fSBrooks Davis  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21*4bc66c0fSBrooks Davis  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
22*4bc66c0fSBrooks Davis  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23*4bc66c0fSBrooks Davis  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24*4bc66c0fSBrooks Davis  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25*4bc66c0fSBrooks Davis  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26*4bc66c0fSBrooks Davis  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
27*4bc66c0fSBrooks Davis  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*4bc66c0fSBrooks Davis  * POSSIBILITY OF SUCH DAMAGE.
29*4bc66c0fSBrooks Davis  */
30*4bc66c0fSBrooks Davis 
31*4bc66c0fSBrooks Davis #include <sys/cdefs.h>
32*4bc66c0fSBrooks Davis #include <machine/segments.h>
33*4bc66c0fSBrooks Davis #include <machine/sysarch.h>
34*4bc66c0fSBrooks Davis 
35*4bc66c0fSBrooks Davis int
i386_get_ldt(int start,union descriptor * descs,int num)36*4bc66c0fSBrooks Davis i386_get_ldt(int start, union descriptor *descs, int num)
37*4bc66c0fSBrooks Davis {
38*4bc66c0fSBrooks Davis 	struct i386_ldt_args p;
39*4bc66c0fSBrooks Davis 
40*4bc66c0fSBrooks Davis 	p.start = start;
41*4bc66c0fSBrooks Davis 	p.descs = descs;
42*4bc66c0fSBrooks Davis 	p.num   = num;
43*4bc66c0fSBrooks Davis 
44*4bc66c0fSBrooks Davis 	return sysarch(I386_GET_LDT, &p);
45*4bc66c0fSBrooks Davis }
46