HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
V5.4 とそれより前の TCP/IP Services for OpenVMS でも, UNIX サーバと OpenVMS のセーブセットとの間でシンボリック・リンクのバックアップと復元を正しく行えるようにするために, NFS クライアントでシンボリック・リンクをサポートしていました。しかし,その機能は限られたものでした。そのサポートでは,クライアントがアプリケーション ACE を使用して,ファイルにそれがシンボリック・リンクであることを示すフラグを付けていました。 Version 5.5 になっても,ODS-2 のマウントについては,クライアントでこれと同じ動作が引き継がれています。しかし,ODS-5 のマウントについては,クライアントでアプリケーション ACE を検出したときにシンボリック・リンクが作成されるようになりました。このサポートによって,バージョンの古いクライアントで作成されたセーブセットでも,新しいバージョンで復元できるようになっています。
12.9 DCL
OpenVMS の DCL コマンドとユーティティは,シンボリック・リンクを検出すると,所定の動作を行うようになっています。つまり,シンボリック・リンクは,通常の処理として,そのリンク先までたどるようになっています。たとえば,シンボリック・リンク LINKFILE.TXT が TEXT.TXT を指している場合に "type LINKFILE.TXT" というコマンドを入力すると,そのリンクがたどられて,TEXT.TXT に含まれているテキストが表示されます。
また,シンボリック・リンクは,それ自身が直接指定されていなくても,たどられるようになっています。たとえば," dir [...]*.TXT" というコマンドを処理しているときに,ディレクトリを参照しているシンボリック・リンクが検出されると,その参照先ディレクトリ (およびそのサブディレクトリ) にある, " .TXT" というタイプのファイルがすべて表示されます (注意: OpenVMS Version 8.3 でもディレクトリのワイルドカードを処理しますが,そのときにシンボリック・リンクの参照先がディレクトリであるかどうかは調べません)。
しかし,シンボリック・リンクを常にたどらない方がよい場合もあります。また,シンボリック・リンクをたどるかどうかをユーザが指定できる方がよい場合もあります。
以下のコマンドには,シンボリック・リンクを決してたどらないものと,シンボリック・リンクをたどるかどうかを指定できるものがあります。
BACKUP
バックアップ操作でシンボリック・リンクが検出されると,そのシンボリック・リンク自体がコピーされます。この動作は,すべてのバックアップ・タイプ (物理,イメージ,およびファイル) に適用されます。
COPY
/SYMLINK /NOSYMLINK (デフォルト)
入力ファイルがシンボリック・リンクの場合,そのシンボリック・リンクから参照されているファイルがコピーされます。
/SYMLINK 修飾子を指定すると,入力したシンボリック・リンクがすべてコピーされます。
CREATE
/SYMLINK="text"
シンボリック・リンクが作成されて,そこに,指定されたテキストが引用符なしで含められます。
作成されたシンボリック・リンクがその後でファイル名の処理中に検出されると,そのシンボリック・リンクの内容が読み取られ, POSIX パス名が指定されているものとして処理されます。
バージョンの古いシンボリック・リンクと共存させることはできません。
DELETE
入力ファイルがシンボリック・リンクの場合,そのシンボリック・リンク自体が削除されます。
DIRECTORY
/SYMLINK (デフォルト) /NOSYMLINK
入力ファイルがシンボリック・リンクの場合,そのシンボリック・リンク自体のファイル属性が表示されます。ファイルの属性を表示するように要求すると,シンボリック・リンクの内容も表示されます。その際,ファイル名と内容の間に矢印が置かれます (たとえば,LINK.TXT -> FILE.TXT)。
ファイル指定としてシンボリック・リンクを入力するとともに /NOSYMLINK 修飾子を指定すると,そのシンボリック・リンクから参照されているファイルのファイル属性が表示されます。ただし,表示される名前は,シンボリック・リンク自体の名前のままです。
DUMP
/SYMLINK /NOSYMLINK (デフォルト)
入力ファイルがシンボリック・リンクの場合,シンボリック・リンクから参照されているファイルがダンプされます。
/SYMLINK 修飾子を指定すると,入力したシンボリック・リンクがすべてダンプされます。
PURGE
入力ファイルがシンボリック・リンクの場合,そのシンボリック・リンク自体がパージされます。存在できるシンボリック・リンクのバージョンは 1 つだけであるため,このコマンドを実行しても,そのファイルに対する影響はありません。
RENAME
変換元ファイルがシンボリック・リンクの場合,そのシンボリック・リンク自体の名前が変更されます。
変更先ファイルがシンボリック・リンクであれば,この操作は失敗します。
SET FILE
/SYMLINK /NOSYMLINK (デフォルト)
入力ファイルがシンボリック・リンクの場合,そのシンボリック・リンクから参照されているファイルが設定されます。
/SYMLINK 修飾子を指定すると,そのシンボリック・リンク自体が設定されます。
|
GNV は,OpenVMS システムで Open Group のユーティリティを使用できるようにするためのメカニズムです。 GNV はオープン・ソース・プロジェクトになっていて, Sourceforge の Web サイトでアップデートがリリースされています。 GNV は,OpenVMS Open Source CD から入手することもできます。
GNV は,そのファイル・アクセス機能を C RTL にすべて依存しているので,いっさい変更されていません。その理由は,提供されているユーティリティが, Open Group で定義されているシンボリック・リンクの仕様に従って動作するようにする必要があるからです。ユーザが新しいシンボリック・リンクと POSIX パス名のサポートを利用する場合は, BASH を起動する前に, C RTL の DECC$POSIX_COMPLIANT_PATHNAMES 機能論理名を適切に設定する必要があります。
12.11 制限事項
シンボリック・リンクのサポートには,次の制約があります。
HP C の各バージョンでは,新しい関数が HP C ランタイム・ライブラリに追加されています。これらの関数は実装され, OpenVMS オペレーティング・システムとともに提供されますが,これらの関数のプロトタイプを格納したヘッダ・ファイルとドキュメントは, HP C コンパイラの各バージョンに付属しています。
HP C の新しいバージョンには,古い OpenVMS システムではサポートされていない関数のヘッダ・ファイルとドキュメントが含まれている可能性があります。たとえば,ターゲットのオペレーティング・システム・プラットフォームが OpenVMS Version 7.2 の場合, OpenVMS Version 7.3 で導入された HP C RTL 関数を使用することはできませんが,これらの関数もドキュメントに記載されています。
この付録では,OpenVMS の最近のバージョンでどの HP C RTL 関数がサポートされているかをまとめた表を示します。これらの表は,ターゲットの OpenVMS プラットフォームで使用できない関数を判断するのに役立ちます。
A.1 OpenVMS VAX,Alpha,および I64 のすべてのバージョンで使用できる関数
表 A-1 は, OpenVMS VAX および OpenVMS Alpha のすべてのバージョンで使用できる関数を示しています。
| abort | abs | アクセス | acos |
| alarm | asctime | asin | assert |
| atan2 | atan | atexit | atof |
| atoi | atoll (Alpha) | atol | atoq (Alpha) |
| box | brk | bsearch | cabs |
| calloc | ceil | cfree | chdir |
| chmod | chown | clearerr | clock |
| close | cosh | cos | creat |
| ctermid | ctime | cuserid | decc$crtl_init |
| decc$fix_time | decc$from_vms | decc$match_wild | decc$record_read |
| decc$record_write | decc$set_reentrancy | decc$to_vms | decc$translate_vms |
| delete | delwin | difftime | div |
| dup2 | dup | ecvt | endwin |
| execle | execlp | execl | execve |
| execvp | execv | exit | _exit |
| exp | fabs | fclose | fcvt |
| fdopen | feof | ferror | fflush |
| fgetc | fgetname | fgetpos | fgets |
| fileno | floor | fmod | fopen |
| fprintf | fputc | fputs | fread |
| free | freopen | frexp | fscanf |
| fseek | fsetpos | fstat | fsync |
| ftell | ftime | fwait | fwrite |
| gcvt | getchar | getcwd | getc |
| getegid | getenv | geteuid | getgid |
| getname | getpid | getppid | gets |
| getuid | getw | gmtime | gsignal |
| hypot | initscr | isalnum | isalpha |
| isapipe | isascii | isatty | iscntrl |
| isdigit | isgraph | islower | isprint |
| ispunct | isspace | isupper | isxdigit |
| kill | labs | ldexp | ldiv |
| llabs (Alpha) | lldiv (Alpha) | localeconv | localtime |
| log10 | log | longjmp | longname |
| lseek | lwait | malloc | mblen |
| mbstowcs | mbtowc | memchr | memcmp |
| memcpy | memmove | memset | mkdir |
| mktemp | mktime | modf | mvwin |
| mv[w]addstr | newwin | nice | open |
| overlay | overwrite | pause | perror |
| pipe | pow | printf | putchar |
| putc | puts | putw | qabs (Alpha) |
| qdiv (Alpha) | qsort | raise | rand |
| read | realloc | remove | rename |
| rewind | sbrk | scanf | scroll |
| setbuf | setgid | setjmp | setlocale |
| setuid | setvbuf | sigblock | signal |
| sigpause | sigstack (VAX) | sigvec | sinh |
| sin | sleep | sprintf | sqrt |
| srand | sscanf | ssignal | stat |
| strcat | strchr | strcmp | strcoll |
| strcpy | strcspn | strerror | strftime |
| strlen | strncat | strncmp | strncpy |
| strpbrk | strrchr | strspn | strstr |
| strtod | strtok | strtoll (Alpha) | strtol |
| strtoq (Alpha) | strtoull (Alpha) | strtoul | strtouq (Alpha) |
| strxfrm | subwin | system | tanh |
| tan | times | time | tmpfile |
| tmpnam | toascii | tolower | _tolower |
| touchwin | toupper | _toupper | ttyname |
| umask | ungetc | vaxc$calloc_opt | vaxc$cfree_opt |
| vaxc$crtl_init | vaxc$establish | vaxc$free_opt | vaxc$malloc_opt |
| vaxc$realloc_opt | va_arg | va_count | va_end |
| va_start | va_start_1 | vfork | vfprintf |
| vprintf | vsprintf | wait | wcstombs |
| wctomb | write | [w]addch | [w]addstr |
| [w]clear | [w]clrattr | [w]clrtobot | [w]clrtoeol |
| [w]delch | [w]deleteln | [w]erase | [w]getch |
| [w]getstr | [w]inch | [w]insch | [w]insertln |
| [w]insstr | [w]move | [w]printw | [w]refresh |
| [w]scanw | [w]setattr | [w]standend | [w]standout |
| 前へ | 次へ | 目次 | 索引 |