Unistd.h

De la Viquipèdia, l'enciclopèdia lliure
unistd.h

TipusC header file (en) Tradueix Modifica el valor a Wikidata
Part deBiblioteca C POSIX Modifica el valor a Wikidata
Característiques tècniques
PlataformaBiblioteca estàndard C

En els llenguatges de programació C i C++, unistd.h és el nom del fitxer de capçalera que proporciona accés a l'API del sistema operatiu POSIX. Està definit per l'estàndard POSIX.1, la base de l'Especificació Única Unix, i per tant hauria d'estar disponible en qualsevol sistema operatiu i compilador compatible amb POSIX. Per exemple, això inclou sistemes operatius Unix i similars a Unix, com ara variants de GNU, distribucions de Linux i BSD, i macOS, i compiladors com GCC i LLVM.[1]

En sistemes semblants a Unix, la interfície definida per unistd.h normalment es compon principalment de funcions d'embolcall de trucades de sistema com ara primitives fork, pipe i I/O (read, write, close, etc.).[2]

Les capes de compatibilitat Unix com Cygwin i MinGW també proporcionen les seves pròpies versions d'unistd.h. De fet, aquests sistemes el proporcionen juntament amb les biblioteques de traducció que implementen les seves funcions en termes de funcions win32. Per exemple, a Cygwin, es pot trobar un fitxer de capçalera a /usr/include que subinclou un fitxer del mateix nom a /usr/include/sys. No hi ha tot definit, però algunes definicions es fan mitjançant referències a les capçaleres de la biblioteca estàndard GNU C (com stddef.h) que proporcionen el tipus size_t i molts més. Per tant, unistd.h és només una capa adaptativa definida genèricament que es podria basar en definicions específiques del compilador i del sistema ja existents. Això té l'avantatge general de no tenir un conjunt possiblement simultània de fitxers de capçalera definit, sinó un que es construeix sobre la mateixa arrel que, per aquest motiu, generarà moltes menys preocupacions en casos d'ús combinats.[3][4]

Visió general de les funcions[modifica]

Funció Descripció
crypt mot de pas i dades encryption
encrypt encrypt 64-byte missatges
gethostid obtenir l'identificador únic de l'amfitrió actual
gethostname obtenir el nom d'amfitrió
getopt analitzar les opcions de la línia d'ordres
swab intercanviar bytes adjacents
sysconf obtenir la configuració en temps d'execució
Senyals alarm programar un senyal d'alarma
pause esperar el senyal
Sistema d'arxius access

faccessat faccessat2

comproveu els permisos de l'usuari per a un fitxer o si existeix
chdir

fchdir

canviar el directori de treball
chown

fchown lchown fchownat

change owner and group of a file
close tancar un descriptor de fitxer
dup

dup2

duplicate a file descriptor
fsync

fdatasync

sincronitzar l'estat central d'un fitxer amb el dispositiu d'emmagatzematge
fpathconf

pathconf

obtenir els valors de configuració dels fitxers
ftruncate

truncate

crida a un fitxer a una longitud especificada
getcwd

getwd get_current_dir_name

get current working directory
isatty prova si un descriptor de fitxer fa referència a un terminal
link

linkat

crear un nom nou per a un fitxer
lockf aplicar, provar o eliminar un bloqueig POSIX en un fitxer obert
lseek reposicionar el desplaçament del fitxer de lectura/escriptura
pipe

pipe2

crear canonada
pread

pwrite

llegir o escriure en un descriptor de fitxer a un desplaçament determinat
read llegir des d'un descriptor de fitxer
readlink

readlinkat

valor de lectura d'un enllaç simbòlic
rmdir eliminar un directori
symlink

symlinkat

crear un nom nou per a un fitxer
sync

syncfs

comprometre la memòria cau del sistema de fitxers al disc
ttyname

ttyname_r

retorna el nom d'un terminal
unlink

unlinkat

suprimir un nom i possiblement el fitxer al qual fa referència
write escriure en un descriptor de fitxer
Procés _exit finalitzar el procés de trucada
execl

execlp execle execv execvp execvpe

executar un fitxer
fexecve executar el programa especificat mitjançant el descriptor de fitxer
fork crear un nou procés
setpgid

getpgid setpgrp getpgrp

establir/obtenir el grup de processos
getpid

getppid

obtenir la identificació del procés
getsid obtenir l'identificador de sessió
nice canvi de prioritat del procés
setsid crea una sessió i estableix l'ID del grup de processos
sleep dormir durant un nombre especificat de segons
tcgetpgrp

tcsetpgrp

obtenir i establir el grup de processos en primer pla del terminal
Usuari/Grup getgid

getegid

obtenir la identitat del grup
getuid

geteuid

obtenir la identitat de l'usuari
getgroups obtenir una llista d'identificacions de grup addicionals
getlogin

getlogin_r

obtenir nom d'usuari
seteuid

setegid

establiu un identificador d'usuari o grup efectiu
setgid set group identity
setreuid

setregid

establiu un identificador d'usuari o grup real i/o efectiu
setuid establir la identitat de l'usuari


Referències[modifica]

  1. «unistd.h(0p) — Linux manual page» (en anglès). [Consulta: 25 novembre 2023].
  2. «unistd.h - standard symbolic constants and types» (en anglès). [Consulta: 25 desembre 2023].
  3. «C Standard Library header files - cppreference.com» (en anglès). [Consulta: 25 desembre 2023].
  4. «unistd.h (GNU Gnulib)» (en anglès). [Consulta: 25 desembre 2023].