ユニストd.h
C POSIX ライブラリ |
---|
|
CおよびC++プログラミング言語では、POSIXオペレーティングシステムAPIへのアクセスを提供するヘッダーファイルunistd.h
の名前です。[1]これは、 Single Unix仕様のベースであるPOSIX.1標準で定義されているため、POSIX準拠のオペレーティングシステムとコンパイラで使用できます。たとえば、これには、GNUバリアント、LinuxおよびBSDのディストリビューション、macOSなどのUnixおよびUnixライクなオペレーティングシステム、およびGCCやLLVMなどのコンパイラが含まれます。
Unix 系システムでは、 で定義されるインターフェースは、通常、 、などのシステム コール ラッパー関数とI/Oプリミティブ ( 、、など)
unistd.h
から大部分で構成されます。fork
pipe
read
write
close
CygwinやMinGWなどの Unix 互換レイヤーも、独自の unistd.h バージョンを提供しています。実際、これらのシステムは、win32 関数の観点からその機能を実装する変換ライブラリとともにこれを提供しています。たとえば、Cygwin では、 にあるヘッダー ファイルがあり、/usr/include
その中には にある同じ名前のファイルがサブインクルードされています。そこですべてが定義されているわけではありませんが、一部の定義は、 size_t型などを提供する/usr/include/sys
GNU C 標準ライブラリ ヘッダー ( stddef.hなど) への参照によって行われます。したがって、 unistd.h は、既存のシステムおよびコンパイラ固有の定義に基づく可能性のある、汎用的に定義された適応型レイヤーにすぎません。これには、定義されている可能性のあるヘッダー ファイルのセットが同じルート上に構築されているという一般的な利点があり、このため、組み合わせて使用する場合の問題が大幅に少なくなります。
機能の概要
関数 | 説明 | |
---|---|---|
crypt
|
パスワードとデータの暗号化 | |
encrypt
|
64バイトのメッセージを暗号化する | |
gethostid
|
現在のホストの一意の識別子を取得する | |
gethostname
|
ホスト名を取得する | |
getopt
|
コマンドラインオプションを解析する | |
swab
|
隣接するバイトを交換する | |
sysconf
|
実行時に構成を取得する | |
信号 | alarm
|
アラーム信号をスケジュールする |
pause
|
信号を待つ | |
ファイルシステム | access faccessat faccessat2
|
ファイルに対する ユーザーの権限またはファイルが存在するかどうかを確認する |
chdir fchdir
|
作業ディレクトリを変更する | |
chown fchown lchown fchownat
|
ファイルの所有者とグループを変更する | |
close
|
ファイル記述子を閉じる | |
dup dup2
|
ファイル記述子を複製する | |
fsync fdatasync
|
ファイルのコア内状態をストレージデバイスと同期する | |
fpathconf pathconf
|
ファイルの設定値を取得する | |
ftruncate truncate
|
ファイルを指定された長さに切り捨てる | |
getcwd getwd get_current_dir_name |
現在の作業ディレクトリを取得する | |
isatty
|
ファイル記述子が端末を参照しているかどうかをテストする | |
link linkat
|
ファイルに新しい名前を付ける | |
lockf
|
開いているファイルにPOSIXロックを適用、テスト、または削除する | |
lseek
|
読み取り/書き込みファイルのオフセットを再配置する | |
pipe pipe2
|
パイプを作成する | |
pread pwrite
|
指定されたオフセットのファイル記述子を読み書きする | |
read
|
ファイル記述子から読み取る | |
readlink readlinkat
|
シンボリックリンクの値を読み取る | |
rmdir
|
ディレクトリを削除する | |
symlink symlinkat
|
ファイルに新しい名前を付ける | |
sync syncfs
|
ファイルシステムのキャッシュをディスクにコミットする | |
ttyname ttyname_r
|
端末名を返す | |
unlink unlinkat
|
名前とそれが参照するファイルを削除する | |
write
|
ファイル記述子に書き込む | |
プロセス | _exit
|
呼び出しプロセスを終了する |
execl execlp execle execv execvp execvpe
|
ファイルを実行する | |
fexecve
|
ファイル記述子で指定されたプログラムを実行する | |
fork
|
新しいプロセスを作成する | |
setpgid getpgid setpgrp getpgrp |
プロセスグループの設定/取得 | |
getpid getppid
|
プロセス識別を取得する | |
getsid
|
セッションIDを取得する | |
nice
|
プロセスの優先度を変更する | |
setsid
|
セッションを作成し、プロセスグループIDを設定します | |
sleep
|
指定した秒数スリープする | |
tcgetpgrp tcsetpgrp
|
ターミナルフォアグラウンドプロセスグループの取得と設定 | |
ユーザー/グループ | getgid getegid
|
グループのアイデンティティを獲得する |
getuid geteuid
|
ユーザーIDを取得する | |
getgroups
|
補助グループIDのリストを取得する | |
getlogin getlogin_r
|
ユーザー名を取得 | |
seteuid setegid
|
有効なユーザーまたはグループIDを設定する | |
setgid
|
グループのアイデンティティを設定する | |
setreuid setregid
|
実ユーザーIDまたは実効ユーザーIDまたはグループIDを設定する | |
setuid
|
ユーザーIDを設定する |
参考文献
- ^ "unistd.h(0P)". POSIXプログラマーズマニュアル. IEEE/The Open Group. 2017年. 2024年2月9日閲覧。
外部リンク
- The Single UNIX 仕様、バージョン 4、The Open Group : 標準の記号定数と型 – 基本定義リファレンス、