The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

i386_set_ldt (2)
  • >> i386_set_ldt (2) ( FreeBSD man: Системные вызовы )

  • BSD mandoc
     

    NAME

    
    
    i386_get_ldt
    
     
    i386_set_ldt
    
     - manage i386 per-process Local Descriptor Table entries
    
     
    

    LIBRARY

    Lb libc
    
     
    

    SYNOPSIS

       #include <machine/segments.h>
       #include <machine/sysarch.h>
    int i386_get_ldt (int start_sel union descriptor *descs int num_sels);
    int i386_set_ldt (int start_sel union descriptor *descs int num_sels);
     

    DESCRIPTION

    The i386_get_ldt ();
    system call returns a list of the i386 descriptors in the current process' LDT. The i386_set_ldt ();
    system call sets a list of i386 descriptors in the current process' LDT. For both routines, Fa start_sel specifies the index of the selector in the LDT at which to begin and Fa descs points to an array of Fa num_sels descriptors to be set or returned.

    Each entry in the Fa descs array can be either a segment_descriptor or gate_descriptor and are defined in In i386/segments.h . These structures are defined by the architecture as disjoint bit-fields, so care must be taken in constructing them.

    If Fa start_sel is LDT_AUTO_ALLOC Fa num_sels is 1 and the descriptor pointed to by Fa descs is legal, then i386_set_ldt ();
    will allocate a descriptor and return its selector number.

    If Fa num_descs is 1, Fa start_sels is valid, and Fa descs is NULL, then i386_set_ldt ();
    will free that descriptor (making it available to be reallocated again later).

    If Fa num_descs is 0, Fa start_sels is 0 and Fa descs is NULL then, as a special case, i386_set_ldt ();
    will free all descriptors.  

    RETURN VALUES

    Upon successful completion, i386_get_ldt ();
    returns the number of descriptors currently in the LDT. The i386_set_ldt ();
    system call returns the first selector set on success. If the kernel allocated a descriptor in the LDT, the allocated index is returned. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.  

    ERRORS

    The i386_get_ldt ();
    and i386_set_ldt ();
    system calls will fail if:

    Bq Er EINVAL
    An inappropriate value was used for Fa start_sel or Fa num_sels .
    Bq Er EACCES
    The caller attempted to use a descriptor that would circumvent protection or cause a failure.

     

    SEE ALSO

    i386 Microprocessor Programmer's Reference Manual, Intel  

    WARNING

    You can really hose your process using this.


     

    Index

    NAME
    LIBRARY
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    SEE ALSO
    WARNING


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру