日本-日本語

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

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:はじめに
第 2 章:入出力について
第 3 章:文字/文字列/引数リスト関数
第 4 章:エラー処理とシグナル処理
第 5 章:サブプロセス関数
第 6 章:Curses画面管理関数とマクロ
第 7 章:算術関数
第 8 章:メモリ割り当て関数
第 9 章:システム関数
第 10 章:国際化ソフトウェアの開発
第 11 章:日付/時刻関数
第 12 章:シンボリックリンクとPOSIXパス名
付録 A:各OSバージョンでサポートする関数一覧
付録 B:非標準ヘッダに複製されているプロトタイプ
索引
PDF
OpenVMS ホーム

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


目次 索引

まえがき

本書では,VAX,Alpha,および Intel Itanium プロセッサ上の OpenVMS オペレーティング・システムの HP C Run-Time Library (RTL) について説明します。 HP OpenVMS Industry Standard 64 for Integrity Servers は, Intel Itanium プロセッサ対応 OpenVMS オペレーティング・システムの正式な製品名です。本書では,短縮形の OpenVMS I64 および I64 も使用します。

本書は,入出力 (I/O) 操作,文字および文字列操作,算術演算,エラー検出,サブプロセスの生成,システム・アクセス,画面管理,UNIX の一部の機能のエミュレーションを行う C RTL 関数およびマクロに関する参照情報を示します。また,オペレーティング・システム間の移植性に関する問題点も示します。

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

HP C コンパイラおよび C++ コンパイラとともに使用する必要がある完全な HP C ランタイム・ライブラリ (C RTL) は, OpenVMS Alpha オペレーティング・システムおよび I64 オペレーティング・システムで,共用イメージおよびオブジェクト・モジュール・ライブラリの両方の形式で提供されます。

本書では,TCP/IP サービス・プロトコルを使用したインターネット・アプリケーションを作成するためのソケット・ルーチンについては説明していません。ソケット・ルーチンのヘルプについては,次のコマンドを実行してください。


$ HELP TCPIP_Services Programming_Interfaces Sockets_API 

また,製品マニュアル『HP TCP/IP Services for OpenVMS』も参照してくだだい。

本書の対象読者

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

本書の構成

本書は次の章と付録で構成されています。

  • 第 1 章 では, HP C RTL の概要を示します。

  • 第 2 章 では,標準 I/O,端末 I/O,UNIX I/O 関数について説明します。

  • 第 3 章 では,文字,文字列,引数リスト関数について説明します。

  • 第 4 章 では,エラー処理関数とシグナル処理関数について説明します。

  • 第 5 章 では,サブプロセスを生成するために使用される関数について説明します。

  • 第 6 章 では,Curses 画面管理関数について説明します。

  • 第 7 章 では,算術演算関数について説明します。

  • 第 8 章 では,メモリ割り当て関数について説明します。

  • 第 9 章 では,オペレーティング・システムとやり取りするために使用される関数について説明します。

  • 第 10 章 では,国際化ソフトウェアの開発のために OpenVMS システムの HP C 環境で提供される機能について,その概要を紹介します。

  • 第 11 章 では,日付 / 時刻関数について説明します。

  • 第 12 章 では,シンボリック・リンクと POSIX パス名のサポートについて説明します。

  • 付録 A では,異なる OpenVMS バージョンでサポートされる HP C RTL 関数の一覧を示した,バージョン依存の表を示します。

  • 付録 B では,複数のヘッダ・ファイルに重複している関数プロトタイプを示します。

リファレンス・セクションについて

『HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)』はリファレンス・セクションで HP C RTL のすべての関数について説明しています。



関連ドキュメント

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

  • 『HP C User's Guide for OpenVMS Systems』 --- HP C for OpenVMS Systems の使用方法に関する情報が必要な 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 と呼んでいる仕様に関して解説しています。

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

  • 『Technical Standard. System Interfaces, Issue 6』 --- Open Group の技術標準と IEEE 標準を組み合わせたものです。 XPG6 とも呼ぶ IEEE Std 1003.1-2001 仕様に関して解説しています。

  • 『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

//www.hpe.com/jp/openvms

本書で使用する表記法

表記法 意味
HP OpenVMS Industry Standard 64 for Integrity Servers, OpenVMS I64,I64 Intel Itanium アーキテクチャで動作する OpenVMS オペレーティング・システムです。
OpenVMS システム 特に明記しない限り,サポートする全プラットフォームの 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,Itanium プロセッサで動作する OpenVMS オペレーティング・システムに適用される情報を示します。

次のように特に指定した場合を除き,本書の情報はすべてのプロセッサに適用されます。

ラベル 説明
(Alpha only) Alpha プロセッサ固有。
(I64 only) OpenVMS オペレーティング・システムが動作している Intel Itanium プロセッサ固有。このプラットフォームでは,オペレーティング・システムの製品名は OpenVMS Industry Standard 64 (またはその短縮形 OpenVMS I64 あるいは I64) です。
(VAX only) VAX プロセッサ固有。
(Alpha, I64) I64 プロセッサおよび Alpha プロセッサ固有。



