Unistd.h
Tipus | C header file (en) |
---|---|
Part de | Biblioteca C POSIX |
Característiques tècniques | |
Plataforma | Biblioteca 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
|
comproveu els permisos de l'usuari per a un fitxer o si existeix |
chdir
|
canviar el directori de treball | |
chown
|
change owner and group of a file | |
close
|
tancar un descriptor de fitxer | |
dup
|
duplicate a file descriptor | |
fsync
|
sincronitzar l'estat central d'un fitxer amb el dispositiu d'emmagatzematge | |
fpathconf
|
obtenir els valors de configuració dels fitxers | |
ftruncate
|
crida a un fitxer a una longitud especificada | |
getcwd
|
get current working directory | |
isatty
|
prova si un descriptor de fitxer fa referència a un terminal | |
link
|
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
|
crear canonada | |
pread
|
llegir o escriure en un descriptor de fitxer a un desplaçament determinat | |
read
|
llegir des d'un descriptor de fitxer | |
readlink
|
valor de lectura d'un enllaç simbòlic | |
rmdir
|
eliminar un directori | |
symlink
|
crear un nom nou per a un fitxer | |
sync
|
comprometre la memòria cau del sistema de fitxers al disc | |
ttyname
|
retorna el nom d'un terminal | |
unlink
|
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
|
executar un fitxer | |
fexecve
|
executar el programa especificat mitjançant el descriptor de fitxer | |
fork
|
crear un nou procés | |
setpgid
|
establir/obtenir el grup de processos | |
getpid
|
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
|
obtenir i establir el grup de processos en primer pla del terminal | |
Usuari/Grup | getgid
|
obtenir la identitat del grup |
getuid
|
obtenir la identitat de l'usuari | |
getgroups
|
obtenir una llista d'identificacions de grup addicionals | |
getlogin
|
obtenir nom d'usuari | |
seteuid
|
establiu un identificador d'usuari o grup efectiu | |
setgid
|
set group identity | |
setreuid
|
establiu un identificador d'usuari o grup real i/o efectiu | |
setuid
|
establir la identitat de l'usuari |
Referències
[modifica]- ↑ «unistd.h(0p) — Linux manual page» (en anglès). [Consulta: 25 novembre 2023].
- ↑ «unistd.h - standard symbolic constants and types» (en anglès). [Consulta: 25 desembre 2023].
- ↑ «C Standard Library header files - cppreference.com» (en anglès). [Consulta: 25 desembre 2023].
- ↑ «unistd.h (GNU Gnulib)» (en anglès). [Consulta: 25 desembre 2023].