日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトル
目次
まえがき
第 1 章:リファレンス・セクション
索引
PDF
OpenVMS ホーム
OpenVMS | HPE 日本(日本ヒューレット・パッカード株式会社)

OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引

まえがき

本書では, HP C ランタイム・ライブラリ ( HP C Run-Time Library (RTL) ) の関数について説明します。

HP C ランタイム・ライブラリの次のことについては『HP C ランタイム・ライブラリ・リファレンス・マニュアル (上巻)』を参照してください。

  • 入出力 (I/O) 操作,文字および文字列操作,算術演算,エラー検出,サブプロセスの生成,システム・アクセス,画面管理を行う RTL 関数およびマクロに関する参照情報

  • オペレーティング・システム間の移植性に関する問題点と,可能な場合は,TCP/IP Services for OpenVMS 製品や,他の TCP/IP プロトコルのインプリメンテーション用のインターネット・アプリケーション・プログラムを作成するために使用される HP C for OpenVMS ソケット・ルーチンについて

HP C RTL には,XPG4 準拠の国際化サポートが含まれており,異なる言語やカルチャで動作可能なソフトウェアを開発するのに役立つ関数が提供されます。

本書や HP C のドキュメントに関するご意見は,次のインターネット・アドレスに英文でご送付ください。

c_docs@hp.com

本書の対象読者

本書は, HP C RTL で提供される関数とマクロに関する参照情報が必要な,経験の豊富なプログラマおよび初心者のプログラマを対象にしています。

本書の構成

本書は,リファレンス・セクションで HP C RTL のすべての関数についてアルファベット順に提示し,説明しています。

関連ドキュメント

OpenVMS システム向けのプログラムを HP C で作成する場合,次のドキュメントが役立ちます。

  • 『HP C User's Guide for OpenVMS Systems』 --- HP C for OpenVMS システムの使用方法に関する情報が必要な C プログラマを対象にしています。

  • 『HP C Language Reference Manual』 --- HP システムでの HP C の言語リファレンス情報を示します。

  • 『VAX C to HP C Migration Guide』 --- OpenVMS VAX アプリケーション・プログラマが VAX C から HP C に移行するのに役立ちます。

  • 『HP C Installation Guide for OpenVMS VAX Systems』 --- VAX システムに HP C ソフトウェアをインストールする OpenVMS システム・プログラマを対象にしています。

  • 『HP C Installation Guide for OpenVMS Alpha Systems』 --- Alpha システムに HP C ソフトウェアをインストールする OpenVMS システム・プログラマを対象にしています。

  • 『OpenVMS Master Index』 --- VAX および Alpha マシン・アーキテクチャや OpenVMS システム・サービスを使用する必要のあるプログラマを対象にしています。このインデックスには, OpenVMS オペレーティング・システムへのアクセスに関する個別のトピックを説明したドキュメントの一覧が示されています。

  • 『HP TCP/IP Services for OpenVMS Sockets API and System Services Programming』 --- 『HP TCP/IP Services for OpenVMS』製品または他の TCP/IP プロトコル実装用の,インターネット・アプリケーション・プログラムを作成するためのソケット・ルーチンについての情報を示します。

  • 『HP TCP/IP Services for OpenVMS Guide to IPv6』 --- HP TCP/IP Services for OpenVMS の Ipv6 機能や,システム上での IPv6 のインストールや構成方法,ソケット・アプリケーション・プログラミング・インタフェース (API) の変更, IPv6 環境で動作させるためにアプリケーションを移植する方法についての情報を示します。

  • 『X/Open Portability Guide, Issue 3』 --- 一般に XPG3 と呼んでいる仕様について解説しています。

  • 『X/Open CAE Specification System Interfaces and Headers, Issue 4』 --- 一般に XPG4 と呼んでいる仕様について解説しています。

  • 『X/Open CAE Specification, System Interfaces and Headers, Issue 4, Version 2』 --- 一般に XPG4 V2 と呼んでいる仕様に関して解説しています。

  • 『Standard for Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API)---Amendment 2: Threads Extension [C Language]』 --- 一般に POSIX 1003.1c-1995 と呼んでいる仕様に関して解説しています。

  • 『ISO/IEC 9945-2:1993 - Information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities』 --- 一般に ISO POSIX-2 と呼んでいる仕様に関して解説しています。

  • 『ISO/IEC 9945-1:1990 - Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Programming Interface (API) (C Language)』 --- 一般に ISO POSIX-1 と呼んでいる仕様について解説しています。

  • 『ANSI/ISO/IEC 9899:1999 - Programming Languages - C』 --- 1999 年 12 月に ISO によって公開され, 2000 年 4 月に ANSI 標準として採用された C99 標準について解説しています。

  • 『ISO/IEC 9899:1990-1994 - Programming Languages - C, Amendment 1: Integrity』 --- 一般に ISO C,Amendment 1 と呼んでいる仕様について解説しています。

  • 『ISO/IEC 9899:1990[1992] - Programming Languages - C』 --- 一般に ISO C と呼んでいる仕様について解説しています。標準的な部分 (normative part) は X3.159-1989, American National Standard for Information Systems - Programming Language C (ANSI C とも呼ぶ) と同じです。

HP OpenVMS 製品およびサービスについての詳細は,弊社の Web サイトを参照してください。アドレスは次のとおりです。

http://www.hp.com/go/openvms

本書で使用する表記法

表記法 意味
[Return] [Return] は端末上の Return キーを 1 回押すことを示します。
Ctrl/X Ctrl/X (英字の X は端末の制御文字を表す) は, Ctrl キーを押したまま指定の端末文字キー (X) を押すことを示します。
switch
int データ型
fprintf 関数
<stdio.h> ヘッダ・ファイル
モノスペース文字は言語キーワードおよび HP C 関数とヘッダ・ファイルの名前を示します。また,例で使用している特定の変数名を参照するときも使用します。
arg1 斜体は引数やパラメータ名を示すプレースホルダとして使用し,新出用語を強調するときも使用します。
$ RUN CPROG [Return] ユーザと対話する例では,ユーザ入力は太字で示します。
float x; .
.
.

x = 5;
垂直方向の省略記号は,プログラムやプログラムからの出力の一部が省略されていることを示します。例では関連する部分だけが示されています。
option,... 水平方向の省略記号は,パラメータ,オプション,値を追加入力できることを示します。省略記号の前のコンマは,後続の項目の区切り文字を表します。
[output-source,...] 関数構文やその他の場所で使用している角括弧は,その構文要素が省略可能であることを示します。しかし,OpenVMS ファイル指定でディレクトリ名を区切るために使用する角括弧や, HP C ソース・コードで多次元配列の次元を区切るために使用する角括弧は省略できません。
sc-specifier::=
auto
static
extern
register
構文定義で,別々の行に示されている項目は組み合わせて指定できないことを示します。
[a|b] 2 つ以上の項目が縦線 (|) で区切られ,角括弧で囲まれている場合は, 2 つの構文要素のいずれかを選択しなければならないことを示します。
<ucDelta symbol> デルタ記号は,1 文字の ASCII スペース文字を表します。



プラットフォーム・ラベル

プラットフォームは,異なる環境を提供するオペレーティング・システムとハードウェアの組み合わせです。本書では,VAX アーキテクチャと Alpha アーキテクチャの両方で OpenVMS オペレーティング・システムに適用される情報を示します。

次のように特に指定した場合を除き,本書の情報は両方のプラットフォームに適用されます。

ラベル 説明
(Alpha only) OpenVMS オペレーティング・システムが稼動している Alpha プロセッサ (Alpha アーキテクチャ) 固有。
(VAX only) OpenVMS オペレーティング・システムが稼動している VAX プロセッサ固有。



新機能と変更された機能---OpenVMS バージョン 7.3-2

OpenVMS バージョン 7.3-2 で, C ランタイム・ライブラリの以下の機能が拡張されました。これらの拡張により,UNIX 移植性と,追加のユーザ制御機能を選択する際の柔軟性が改善されます。また,新しい C RTL 関数も含まれています。

  • POSIX 形式の識別子

  • 一部のソケット・ルーチンでの 64 ビット・ポインタのサポート

  • 子プロセスのデフォルト・ディレクトリの設定

  • 新しい機能論理名

  • UNIX ファイル名変換の拡張

  • 新規関数と変更された関数



POSIX 形式の識別子

POSIX 形式の識別子のサポートが,C RTL に追加されました。これにより,UNIX 移植性と,標準への準拠性が高まります。 POSIX 形式の識別子とは,ユーザ識別子 (UID),グループ識別子 (GID),およびプロセス・グループを指します。このスコープには,実識別子と実効識別子が含まれます。

C RTL での POSIX 形式の識別子のサポートには, 32 ビットのユーザ ID およびグループ ID のサポートが必要です。また,OpenVMS のベース・バージョンの機能にも依存します。 POSIX 形式の ID は, OpenVMS バージョン 7.3-2 およびそれ以降でサポートされます。

POSIX 形式の識別子を使用するには,アプリケーションは, 32 ビット UID/GID 用にコンパイルされていなければなりません ( __USE_LONG_GID_Tマクロを定義する)。また,DECC$POSIX_STYLE_UID 機能論理名に ENABLE を定義して, POSIX 形式の ID を有効にしなければなりません。

POSIX 形式の ID を無効にするには, DECC$POSIX_STYLE_UID に DISABLE を定義します。

一部のソケット・ルーチンでの 64 ビット・ポインタのサポート

64 ビット・ポインタのサポートが,次の TCP/IP ソケット・ルーチンに追加されました。


freeaddrinfo   recvmsg 
getaddrinfo    sendmsg 

これまでは,これらのルーチンには, 32 ビット・インタフェースしかありませんでした。

子プロセスのデフォルト・ディレクトリの設定

