#contents
----
POSIXを中心とした*nix環境向けのAPI情報。[[Linux>link集/OS系/Linux]]向けの情報が中心。
-&topicpath;

*API(Application Program Interface) [#API]
:[[Microsoft VisualC++]]|VC++向けはこちら。
:ワイド文字向けI/F|多分下記ヘッダに定義有り。
 /usr/include/wchar.h

**共有メモリ [#API_SharedMemory]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[shm_open:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/shm_open.3.html]]|共有メモリオブジェクト作成|POSIX|
|[[shm_unlink:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/shm_open.3.html]]|共有メモリオブジェクトの破棄|POSIX|
|[[mmap:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/mmap.2.html]]|ディスクリプタをプロセスのアドレス空間にマップ|POSIX|
|[[ftruncate:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/ftruncate.2.html]]|共有メモリオブジェクトのサイズ変更|POSIX|
|[[fstat:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/fstat.2.html]]|共有メモリオブジェクトの情報取得|POSIX|
|[[shmget:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/shmget.2.html]]|共有メモリを作成|System V|
|[[shmat:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/shmat.2.html]]|共有メモリセグメントへの読み書きを許可する(attach)|System V|
|[[shmdt:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/shmat.2.html]]|共有メモリセグメントへのアクセスを終了する(detach)|System V|
|[[shmctl:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/shmctl.2.html]]|共有メモリセグメントの破棄|System V|

**Timer制御 [#API_Timer]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[sleep:http://osaka-sandai.www.linux.or.jp/JM/html/LDP_man-pages/man3/sleep.3.html]]|指定の秒数の間だけ休止する ||
|[[usleep:http://osaka-sandai.www.linux.or.jp/JM/html/LDP_man-pages/man3/usleep.3.html]]|マイクロ秒単位で実行を延期||
|[[nanosleep:http://osaka-sandai.www.linux.or.jp/JM/html/LDP_man-pages/man2/nanosleep.2.html]]|指定された時間の間実行を停止||
|[[clock_getres:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/clock_gettime.3.html]]|指定されたクロックの分解能(精度)を取得|POSIX|
|[[clock_gettime&br;clock_settime:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/clock_gettime.3.html]]|指定されたクロックの時間を取得または設定|POSIX|
|[[getitimer&br;setitimer:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/getitimer.2.html]]|インターバル・タイマーの値を取得または設定|POSIX|
|[[sigaction:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/sigaction.2.html]]|シグナルの動作の確認と変更||
|[[timer_create&br;timer_delete:http://docs.hp.com/ja/B2355-90854/timers.2.html]]|タイマーの生成または破棄|POSIX|
|[[timer_gettime&br;timer_settime:http://docs.hp.com/ja/B2355-90854/timers.2.html]]|タイマーの起動及びタイマー状態の取得|POSIX|
|[[timer_getoverrun:http://docs.hp.com/ja/B2355-90854/timers.2.html]]|タイマ満了カウントの取得|POSIX|
|[[gettimeofday:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/gettimeofday.2.html]]|時刻を取得する|POSIX|

-関連情報
:[[Linux 用リアルタイムクロックドライバ(/proc/rtc):http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/rtc.txt.html]]|

**プロセス・スレッド制御 [#API_Process]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[getpid:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/getpid.2.html]]|現在のプロセスのプロセスIDを取得||
|[[gettid:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/gettid.2.html]]|カレントプロセスのスレッドID(TID)を取得||
|[[getpriority&br;setpriority:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/setpriority.2.html]]|指定されたプロセス、プロセス・グループ、ユーザーのスケジューリング優先度の取得・設定||
|[[sched_getaffinity&br;sched_setaffinity:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/sched_setaffinity.2.html]]|プロセスの CPU affinity (親和度) マスクを取得・設定|pthread|
|[[sched_get_priority_min&br;sched_get_priority_max:http://osaka-sandai.www.linux.or.jp/JM/html/LDP_man-pages/man2/sched_get_priority_min.2.html]]|指定されたスケジューリングのアルゴリズムで使用されるプライオリティの最大・最小値を取得|pthread|
|[[sched_yield:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/sched_yield.2.html]]|他のプロセスにプロセッサを空け渡す ((Linuxで usleep(0) とかループ処理の中でやると悲惨な事に・・・なる))|pthread|
|[[pthread_attr_getschedpolicy&br;pthread_attr_setschedpolicy:http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/pthread_attr_init.3.html]]|スレッドのスケジューリングポリシーの取得・設定|pthread|
|[[pthread_attr_getschedparam&br;pthread_attr_setschedparam:http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/pthread_attr_init.3.html]]|スレッドのスケジューリング優先度等を取得・設定|pthread|
|[[pthread_attr_getinheritsched&br;pthread_attr_setinheritsched:http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/pthread_attr_init.3.html]]|新しく生成されるスレッドのスケジューリングポリシーとスケジューリングパラメータの親スレッドからの継承状態を取得・設定|pthread|
|pthread_yield|他のスレッドにプロセッサを空け渡す|pthread|
|pthread_spin_init||pthread|
|pthread_spin_destroy||pthread|
|pthread_spin_lock||pthread|
|pthread_spin_trylock||pthread|
|pthread_spin_unlock||pthread|
|pthread_barrier_init|バリアを初期化します|pthread|
|pthread_barrier_destroy|バリアを破棄します|pthread|
|pthread_barrier_wait|参加しているスレッドをバリアで同期します|pthread|

**プロセス間メッセージ [#API_IPC]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|mq_open|メッセージキューの作成&オープン|POSIX|
|mq_close|メッセージキューのクローズ|POSIX|
|mq_unlink|メッセージキューの削除|POSIX|
|mq_getattr|メッセージキュー属性の取得|POSIX|
|mq_setattr|メッセージキュー属性の設定|POSIX|
|mq_send|メッセージキューの送信|POSIX|
|mq_receive|メッセージキューの受信|POSIX|
|mq_nofity|シグナル通知|POSIX|
|[[msgget:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/msgget.2.html]]|引き数の値に対応するメッセージ・キューの識別子を取得|System V|
|[[msgsnd:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/msgop.2.html]]|メッセージ・キューへのメッセージの送信|System V|
|[[msgrcv:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/msgop.2.html]]|メッセージ・キューへのメッセージの受信|System V|
|[[msgctl:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/msgctl.2.html]]|メッセージ制御操作|System V|

**メモリ操作 [#API_Memory]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[posix_memalign:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/posix_memalign.3.html]]|アラインメントされたメモリの割り当てを行う|<malloc.h>|
|[[memalign:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/posix_memalign.3.html]]|アラインメントされたメモリの割り当てを行う|<malloc.h>|
|[[mlock:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/mlock.2.html]]|メモリのロックを行う||
|[[munlock:http://www.linux.or.jp/JM/html/LDP_man-pages/man2/mlock.2.html]]|メモリのロック解除を行う||
//||||

**文字列操作 [#API_String]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[strlcpy:http://ja.wikipedia.org/wiki/Strlcpy]]|C言語で文字列を安全にコピーする||
//||||

**パス操作 [#API_Path]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[basename:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/basename.3.html]]|パスからディレクトリとサフィックスを取り除く|<string.h>|
|[[dirname:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/basename.3.html]]|パスからファイル名を取り除く|<libgen.h>|
|[[realpath:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/realpath.3.html]]|正規化された絶対パス名を返す|<stdlib.h>|
//||||

**フォルダ操作 [#API_Folder]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[mkdir:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/mkdir.2.html]]|フォルダの作成|<unistd.h>|
|[[rmdir:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/rmdir.2.html]]|フォルダの削除|<unistd.h>|
|[[chdir:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/chdir.2.html]]|カレントフォルダの変更|<unistd.h>|
|[[getcwd:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/getcwd.3.html]]|カレントフォルダの取得|<unistd.h>|

**ファイル操作 [#API_File]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[rename:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/rename.2.html]]|ファイル移動/名前変更||
|[[remove:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/remove.3.html]]|ファイル・フォルダの削除||
|[[fgets_unlocked:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/unlocked_stdio.3.html]]|ロックを行わずに標準入出力処理を行う||
|[[flockfile:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/flockfile.3.html]]|標準入出力 FILE のロックを行う||
|[[funlockfile:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/flockfile.3.html]]|標準入出力 FILE のロック解除||
//||||

-関連情報
:[[libaio(Linuxの非同期I/Oライブラリ)の使い方:http://kzk9.net/blog/2007/06/libaio.html]]|

**浮動小数点制御 [#API_Float]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[feraiseexcept:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fenv.3.html]]|浮動小数点例外の発生|<fenv.h>|
|[[feenableexcept:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fenv.3.html]]|浮動小数点例外の制御|GNU|
|[[_FPU_SETCW:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/__setfpucw.3.html]]|浮動小数点例外の制御|obsolete|

**システム情報 [#API_SysInfo]
|CENTER:API名称|CENTER:用途|CENTER:備考|h
|[[sysconf:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/sysconf.3.html]]|動作中に設定情報を取得する。環境によってはCPU数等も取得可能|<unistd.h>|
|[[syscall:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/syscall.2.html]]|スレッドID等を取得可能|<unistd.h>|
|[[localeconv:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/localeconv.3.html]]|数値に関する書式情報を取得|<locale.h>|
//||||

ページ先頭へ   最終更新のRDF 最終更新のRSS
Valid XHTML 1.1 Valid CSS! [Valid RSS]