Copyright © 1998,1999 Cygnus Solutions.
| 改訂履歴 | ||
|---|---|---|
| 改訂 0.0 | 1998-08-31 | dj@cygnus.com |
| Initial revision | ||
| 改訂 0.5.0 | 1998-12-17 | noer@cygnus.com |
| Add pthread, sem calls. Change revnumber to three-part number: Cygwin API major, Cygwin API minor, Doc rev number. Starts out at 0.5.0. | ||
目次
以下の関数は ANSI との互換性があります。
clearerr, fclose, feof, ferror, fflush, fgetc, fgetpos, fgets, fopen, fprintf, fputc, fputs, fread, freopen, fscanf, fseek, fsetpos, ftell, fwrite, getc, getchar, gets, perror, printf, putc, putchar, puts, remove, rename, rewind, scanf, setbuf, setvbuf, sprintf, sscanf, tmpfile, tmpnam, vfprintf, ungetc, vprintf, vsprintf,
memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strerror, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtok, strxfrm
abort, abs, assert, atexit, atof, atoi, atol, bsearch, calloc, div, exit, free, getenv, labs, ldiv, longjmp, malloc, mblen, mbstowcs, mbtowc, qsort, rand, realloc, setjmp, srand, strtod, strtol, strtoul, system, wcstombs, wctomb
isalnum, isalpha, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, tolower, toupper
acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin, sinh, sqrt, tan, tanh
以下の関数は POSIX.1 との互換性があります。
fork, execl, execle, execlp, execv, execve, execvp, wait, waitpid, _exit, kill, sigemptyset, sigfillset, sigaddset, sigdelset, sigismember, sigaction, pthread_sigmask, sigprocmask, sigpending, sigsuspend, alarm, pause, sleep, pthread_kill, pthread_sigmask
getpid, getppid, getuid, geteuid, getgid, getegid, setuid, setgid, getgroups, getlogin, getpgrp, setsid, setpgid, uname, time, times, getenv, ctermid, ttyname, isatty, sysconf
opendir, readdir, rewinddir, closedir, chdir, getcwd, open, creat, umask, link, mkdir, unlink, rmdir, rename, stat, fstat, access, chmod, fchmod, chown, utime, ftruncate, pathconf, fpathconf
cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed, tcdrain, tcflow, tcflush, tcgetattr, tcgetpgrp, tcsendbreak, tcsetattr, tcsetpgrp
abort, exit, fclose, fdopen, fflush, fgetc, fgets, fileno, fopen, fprintf, fputc, fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar, gets, perror, printf, putc, putchar, puts, remove, rewind, scanf, setlocale, siglongjmp, sigsetjmp, tmpfile, tmpnam, tzset
sem_init, sem_destroy, sem_wait, sem_trywait, sem_post, pthread_mutex_init, pthread_mutex_destroy, pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock
pthread_attr_init, pthread_attr_destroy, pthread_attr_setstacksize, pthread_attr_getstacksize, pthread_create, pthread_exit, pthread_self, pthread_equal
pthread_key_create, pthread_setspecific, pthread_getspecific, pthread_key_delete
以下の関数はその他の標準との互換性があります。
((POSIX 1.g によって標準化されたもの。まだドラフト段階か?)
accept, bind, connect, getdomainname, gethostbyaddr, gethostbyname, getpeername, getprotobyname, getprotobynumber, getservbyname, getservbyport, getsockname, getsockopt, herror, htonl, htons, inet_addr, inet_makeaddr, inet_netof, inet_ntoa, listen, ntohl, ntohs, rcmd, recv, recvfrom, rexec, rresvport, send, sendto, setsockopt, shutdown, socket, socketpair
rexec、rcmd、rresvport といったこれらのネットワーク関数は Microsoft の IP スタックでは実装されていますが、 他のベンダのスタックでは実装されていないかもしれません。
chroot, closelog, cwait, dlclose, dlerror, dlfork, dlopen, dlsym, endgrent, ffs, fstatfs, ftime, get_osfhandle, getdtablesize, getgrent, gethostname, getitimer, getmntent, getpagesize, getpgid, getpwent, gettimeofday, grantpt, initgroups, ioctl, killpg, login, logout, lstat, mknod, memccpy, nice, openlog, pclose, popen, ptsname, putenv, random, readv, realpath, regfree, rexec, select, setegid setenv, seterrno, seteuid, setitimer, setmntent, setmode, setpassent, setpgrp, setpwent, settimeofday, sexecl, sexecle, sexeclp, sexeclpe, sexeclpe, sexecp, sexecv, sexecve, sexecvpe, sigpause, spawnl, spawnle, spawnlp, spawnlpe, spawnv, spawnve, spawnvp, spawnvpe, srandom, statfs, strsignal, strtosigno, swab, syslog, timezone, truncate, ttyslot, unlockpt, unsetenv, usleep, utimes, vfork, vhangup, wait3, wait4, wcscmp, wcslen, wprintf, writev
initgroups は何もしません。
chroot、mknod、
settimeofday そして vhangup
は常に -1 を返し、errno に ENOSYS を設定します。
nice は本関数の incr 引数を使用することによって、
Cygwin プログラムに対して現在の実行優先度の変更を許可します。
Cygwin プロセスは nice 呼び出しに対し、
IDLE_PRIORITY_CLASS、NORMAL_PRIORITY_CLASS、
HIGH_PRIORITY_CLASS 又は REALTIME_PRIORITY_CLASS を指定出来ます。
NORMAL_PRIORITY_CLASS がデフォルトです。
nice() に対して正値を指定すると、優先度は(先の優先度リスト中で)一つ減少します。
負値の指定は優先度を一つ増加させます。
呼び出しを繰り返し行わない限り、一度に一つ以上優先度を変更することは出来ません。
REALTIME_PRIORITY_CLASS 以上に増加させた場合、
プロセスはその優先度に留まります。同様に、IDLE_PRIORITY_CLASS
以下に減少させた場合もその優先度に留まります。
Win32 API には 32 の優先度が存在することに注意して下さい。
現在のところ、nice を通してはそれらのうちの
4 つにしかアクセス出来ません。
seteuid と setegid
は常に 0 を返し、errno に ENOSYS を設定します。
vfork は fork
を呼び出すだけです。
これらの関数は Cygwin に特有のものであり、おそらく他のどこにも存在しないものです。
extern "C" int
cygwin_attach_handle_to_fd( | name, | |
| fd, | ||
| handle, | ||
| bin, | ||
access); |
| char * | name; |
| int | fd; |
| HANDLE | handle; |
| int | bin; |
| int | access; |
この関数は Win32 の「ハンドル」を POSIX
スタイルのファイルハンドルへと変換するために使用します。
Cygwin にハンドルを割り当てさせるため、
fd は -1 であるかもしれません。
どのような場合でも、有効なハンドルが返されます。
extern "C" void
cygwin_conv_to_full_posix_path( | path, | |
posix_path); |
| const char * | path; |
| char * | posix_path; |
Win32 パスを POSIX パスへと変換します。
path が既に POSIX パスであれば、そのままにします。
path が相対パスであれば、
posix_path は絶対パスへと変換されます。
posix_path
は十分なサイズを持ったバッファを指示していなければならない点に注意して下さい。
必要であれば MAX_PATH を使用します。
extern "C" void
cygwin_conv_to_full_win32_path( | path, | |
win32_path); |
| const char * | path; |
| char * | win32_path; |
POSIX パスを Win32 パスへと変換します。
path が既に Win32 パスであれば、そのままにします。
path が相対パスであれば、
win32_path は絶対パスへと変換されます。
win32_path
は十分なサイズを持ったバッファを指示していなければならない点に注意して下さい。
必要であれば MAX_PATH を使用します。
extern "C" void
cygwin_conv_to_posix_path( | path, | |
posix_path); |
| const char * | path; |
| char * | posix_path; |
Win32 パスを POSIX パスへと変換します。
path が既に POSIX パスであれば、そのままにします。
path が相対パスであれば、
posix_path もまた相対パスとなります。
posix_path
は十分なサイズを持ったバッファを指示していなければならない点に注意して下さい。
必要であれば MAX_PATH を使用します。
extern "C" void
cygwin_conv_to_win32_path( | path, | |
win32_path); |
| const char * | path; |
| char * | win32_path; |
POSIX パスを Win32 パスへと変換します。
path が既に Win32 パスであれば、そのままにします。
path が相対パスであれば、
win32_path もまた相対パスとなります。
win32_path
は十分なサイズを持ったバッファを指示していなければならない点に注意して下さい。
必要であれば MAX_PATH を使用します。
shared_info *
cygwin_getshared();
Cygwin プロセスの協調動作に使用されている共有情報を含んだ、
内部的な Cygwin メモリ構造へのポインタを返します。
この関数は mount や ps
のような、「システム」プログラムのみが使用することを想定しています。
extern "C" DWORD
cygwin_internal( | t, | |
...); |
| cygwin_getinfo_types | t; |
| ...; |
この関数は様々な内部データ及び関数へのアクセスのために使用されます。 この関数は二つの引数を取ります。最初の引数は 「cygwin_getinfo_types」列挙内のタイプです。 第二の引数は追加パラメータです。
何をしているのかがわからないのであれば、使用しないで下さい。
extern "C" int
posix_path_list_p( | path); |
| const char * | path; |
この関数は、指定された pathが POSIX スタイルのパス
(即ち、POSIX 名、スラッシュ、コロンデリミタ)か
Win32 スタイルのパス(ドライブ文字、逆スラッシュ、セミコロンデリミタ)
であるかを伝えます。パスが POSIX パスであれば、返却値は真となります。
「_p」は「述語」を意味し、パラメータに関する何かを伝える関数を意味する
lisp 用語です。
「適切な」パスリストの形式は何であるかを示すためのモードを使用するのではなく、 何でも許可し、二つの間の変換を行う必要があるツールを提供します。 「:」が現在のパスリスト中にあれば、それは Win32 パスリストです。 そうでなければ、最初のパスが [文字]: (その場合、「;」が存在しなければそれは単一の要素です) であれば、それは Win32 パスリストです。 そうでなければ、それは POSIX パスリストです。
extern "C" void
cygwin_posix_to_win32_path_list( | posix, | |
win32); |
| const char * | posix; |
| char * | win32; |
与えられた POSIX パススタイルの文字列(即ち /foo:/bar)
を等価な Win32 パススタイルの文字列(即ち d:\;e:\bar)
へと変換します。win32
は十分に大きなバッファを指示している必要があります。
char *_epath;
char *_win32epath;
_epath = _win32epath = getenv (NAME);
/* If we have a POSIX path list, convert to win32 path list */
if (_epath != NULL && *_epath != 0
&& cygwin_posix_path_list_p (_epath))
{
_win32epath = (char *) xmalloc
(cygwin_posix_to_win32_path_list_buf_size (_epath));
cygwin_posix_to_win32_path_list (_epath, _win32epath);
}
+
例 2.1. cygwin_posix_to_win32_path_list の使用例
cygwin_posix_to_win32_path_list_buf_size も参照して下さい。
extern "C" int
cygwin_posix_to_win32_path_list_buf_size( | path_list); |
| const char * | path_list; |
cygwin_posix_to_win32_path_list 呼び出しの結果を保持するために必要となるバイト数を返します。
extern "C" void
cygwin_split_path
( | path, | |
| dir, | ||
file); |
| const char * | path; |
| char * | dir; |
| char * | file; |
パスをディレクトリ部分とファイル部分に分割します。
dir と file
の両方は十分なサイズのバッファを指示していると仮定されます。
extern "C" void
cygwin_win32_to_posix_path_list( | win32, | |
posix); |
| const char * | win32; |
| char * | posix; |
与えられた Win32 パススタイルの文字列(即ち d:\;e:\bar)
を等価な POSIX パススタイルの文字列(即ち /foo:/bar)
へと変換します。posix
は十分に大きなバッファを指示している必要があります。
cygwin_win32_to_posix_path_list_buf_size
も参照して下さい。
extern "C" int
cygwin_win32_to_posix_path_list_buf_size( | path_list); |
| const char * | path_list; |
cygwin_win32_to_posix_path_list 呼び出しの結果を保持するために必要となるバイト数を返します。
extern "C" pid_t
cygwin_winpid_to_pid
( | winpid); |
| int | winpid; |
もし存在すれば、与えられた Windows の pid を対応する Cygwin pid へと変換します。Windows pid が Cygwin pid に対応付けられなかった場合は -1 を返します。
この文書の翻訳は Rue. SATOH(riue@sixnine.net)が行いました。 訳者の能力不足のため訳文の質はあまり高いものではありません。 本文書は可能な限り正確であることを意図していますが、 原文の内容を正確に表現していることを保証するものではなく、 あくまでも原文を読む際の補助としてのみ扱われることをお奨めします。
また、訳者はこの文書の内容に関していかなる責任も負うものではなく、 Red Hat 及び Cygwin 開発チームに対していかなるサポートをも行うものでもありません。
誤訳等の本文書に関する不備については全て訳者に責任があります。 誤訳の指摘、その他アドバイスなどは歓迎致します。
本文書の最新版は常に 「Cygwin 文書図書館(翻訳館)」以下にあります。