vfork/ exec* によって作成される子プロセスのデフォルト (作業) ディレクトリを, C RTL の新しい decc$set_child_default_dir関数を使用して設定できるようになりました。

新しい機能論理名

以下の新しい機能論理名により,標準への準拠性と, UNIX 移植性が高まります。

  • DECC$UNIX_LEVEL により, UNIX 互換性のレベルを指定するメカニズムが利用でき,アプリケーションでは,個々の UNIX 互換性機能論理名を設定しなくても,UNIX 互換性用の C RTL 機能論理名のグループを制御できます。

  • DECC$ENABLE_TO_VMS_LOGNAME_CACHE は, UNIX 名の変換における論理名の変換を高速化します。

  • DECC$EFS_NO_DOTS_IN_DIRNAME は,ピリオド (.) を含むファイル名をディレクトリ名として解釈しないようにします。

  • DECC$ALLOW_REMOVE_OPEN_FILES は,オープン・ファイルでの removeの動作を制御します。通常,操作は失敗しますが, POSIX 準拠の動作では,この操作は成功します。この POSIX 準拠の動作は,新しい機能スイッチで有効になります。

  • DECC$POSIX_STYLE_UID は,32 ビット UID と GID が, POSIX 形式の識別子として解釈されるか,プロセス UIC から得られるかを制御します。

  • DECC$NO_ROOTED_SEARCH_LISTS は, to_vms関数が検索リスト論理名を解決する方法を制御します。

  • DECC$ALLOW_UNPRIVILEGED_NICE は, nice関数が従来の動作 (呼び出しプロセスの特権チェックを行わない) を行うか, X/Open 仕様に従って動作する (特権をチェックする) かを制御します。

  • DECC$USE_JPI$_CREATOR は, JPI$_OWNER の代わりに JPI$_CREATOR を使用して $GETJPI を呼び出すことにより, getppidでの親プロセス ID を決定します。この機能は, POSIX 形式のセッション識別子をサポートしているシステムでのみ利用できます。

  • DECC$WRITE_SHORT_RECORDS は,固定長のファイルへのレコードの書き込みという従来の方法をデフォルトの動作として残したまま,ショート・サイズのレコードに対応します。

  • DECC$PIPE_BUFFER_QUOTA は, pipe関数の新しいオプションの第 4 パラメータが省略された場合にこの関数で使用する,バッファ・クォータを指定します。

  • DECC$GLOB_UNIX_STYLE は, glob関数の UNIX モードを選択します。

  • DECC$RENAME_ALLOW_DIR 機能論理名は, rename関数の動作に影響します。

  • DECC$EXEC_FILEATTR_INHERITANCE 機能論理名は,ファイル・アクセス・モードに関するプロセス継承性の設定での選択範囲が広くなるように変更されました。



UNIX ファイル名変換の拡張

性能を改善するための各種の拡張 (特に,高速の UNIX 名変換による) には,以下のものがあります。

  • UNIX 名の変換での論理名変換のオーバヘッドを軽減するために,論理名キャッシュが実装されました。このキャッシュは,新しい機能論理名 DECC$ENABLE_TO_VMS_LOGNAME_CACHE が有効な場合にのみ使用されます。

  • C RTL に,ピリオド (.) を含むファイル名指定をディレクトリ名として解釈しないようにする機能が追加されました。この機能は,新しい機能論理名 DECC$EFS_NO_DOTS_IN_DIRNAME を有効にしたときにアクティブになります。

  • UNIX 名の変換で使用される論理名同値文字列で,山括弧が使用できるようになりました。

  • ファイル名変換が高速になるように, decc$$translate_vms関数が最適化されました。

  • ftw関数が拡張され,山括弧をディレクトリ区切り文字として扱うようになりました。



新しい関数と変更された関数

以下の新しい C RTL 関数が,OpenVMS バージョン 7.3-2 に用意されています。

ファイルの読み取り/書き込み関数


   pread         readv            __writev64 
   pwrite        _readv64          

プリント関数


   snprintf 
   vsnprintf 

シグナル関数


   sighold       sigignore        sigrelse       
   sigwait       sigtimedwait     sigwaitinfo        

時間関数


   nanosleep     clock_gettime 
   clock_getres  clock_settime 

パスワード関数


   getpwnam_r    _getpwnam_r64   __getpwnam64   _getpwent64 
   getpwuid      getpwuid_r      __getpwuid64   _getpwuid_r64 

セキュリティ/インパーソネーション関数


   endgrent      getgrnam        getsid        setpgrp 
   getgrent      getgrnam_r      seteuid       setregid 
   getgrgid      getpgid         setgrent      setreuid 
   getgrgid_r    getpgrp         setpgid       setsid 

ソケット関数


   poll 

その他の関数


   a64l       globfree    rand_r       decc$set_child_default_dir 
   glob       l64a        ttyname_r          

次の C RTL 関数は,変更されました。


   endpwent      setgid          geteuid 
   getegid       setpwent        getgid 
   getpwent      setuid          getuid 
   ttyname 


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項