unistd.h
Biblioteka C POSIX |
---|
|
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
- The Single UNIX Specification , Version 4 from The Open Group : standardowe symboliczne stałe i typy – Base Definitions Reference,