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 modifier

Fonction 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 modifier

Certains 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.

Références externes modifier