unistd.h

W językach programowania C i C++ unistd.h to nazwa pliku nagłówkowego , który zapewnia dostęp do interfejsu API systemu operacyjnego POSIX . Jest zdefiniowany w standardzie POSIX.1, będącym podstawą specyfikacji Single Unix , i dlatego powinien być dostępny w każdym systemie operacyjnym i kompilatorze zgodnym z POSIX . Obejmuje to na przykład Unix i Unix , takie jak warianty GNU , dystrybucje Linux i BSD oraz macOS i kompilatory, takie jak GCC i LLVM .

W systemach typu Unix interfejs zdefiniowany przez unistd.h zazwyczaj składa się głównie z funkcji opakowujących wywołania systemowe, takich jak rozwidlenie , potok i prymitywy we/wy ( odczyt , zapis , zamknięcie itp.).

Warstwy kompatybilności z systemem Unix, takie jak Cygwin i MinGW, również udostępniają własne wersje unistd.h. W rzeczywistości systemy te zapewniają go wraz z bibliotekami tłumaczeń, które implementują jego funkcje w zakresie funkcji win32. Np. W Cygwin plik nagłówkowy można znaleźć w /usr/include , który zawiera plik o tej samej nazwie w /usr/include/sys . Nie wszystko jest tam zdefiniowane, ale niektóre definicje są tworzone przez odniesienia do nagłówków standardowej biblioteki GNU C (takich jak stddef.h ), które zapewniają typ size_t i wiele więcej. Zatem unistd.h jest tylko ogólnie zdefiniowaną warstwą adaptacyjną, która może być oparta na już istniejących definicjach specyficznych dla systemu i kompilatora. Ma to ogólną zaletę polegającą na tym, że nie ma zdefiniowanego prawdopodobnie współbieżnego zestawu plików nagłówkowych, ale taki, który jest zbudowany na tym samym katalogu głównym, co z tego powodu spowoduje znacznie mniej problemów w połączonych przypadkach użycia.

Przegląd funkcji

Funkcjonować Opis
krypta szyfrowanie hasła i danych
szyfrować szyfrować wiadomości 64-bajtowe
gethostid uzyskać unikalny identyfikator bieżącego hosta
gethostname uzyskać nazwę hosta
getopt przeanalizuj opcje wiersza poleceń
wymaz zamień sąsiednie bajty
sysconf pobierz konfigurację w czasie wykonywania
Sygnały alarm sygnał alarmowy
pauza czekać na sygnał
System plików

dostęp do faccessat faccessat2
uprawnienia użytkownika do pliku

chdir fchdir
zmienić katalog roboczy



chown fchown lchown fchownat
zmienić właściciela i grupę pliku
zamknąć zamknąć deskryptor pliku

dup dup2
zduplikować deskryptor pliku

fsync fdatasync
synchronizować stan pliku w rdzeniu z urządzeniem pamięci masowej

fpathconf ścieżka konf
uzyskać wartości konfiguracyjne dla plików

fruncate obetnij
skrócić plik do określonej długości


getcwd getwd get_current_dir_name
pobierz bieżący katalog roboczy
niespokojny sprawdzić, czy deskryptor pliku odnosi się do terminala

link linkat
stworzyć nową nazwę dla pliku
blokada zastosować, przetestować lub usunąć blokadę POSIX na otwartym pliku
szukać zmienić pozycję odczytu/zapisu przesunięcia pliku

rura rura2
stworzyć rurę

napisz pw
odczytywać lub zapisywać do deskryptora pliku przy danym przesunięciu
Czytać czytać z deskryptora pliku
przeczytaj link przeczytaj link
odczytać wartość dowiązania symbolicznego
rmdir usunąć katalog

dowiązanie symboliczne dowiązanie symboliczne
stworzyć nową nazwę dla pliku

synchronizacja syncfs
zatwierdzać pamięci podręczne systemu plików na dysku

ttyname ttyname_r
zwracana nazwa terminala

odłączyć odłączyć
usunąć nazwę i ewentualnie plik, do którego się odnosi
pisać napisz do deskryptora pliku
Proces _Wyjście proces wywołujący





execl execlp execle execv execvp execvpe
wykonać plik
Fexecve wykonaj program określony przez deskryptor pliku
widelec stworzyć nowy proces



setpgid getpgid setpgrp getpgrp
ustaw/pobierz grupę procesów

getpid getppid
uzyskać identyfikację procesu
getid uzyskać identyfikator sesji
Ładny zmienić priorytet procesu
ustawia tworzy sesję i ustawia identyfikator grupy procesów
spać spać przez określoną liczbę sekund

tcgetpgrp tcsetpgrp
pobierz i ustaw grupę procesów pierwszoplanowych terminala
Użytkownik/Grupa
getgid getegid
uzyskać tożsamość grupową

pobierz pobierz
uzyskać tożsamość użytkownika
getgroups uzyskać listę dodatkowych identyfikatorów grup

getlogin getlogin_r
uzyskać nazwę użytkownika

seteuid setegid
ustawić efektywny identyfikator użytkownika lub grupy
ustaw ustawić tożsamość grupową

setreuid setregid
ustawić rzeczywisty i/lub efektywny identyfikator użytkownika lub grupy
ustawić ustawić tożsamość użytkownika

Linki zewnętrzne