新機能と変更された機能 - OpenVMS Version 8.3

ここでは,OpenVMS Version 8.3 で行われた C ランタイム・ライブラリ (RTL) の拡張について説明します。これらの拡張によって,UNIX との間の移植性,標準への準拠性,およびユーザ制御機能を選択する際の柔軟性が改善されています。また,新しい C RTL 関数も含まれています。

シンボリック・リンクと POSIX 準拠パス名のサポート

V8.3 以降の OpenVMS では, Open Group 準拠のシンボリック・リンクと, POSIX 準拠のパス名がサポートされています。このサポートは, UNIX/LINUX のアプリケーションを OpenVMS へ移植する場合や, UNIX スタイルの開発環境を使用してアプリケーションを開発する場合に,その移植に伴っていた複雑さや開発コストの負担を軽減するために拡張されたものです。

ただし,このサポートがあるからといって, OpenVMS システムで UNIX ファイルの互換性が 100% 保証されるわけではありません。場合によっては,OpenVMS へ UNIX/LINUX のアプリケーションを移植する際に,それらのアプリケーションを変更しなければならないこともあります。

OpenVMS では,シンボリック・リンクと POSIX パス名の処理をサポートするために,以下の機能を提供しています。

  • C ランタイム・ライブラリに,次に示す Open Group 準拠のシンボリック・リンク関数が追加されています。


    symlink 
    readlink 
    unlink 
    realpath 
    lchown 
    lstat 
    

  • creatopendelete,および removeなどの既存の C RTL 関数が, Open Group のシンボリック・リンク仕様に従って動作するようになっています。

  • RMS が拡張されて,C RTL に上記の関数を実装できるようになりました。 SYS$OPEN,SYS$CREATE,SYS$PARSE, SYS$SEARCH などの RMS ルーチンで,シンボリック・リンクをサポートできるようになっています。

  • OpenVMS でファイルを検索したりそのパスをたどったりしているときにシンボリック・リンクが検出されると,その内容が POSIX のパス名として解釈されるようになりました。 OpenVMS の C RTL と RMS のインタフェースで POSIX のパス名が使用できるようになっています。

  • C RTL に新しい機能論理名 DECC$POSIX_COMPLIANT_PATHNAMES が追加されて,アプリケーションが POSIX 準拠モードで動作することを指示できるようになっています。

  • シンボリック・リンクの作成には,DCL コマンド CREATE/SYMLINK を使用します。

  • システムの POSIX ルートを作成するには,DCL コマンド SET ROOT を使用します。

  • マウント・ポイントを設定するために,2 つの GNV ユーティリティ mntumntが用意されています。

  • DCL コマンドおよびユーティリティが変更されて,シンボリック・リンクの操作や,シンボリック・リンクを検出した場合の処理を適切に行えるようになっています。

  • TCP/IP Services for for OpenVMS Network File System (NFS) のクライアントとサーバが拡張されて,ODS5 ボリューム上でシンボリック・リンクをサポートできるようになっています。

  • ln(シンボリック・リンクの作成) や ls(シンボリック・リンクの内容の表示) などの関連 GNV ユーティリティがアップデートされて,シンボリック・リンクのアクセスと管理が行えるようになっています。

シンボリック・リンクと POSIX パス名に関する処理の詳細については, 第 12 章 を参照してください。

バイト単位のロック

C RTL では, The Open Group Base Specifications Issue 6 で定義されているように, fcntl関数の F_GETLK コマンド,F_SETLK コマンド,および F_SETLKW コマンドを使用して,バイト単位のファイル・ロックをサポートしています。このバイト単位のファイル・ロック機能は OpenVMS のロック・マネージャを使用して実装されており,複数のクラスタにまたがって適用することができます。ただし,使用できるオフセットは,32 ビットの符号なし整数に収まる範囲に制限されています。詳細は,「リファレンス・セクション」の「 fcntl関数」を参照してください。

新しい C RTL 関数

シンボリック・リンクと POSIX 準拠パス名のサポート に示されているシンボリック・リンク関数に加えて, Open Group Base Specifications Issue 6 に基づいた次の関数が, C RTL に新しく追加されました。


crypt    
setkey   
encrypt 
fchmod 



C RTL の TCP/IP ヘッダ・ファイルのアップデート

C RTL には,ユーザが TCP/IP を呼び出すためのヘッダ・ファイルが含まれています。しかし,これらのヘッダには問題が数多くあって,そのいくつかは,簡単な TCP/IP プログラミングでしか使用できませんでした。

また以前は,修正されたヘッダが, TCP/IP のいくつかのリリースで例として出荷されていました。 C RTL の今回の拡張で,その修正ヘッダが, C RTL ヘッダ・ライブラリ (DECC$RTLDEF.TLB) に置かれて出荷されるようになりました。詳細は,OpenVMS Version 8.3 のリリース・ノートにある, C RTL の項を参照してください。


目次 索引

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