Provided by: manpages-fr_3.32d0.2p4-1_all bug

NOM

       console_ioctl - Ioctl pour les consoles et terminaux virtuels

DESCRIPTION

       Les  requetes  ioctl(2)  specifiques a Linux suivants sont disponibles.
       Chacune d'entre elles necessite un troisieme parametre, ici note argp.

       KDGETLED
              Recupere l'etat des LED. argp pointe vers un  char.  L'etat  des
              LED  est  enregistre dans les trois bits de poids le plus faible
              de *argp, comme indique ci-dessous :

                  LED_CAP       0x04   led du verrouillage des majuscules
                  LEC_NUM       0x02   led du verrouillage du pave numerique
                  LED_SCR       0x01   led du verrouillage du defilement

       KDSETLED
              Configure l'etat des LED. Les LED sont  configurees  suivant  la
              valeur des trois bits de poids faible de *argp. Cependant, si un
              bit de poids plus fort est fixe a 1,  les  LED  reviennent  dans
              leur  etat  normal,  affichant l'etat des fonctions du clavier :
              verrouillage des majuscules, verrouillage du pave  numerique  et
              verrouillage du defilement.

       Avant  la version 1.1.54 du noyau, les LED refletaient seulement l'etat
       fonctionnel du clavier, modifiable  par  KDGETLED/KDSETLED.  Depuis  la
       version 1.1.54,  les  LED  peuvent  etre  utilisees  pour  afficher des
       informations arbitraires, mais affichent par defaut l'etat  fonctionnel
       du clavier. Les deux ioctl ci-dessous permettent d'acceder a cet etat :

       KDGKBLED
              Recupere  l'etat  du clavier (et non des LED) : verrouillage des
              majuscules, verrouillage du pave numerique  et  verrouillage  du
              defilement.  argp pointe vers un char stockant l'etat. Les trois
              bits de poids faible (masque 0x7) indiquent l'etat actuel, alors
              que les trois bits de poids faible de l'autre demi-octet (masque
              0x70) indiquent l'etat par defaut.

       KDSKBLED
              Fixe l'etat du clavier  (et  non  des  LED) :  verrouillage  des
              majuscules,  verrouillage  du  pave numerique et verrouillage du
              defilement. argp indique les etats voulus.  Les  trois  bits  de
              poids  faible (masque 0x7) indiquent les etats et les trois bits
              de poids faible de  l'autre  demi-octet  suivant  (masque  0x70)
              indiquent les etats par defaut. (Depuis 1.1.54.)

       KDGKBTYPE
              Recupere  le type de clavier. Retourne la valeur KB_101, definie
              comme 0x02.

       KDADDIO
              Ajoute un port aux ports d'entree/sortie valables. Equivalent  a
              ioperm(arg,1,1).

       KDDELIO
              Supprime  un port des ports d'entree/sortie valables. Equivalent
              a ioperm(arg,1,0).

       KDENABIO
              Active les entrees/sorties vers la  carte  video.  Equivalent  a
              ioperm(0x3b4, 0x3df-0x3b4+1, 1).

       KDDISABIO
              Desactive  les entrees/sorties vers la carte video. Equivalent a
              ioperm(0x3b4, 0x3df-0x3b4+1, 0)..

       KDSETMODE
              Fixe le mode texte/graphique. argp peut valoir :

                  KD_TEXT       0x00
                  KD_GRAPHICS   0x01

       KDGETMODE
              Recupere le mode texte/graphique. argp pointe vers un  long  qui
              prend une des valeurs precedentes.

       KDMKTONE
              Genere  une note d'une duree donnee. Les 16 bits de poids faible
              de argp indiquent la periode en nombre de cycles, et les 16 bits
              de  poids  fort  indiquent  la duree en millisecondes. Une duree
              nulle correspond a un  son  coupe.  La  ligne  de  commande  est
              immediatement  rendue.  Par  exemple,  argp  = (125<<16) + 0x637
              indiquerait le bip normalement associe a Ctrl-G.

       KIOCSOUND
              Demarre et arrete la generation du son. Les  16  bits  de  poids
              faible  de  argp  indiquent  la  periode  en  nombre  de  cycles
              (c'est-a-dire argp = 1193180/frequence). argp = 0 coupe le  son.
              Dans  les  deux,  le  controle de la ligne de commande est rendu
              immediatement.

       GIO_CMAP
              Recupere du  noyau  la  table  de  correspondance  actuelle  des
              couleurs  par  defaut. argp pointe vers un tableau de 48 octets.
              (Depuis 1.3.3.)

       PIO_CMAP
              Modifie le plan par defaut des  couleurs  du  mode  texte.  argp
              pointe  vers  un tableau de 48 octets contenant dans l'ordre les
              valeurs des 16 couleurs disponibles, en Rouge, Vert et Bleu :  0
              pour  aucune,  255  pour  l'intensite maximale. Les couleurs par
              defaut sont dans l'ordre : le noir,  le  rouge  fonce,  le  vert
              fonce, le marron, le bleu fonce, le violet fonce, le cyan fonce,
              le gris clair, le gris fonce, le rouge, le vert,  le  jaune,  le
              bleu, le violet, le cyan et le blanc. (Depuis 1.3.3.)

       GIO_FONT
              Recupere  la  fonte  de  l'ecran de 256 caracteres sous sa forme
              etendue. argp pointe vers un tableau de  8192  octets.  Le  code
              d'erreur  EINVAL  est  renvoye  si  la  fonte  alors chargee est
              definie sur 512 caracteres ou si la console n'est  pas  en  mode
              texte.

       GIO_FONTX
              Recupere la fonte de l'ecran et ses informations relatives. argp
              pointe vers une struct  consolefontdesc  (consultez  PIO_FONTX).
              Lors  de  l'appel,  le champ charcount devrait etre configure au
              nombre maximal de caracteres correspondant a la taille du tampon
              vers  lequel  pointe  chardata.  Lors  du  retour,  charcount et
              charheight sont remplis des  donnees  respectives  de  la  fonte
              actuellement  chargee, le tableau chardata contenant les donnees
              de la fonte si la valeur initiale de charcount indique un espace
              disque suffisant, sinon le tampon reste intact et errno contient
              ENOMEM. (Depuis 1.3.3.)

       PIO_FONT
              Fixe la fonte (de 256 caracteres) de l'ecran et charge la  fonte
              dans  le  generateur  de caracteres EGA/VGA. argp pointe vers un
              tableau de correspondance de 8192 octets, comprenant  32  octets
              par  caractere. Seuls N d'entre eux sont utilises pour une fonte
              8xN  (0  <  N  <=  32).  Cet   appel   invalide   egalement   la
              correspondance Unicode.

       PIO_FONTX
              Fixe la fonte de l'ecran et les informations pour le rendu. argp
              pointe vers une structure de type :

                  struct consolefontdesc {
                      unsigned short charcount;  /* nombre de caracteres
                                                    (256 ou 512) */
                      unsigned short charheight; /* lignes par caractere
                                                    (1-32) */
                      char          *chardata;   /* donnees de la fonte
                                                    forme etendue */
                  };

              Si necessaire, la taille de l'ecran sera modifiee et  un  signal
              SIGWINCH   sera  envoye  aux  processus  appropries.  Cet  appel
              invalide egalement la correspondance Unicode. (Depuis 1.3.1.)

       PIO_FONTRESET
              Retablit la fonte, la taille et  la  correspondance  Unicode  de
              l'ecran  aux  valeurs par defaut de demarrage (boot). argp n'est
              pas utilise, mais ne doit pas valoir NULL pour la  compatibilite
              avec les futures versions de Linux. (Depuis 1.3.28.)

       GIO_SCRNMAP
              Recupere la correspondance de l'ecran du noyau. argp pointe vers
              un espace de taille E_TABSZ, qui recevra  les  positions  de  la
              fonte utilisees pour afficher chaque caractere. Les informations
              renvoyees par cet appel ne seront surement pas interessantes  si
              la fonte chargee a plus de 256 caracteres.

       GIO_UNISCRNMAP
              Recupere  la  correspondance  Unicode  complete  du  noyau. argp
              pointe vers un espace de taille E_TABSZ*sizeof(unsigned  short),
              qui  recevra  la  representation Unicode de chaque caractere. Un
              jeu special d'Unicodes, demarrant a  U+F000,  est  utilise  pour
              representation  les  correspondances  directes  avec  les fontes
              (<< direct to font mappings >>). (Depuis 1.3.1.)

       PIO_SCRNMAP
              Charge   dans   le   noyau   la   table   << definissable    par
              l'utilisateur >>  (la  quatrieme),  qui  fait  la correspondance
              entre octet et symboles a l'ecran de  la  console.  argp  pointe
              vers un espace de taille E_TABSZ.

       PIO_UNISCRNMAP
              Charge    dans   le   noyau   la   table   << definissable   par
              l'utilisateur >> (la  quatrieme),  qui  fait  la  correspondance
              entre  octet et Unicodes, qui sont alors convertis en symboles a
              l'ecran d'apres la table de correspondance  deja  chargee  entre
              Unicode  et  fonte.  Les  Unicodes speciaux, demarrant a U+F000,
              peuvent etre utilises pour une correspondance directe  avec  les
              symboles de la fonte. (Depuis 1.3.1.)

       GIO_UNIMAP
              Recupere  la  correspondance Unicode/Fonte du noyau. argp pointe
              vers une structure de type :

                  struct unimapdesc {
                      unsigned short  entry_ct;
                      struct unipair *entries;
                  };

              ou entries pointe vers une structure de type :

                  struct unipair {
                      unsigned short unicode;
                      unsigned short fontpos;
                  };

              (Depuis 1.1.92.)

       PIO_UNIMAP
              Fixe l'association Unicode/Police du noyau.
                  argp pointe vers une struct unimapdesc.  (Depuis 1.1.92)

       PIO_UNIMAPCLR
              Vide la  table,  eventuellement  en  informant  l'algorithme  de
              hachage. argp pointe vers une structure de type :

                  struct unimapinit {
                      unsigned short advised_hashsize;  /* 0 si sans opinion */
                      unsigned short advised_hashstep;  /* 0 si sans opinion */
                      unsigned short advised_hashlevel; /* 0 si sans opinion */
                  };

              (Depuis 1.1.92.)

       KDGKBMODE
              Recupere  le  mode  courant du clavier. argp pointe vers un long
              qui prend une de ces valeurs :

                  K_RAW         0x00
                  K_XLATE       0x01
                  K_MEDIUMRAW   0x02
                  K_UNICODE     0x03

       KDSKBMODE
              Fixe le mode courant du clavier. argp est un long egal a une des
              valeurs precedentes.

       KDGKBMETA
              Recupere  le  mode de gestion des meta-touches. argp pointe vers
              un long qui prend une des valeurs suivantes :

                  K_METABIT     0x03   positionne le bit de poids fort
                  K_ESCPREFIX   0x04   prefixe pour les echappements

       KDSKBMETA
              Fixe le mode de gestion des meta-touches. argp est un long  egal
              a une des valeurs precedentes.

       KDGKBENT
              Recupere  une  entree  dans  la  table de traduction des touches
              (code de touche  vers  code  d'action).  argp  pointe  vers  une
              structure de type :

                  struct kbentry {
                      unsigned char  kb_table;
                      unsigned char  kb_index;
                      unsigned short kb_value;
                  };

              dont  les  deux  premiers  membres  sont  renseignes :  kb_table
              selectionne la table de touches (0<= kb_table < MAX_NR_KEYMAPS),
              et  kb_index  est  le  code de touche (0 <= kb_index < NR_KEYS).
              kb_value est positionne avec le code d'action  correspondant  ou
              K_HOLE  si  la  touche  n'existe  pas  ou  encore K_NOSUCHMAP si
              kb_table n'est pas valable.

       KDSKBENT
              Fixe une entree de la table de traduction. argp pointe vers  une
              struct kbentry.

       KDGKBSENT
              Recupere  la  chaine d'une touche fonction. argp pointe vers une
              structure de type :

                  struct kbsentry {
                      unsigned char kb_func;
                      unsigned char kb_string[512];
                  };

              kb_string fournit la chaine  (terminee  par  un  caractere  nul)
              correspondant   au   code  d'action  de  la  kb_funcieme  touche
              fonction.

       KDSKBSENT
              Fixe la chaine d'une  touche  fonction.  argp  pointe  vers  une
              struct kbsentry.

       KDGKBDIACR
              Lit  la  table  des  accents  du  noyau.  argp  pointe  vers une
              structure de type :

                  struct kbdiacrs {
                      unsigned int   kb_cnt;
                      struct kbdiacr kbdiacr[256];
                  };

              ou kb_cnt est le nombre d'entrees dans le tableau, chaque entree
              etant une structure de type :

                  struct kbdiacr {
                      unsigned char diacr;
                      unsigned char base;
                      unsigned char result;
                  };

       KDGETKEYCODE
              Lit  une  entree  de la table des codes touche du noyau (<< scan
              code >> vers code touche). argp pointe  vers  une  structure  de
              type :

                  struct kbkeycode {
                      unsigned int scancode;
                      unsigned int keycode;
                  };

              keycode  fournit le code touche correspondant a scancode. (89 <=
              scancode  <=  255  seulement.  Pour  1  <=   scancode   <=   88,
              keycode==scancode.) (Depuis 1.1.63.)

       KDSETKEYCODE
              Ecrit  une  entree  de  la table des codes touche du noyau. argp
              pointe vers une struct kbkeycode. (Depuis 1.1.63.)

       KDSIGACCEPT
              Le processus signale sa volonte d'accepter le signal argp  quand
              il  est  genere en pressant une certaine combinaison de touches.
              (1  <=  argp   <=   NSIG).   (Consultez   spawn_console()   dans
              linux/drivers/char/keyboard.c)

       VT_OPENQRY
              Renvoie  la  premiere  console  disponible  (non  ouverte). argp
              pointe vers un int auquel est  affecte  le  numero  du  terminal
              virtuel (1 <= *argp <= MAX_NR_CONSOLES).

       VT_GETMODE
              Recupere  le  mode  du  terminal  virtuel (<< vt >>) actif. argp
              pointe vers une structure de type :

                  struct vt_mode {
                      char  mode;    /* mode du terminal virtuel */
                      char  waitv;   /* si positionne, met les ecritures en attente
                                        et permet les ecritures, sinon */
                      short relsig;  /* signal a lever en cas de liberation */
                      short acqsig;  /* signal a lever en cas d'acquisition */
                      short frsig;   /* pas utilise (mis a 0) */
                  };

              qui indique le mode du terminal virtuel actif.  mode  prend  une
              des valeurs :

                  VT_AUTO       changement de vt automatique
                  VT_PROCESS    changement de vt controle par un processus
                  VT_ACKACQ     changement de vt apres confirmation

       VT_SETMODE
              Fixe  l'etat  du  terminal  virtuel  actif. argp pointe vers une
              struct vt_mode.

       VT_GETSTATE
              Recupere l'information globale sur l'etat du  terminal  virtuel.
              argp pointe vers une structure de type :

                  struct vt_stat {
                      unsigned short v_active;  /* terminal virtuel actif */
                      unsigned short v_signal;  /* signal a envoyer */
                      unsigned short v_state;   /* masque de bits de terminaux virtuels */
                  };

              Pour  chaque  terminal  virtuel utilise, le bit correspondant de
              v_state est positionne. (noyaux 1.0 a 1.1.92.)

       VT_RELDISP
              Libere un affichage.

       VT_ACTIVATE
              Passe au terminal virtuel argp (1 <= argp <= MAX_NR_CONSOLES).

       VT_WAITACTIVE
              Attend jusqu'a ce que le terminal virtuel argp soit active.

       VT_DISALLOCATE
              Libere la memoire associee au  terminal  virtuel  argp.  (Depuis
              1.1.54.)

       VT_RESIZE
              Informe  le noyau sur la taille de l'ecran. argp pointe vers une
              structure de type :

                  struct vt_sizes {
                      unsigned short v_rows;       /* # lignes */
                      unsigned short v_cols;       /* # colonnes */
                      unsigned short v_scrollsize; /* n'est plus utilise */
                  };

              Notez  que  ca  ne  change  pas   le   mode   video.   Consultez
              resizecons(8). (Depuis 1.1.54.)

       VT_RESIZEX
              Informe  le  noyau  de divers parametres de l'ecran. argp pointe
              vers une structure de type :

                  struct vt_consize {
                      unsigned short v_rows;  /* nombre de lignes */
                      unsigned short v_cols;  /* nombre de colonnes */
                      unsigned short v_vlin;  /* lignes de pixels
                                                 sur l'ecran */
                      unsigned short v_clin;  /* lignes de pixels
                                                 par caractere */
                      unsigned short v_vcol;  /* colonnes de pixels
                                                 sur l'ecran */
                      unsigned short v_ccol;  /* colonnes de pixels
                                                 par caractere */
                  };

              Tout parametre peut etre  mis  a  zero  pour  indiquer  qu'aucun
              changement   n'est   souhaite.   Si  plusieurs  parametres  sont
              positionnes, ils doivent etre coherents. Notez que ca ne  change
              pas le mode video. Consultez resizecons(8). (Depuis 1.3.3.)

       Les  actions  des  ioctls  suivants  dependent  du  premier octet de la
       structure pointee par argp, qui sera appele subcode par la suite. Elles
       ne sont autorisees que pour le superutilisateur ou pour le proprietaire
       du tty courant.

       TIOCLINUX, subcode=0
              Fait un cliche de l'ecran. A disparu dans le noyau 1.1.92. (Avec
              les  noyaux  1.1.92 et suivants, lisez /dev/vcsN ou /dev/vcsaN a
              la place.)

       TIOCLINUX, subcode=1
              Recupere les informations sur la tache. A disparu dans 1.1.92.

       TIOCLINUX, subcode=2
              Fixe la selection. argp pointe vers une structure de type :

                  struct {
                     char  subcode;
                     short xs, ys, xe, ye;
                     short sel_mode;
                  };

              xs et ys sont la colonne et la ligne  de  debut.  xe  et  ye  la
              colonne  et  la  ligne  de fin. (Le coin en haut a gauche a pour
              coordonnees  ligne=colonne=1.)  sel_mode   vaut   0   pour   les
              selections  caractere par caractere, 1 pour les selections mot a
              mot ou 2 pour les selections ligne a ligne.  Les  caracteres  de
              l'ecran  indiques  sont  surlignes  et  sauves  dans  le tableau
              statique sel_buffer de devices/char/console.c.

       TIOCLINUX, subcode=3
              Colle  la  selection.  Les  caracteres  dans  le  tampon  de  la
              selection sont ecrits dans fd.

       TIOCLINUX, subcode=4
              Arrete l'economiseur d'ecran.

       TIOCLINUX, subcode=5
              Fixe  le  contenu  de  la  table de correspondance (de 256 bits)
              definissant les caracteres d'un << mot >> pour une selection mot
              a mot. (Depuis 1.1.32.)

       TIOCLINUX, subcode=6
              argp pointe vers un caractere qui prend la valeur de la variable
              shift_state du noyau. (Depuis 1.1.32.)

       TIOCLINUX, subcode=7
              argp pointe vers un caractere qui prend la valeur de la variable
              report_mouse du noyau. (Depuis 1.1.33.)

       TIOCLINUX, subcode=8
              Fait  un  cliche  de  largeur et de la hauteur de l'ecran, de la
              position du curseur et de toutes les paires  caractere-attribut.
              (Noyaux  1.1.67  a  1.1.91 uniquement. Avec les noyaux 1.1.92 et
              suivants, lisez /dev/vcsa* a la place.)

       TIOCLINUX, subcode=9
              Restaure la largeur et la hauteur de  l'ecran,  la  position  du
              curseur  et toutes les paires caractere-attribut. (Noyaux 1.1.67
              a 1.1.91 uniquement. Avec les noyaux 1.1.92 et suivants, ecrivez
              dans /dev/vcsa* a la place.)

       TIOCLINUX, subcode=10
              Gere  les  fonctionnalites  de  gestion d'energie de la nouvelle
              generation de moniteurs. Le mode de veille d'ecran VESA est fixe
              a argp[1], qui defini ce que la veille produit :

                  0 : La veille de l'ecran est desactivee.

                  1 :  Les  parametres  du registre de l'adaptateur video sont
              enregistres, puis le controleur est programme  pour  couper  les
              pulsations de synchronisation verticales. Ceci place le moniteur
              en mode << standby >>. Si  votre  moniteur  a  un  minuteur,  il
              finira par s'eteindre de lui-meme.

                  2 :  Les  parametres  courants  sont  enregistres,  puis les
              pulsations de synchronisation verticales  et  horizontales  sont
              coupees.  Ceci  place votre moniteur en mode << off >>. Si votre
              moniteur n'a pas de minuteur ou  si  vous  souhaitez  que  votre
              moniteur  s'eteigne  immediatement  quand  le minuteur de veille
              arrive a bout, vous devriez choisir  cette  option.  (Prudence :
              Des extinctions frequentes abimeront votre moniteur.)

              (Depuis 1.1.76)

VALEUR RENVOY'EE

       En  cas  de succes, 0 est renvoye. En cas d'erreur, -1 est renvoye, est
       errno est positionne.

ERREURS

       errno peut prendre une de ces valeurs :

       EBADF  Le descripteur de fichier est invalide.

       ENOTTY Le descripteur de fichier n'est pas associe avec un peripherique
              special  de  type  caractere ou la requete specifiee ne peut pas
              lui etre appliquee.

       EINVAL Le descripteur de fichier ou argp est n'est pas valable.

       EPERM  Droits insuffisants.

NOTES

       Attention :  ne  considerez  pas  cette  page  de  manuel   comme   une
       documentation  des  ioctls  des  consoles Linux. Elle n'existe que pour
       satisfaire votre curiosite, et pour vous eviter de  lire  les  sources.
       Les  ioctls sont documentes a l'interieur de Linux et peuvent changer a
       tout moment sans  notification.  (En  realite,  cette  page  decrit  la
       situation  au  moment  du  noyau  1.1.94 ;  il  existe  des differences
       mineures, voire plus importantes, avec les versions plus recentes.)

       Tres souvent, les ioctls sont ajoutes pour la  communication  entre  le
       noyau   et   un  programme  particulier  assez  connu  (fdisk,  hdparm,
       setserial,  tunelp,  loadkeys,  selection,  setfont,  etc.),  et  leurs
       comportements changeront quand ce programme particulier le necessite.

       Les  programmes  qui  utilisent ces ioctls ne seront pas portables vers
       d'autres versions d'UNIX, et ne fonctionneront pas avec des versions de
       Linux plus anciennes ou plus recentes.

       Utilisez les fonctions POSIX.

VOIR AUSSI

       dumpkeys(1),    kbd_mode(1),    loadkeys(1),    mknod(1),   setleds(1),
       setmetamode(1), execve(2), fcntl(2), ioperm(2), termios(3), console(4),
       console_codes(4),  mt(4), sd(4), tty(4), tty_ioctl(4), ttyS(4), vcs(4),
       vcsa(4),   charsets(7),    mapscrn(8),    resizecons(8),    setfont(8),
       /usr/include/linux/kd.h, /usr/include/linux/vt.h

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.32 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>   (2003-2006).    Simon
       Paillard et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

Linux                           28 fevrier 2009               CONSOLE_IOCTL(4)