Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       ioperm - stabilește permisiunile de intrare/ieșire a porturilor

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <sys/io.h>

       int ioperm(unsigned long from, unsigned long num, int turn_on);

DESCRIERE

       ioperm()  stabilește  biții de permisiune de acces la port pentru firul apelant pentru num
       biți începând de la adresa de port from.   Dacă  turn_on  este  diferit  de  zero,  atunci
       permisiunea  pentru  biții  specificați  este  activată; în caz contrar, este dezactivată.
       Dacă  turn_on  este  diferit  de  zero,  firul  apelant   trebuie   să   fie   privilegiat
       (CAP_SYS_RAWIO).

       Înainte  de  Linux  2.6.8,  numai primele porturi I/O 0x3ff puteau fi specificate în acest
       mod.  Pentru mai multe porturi, trebuia să se utilizeze apelul de sistem  iopl(2)  (cu  un
       argument  level  de  3).   Începând  cu  Linux 2.6.8, pot fi specificate 65.536 de porturi
       In/Ieș.

       Permisiunile sunt moștenite de procesul-copil creat de fork(2) (a  se  vedea  însă  NOTE).
       Permisiunile  sunt păstrate în execve(2); acest lucru este util pentru a acorda permisiuni
       de acces la porturi programelor neprivilegiate.

       Acest apel este destinat în special arhitecturii  i386.   Pe  multe  alte  arhitecturi  nu
       există sau va returna întotdeauna o eroare.

VALOAREA RETURNATĂ

       În  caz de succes, se returnează zero.  În caz de eroare, se returnează -1, iar errno este
       configurată pentru a indica eroarea.

ERORI

       EINVAL Valori nevalide pentru from sau num.Invalid values for from or num.

       EIO    (pe PowerPC) Acest apel nu este suportat

       ENOMEM Memorie insuficientă.

       EPERM  Firul apelant nu are privilegii suficiente.

STANDARDE

       ioperm() este specific Linux și nu ar trebui să fie utilizat în programe  destinate  a  fi
       portabile.

NOTE

       Fișierul /proc/ioports arată porturile In/Ieș care sunt alocate în prezent pe sistem.

       Înainte de Linux 2.4, permisiunile nu erau moștenite de un proces-copil creat de fork(2).

       glibc  are  un prototip ioperm() atât în <sys/io.h>, cât și în <sys/perm.h>.  Evitați-l pe
       acesta din urmă, este disponibil doar pe i386.

CONSULTAȚI ȘI

       iopl(2), outb(2), capabilities(7)

TRADUCERE

       Traducerea în limba  română  a  acestui  manual  a  fost  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară  cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui  manual,  vă  rugăm să trimiteți un e-mail la
       ⟨translation-team-ro@lists.sourceforge.net⟩.