unistd.h
En informatique, unistd.h
est un fichier d'en-tête pour les langages de programmation C et C++, il donne accès à l'API du système d'exploitation POSIX. Il est défini par la norme POSIX.1, la base de la Single Unix Specification (SUS), et il devrait donc être disponible dans tout système d'exploitation et compilateur compatible POSIX. Par exemple, cela inclut les systèmes d'exploitation Unix et similaires, tels que les variantes de GNU, les distributions de Linux et BSD, et macOS, et les compilateurs tels que GCC et LLVM.
Sur les systèmes de type Unix, l'interface définie par unistd.h
est typiquement composée en grande partie de fonctions d'enveloppe d'appel système telles que fork
, pipe
et de primitives d'E/S (read
, write
, close
, etc.).
Aperçu des fonctions
modifierFonction | Description | |
---|---|---|
crypt
|
chiffre des mots de passe et des données | |
encrypt
|
chiffre les messages 64 bits | |
gethostid
|
obtenir l'identifiant unique de l'hôte actuel | |
gethostname
|
obtenir le nom d'hôte | |
getopt
|
analyser les options des lignes de commande | |
swab
|
échanger des octets adjacents | |
sysconf
|
obtenir la configuration au moment de l'exécution | |
Signaux | alarm
|
programmer un signal d'alarme |
pause
|
attendre le signal | |
Système fichiers | access faccessat faccessat2
|
vérifier les permissions de l'utilisateur pour un fichier |
chdir fchdir
|
changer de répertoire de travail | |
chown fchown lchown fchownat
|
changer le propriétaire et le groupe d'un fichier | |
close
|
fermer un descripteur de fichier | |
dup dup2
|
dupliquer un descripteur de fichier | |
fsync fdatasync
|
synchroniser l'état in-core d'un fichier avec le périphérique de stockage | |
fpathconf pathconf
|
obtenir les valeurs de configuration des fichiers | |
ftruncate truncate
|
tronquer un fichier à une longueur spécifiée | |
getcwd getwd get_current_dir_name |
récupérer le répertoire de travail actuel | |
isatty
|
tester si un descripteur de fichier fait référence à un terminal | |
link linkat
|
créer un nouveau nom pour un fichier | |
lockf
|
appliquer, tester ou supprimer un verrou POSIX sur un fichier ouvert | |
lseek
|
repositionnement lecture/écriture décalage du fichier | |
pipe pipe2
|
créer un tube | |
pread pwrite
|
lire ou écrire dans un descripteur de fichier à un décalage donné | |
read
|
lire à partir d'un descripteur de fichier | |
readlink readlinkat
|
lire la valeur d'un lien symbolique | |
rmdir
|
supprimer un répertoire | |
symlink symlinkat
|
créer un nouveau nom pour un fichier | |
sync syncfs
|
livrer les caches du système de fichiers sur le disque | |
ttyname ttyname_r
|
nom de retour d'un terminal | |
unlink unlinkat
|
supprimer un nom et éventuellement le fichier auquel il se réfère | |
write
|
écrire sur un descripteur de fichier | |
Processus | _exit
|
mettre fin au processus d'appel |
execl execlp execle execv execvp execvpe
|
exécuter un fichier | |
fexecve
|
exécute le programme spécifié par le descripteur de fichier | |
fork
|
créer un nouveau processus | |
setpgid getpgid setpgrp getpgrp |
définir/obtenir le groupe de processus | |
getpid getppid
|
obtenir l'identification du processus | |
getsid
|
obtenir l'ID de la session | |
nice
|
priorité du processus de changement | |
setsid
|
crée une session et définit l'ID du groupe de processus | |
sleep
|
dormir pendant un nombre de secondes spécifié | |
tcgetpgrp tcsetpgrp
|
obtenir et définir le groupe de processus de premier plan du terminal | |
Utilisateur/Groupe | getgid getegid
|
obtenir l'identité du groupe |
getuid geteuid
|
obtenir l'identité de l'utilisateur | |
getgroups
|
obtenir la liste des ID des groupes supplémentaires | |
getlogin getlogin_r
|
obtenir le nom d'utilisateur | |
seteuid setegid
|
définir l'ID de l'utilisateur ou du groupe effectif | |
setgid
|
définir l'identité du groupe | |
setreuid setregid
|
définir l'ID réel et/ou effectif de l'utilisateur ou du groupe | |
setuid
|
définir l'identité de l'utilisateur |
Couche de compatibilité Windows
modifierCertains logiciels comme Cygwin et MinGW fournissent leurs propres versions de unistd.h
, pour faire une traduction des appels de fonction POSIX en appel de fonction Windows.