日本-日本語
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


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


前へ 次へ 目次 索引





div

引数を除算した後,商と余りを返します。



形式

#include <stdlib.h>

div_t div (int numer, int denom);




引数



numer

int型の分子。

denom

int型の分母。



説明

div_t型は,次に示すように <stdlib.h>標準ヘッダ・ファイルに定義されています。


typedef struct 
        { 
             int   quot, rem; 
        } div_t; 




dlclose

共用ライブラリのアドレス空間の割り当てを解除します。



形式

#include <dlfcn.h>

void dlclose (void *handle);




引数



handle

共用ライブラリを指すポインタ。



説明

dlclose関数は,ハンドルのために HP C RTL によって割り当てられたアドレス空間の割り当てを解除します。

OpenVMS システムでは,LIB$FIND_IMAGE_SYMBOL ルーチンによって動的にロードされた共用可能イメージをアンロードする手段はありません。 LIB$FIND_IMAGE_SYMBOL ルーチンは dlsym関数によって呼び出されます。つまり,OpenVMS システムでは, dlsymによってメモリに読み込まれた共用可能イメージが使用しているアドレス空間を解放する手段はありません。




dlerror

dlopendlclosedlsymの呼び出しで発生した最後のエラーを記述する文字列を返します。



形式

#include <dlfcn.h>

char *dlerror (void);




戻り値

x dlopen dlclose dlsym の呼び出しで発生した最後のエラーを記述する文字列。




dlopen

実行時に共用可能イメージのロードと呼び出しを可能にするために,動的ライブラリ・ローダに対するインタフェースを提供します。



形式

#include <dlfcn.h>

void *dlopen (char *pathname, int mode);




引数



pathname

共用可能イメージの名前。この名前は,この後, dlsym関数で使用するために保存されます。

mode

この引数は OpenVMS システムでは無視されます。



説明

dlopen関数は,実行時に共用可能イメージのロードと呼び出しを可能にするために,動的ライブラリ・ローダに対するインタフェースを提供します。

この関数は共用可能イメージをロードするわけではなく, dlsym関数でこの後使用するために pathname 引数を保存します。 LIB$FIND_IMAGE_SYMBOL を呼び出すことにより,共用可能イメージを実際にロードする関数は dlsymです。

dlopen関数の pathname 引数は,共用可能イメージの名前でなければなりません。この名前は filename 引数として, dlsym関数から LIB$FIND_IMAGE_SYMBOL ルーチンにそのまま渡されます。 LIB$FIND_IMAGE_SYMBOL の呼び出しに image-name 引数を指定しないと,デフォルトのファイル指定である SYS$SHARE:.EXE がイメージ名に適用されます。

dlopen関数は, dlsymまたは dlclose呼び出しで使用されるハンドルを返します。エラーが発生した場合は,NULL ポインタが返されます。




戻り値

x dlsym または dlclose 呼び出しで使用されるハンドル。
NULL エラーを示します。




dlsym

共用可能イメージから検索したシンボル名のアドレスを返します。



形式

#include <dlfcn.h>

void *dlsym (void *handle, char *name);




引数



handle

共用可能イメージを指すポインタ。

name

シンボル名を指すポインタ。



説明

dlsym関数は,共用可能イメージから handle に対応するシンボル名を検索して,そのアドレスを返します。シンボルが見つからない場合は,NULL ポインタを返します。

OpenVMS Version 7.3-2 以降では,小文字が含まれるライブラリ・シンボルを dlsym関数を使用してロードできるようになりました。全体的に,ライブラリを動的にロードする関数 ( dlopendlsymdlclosedlerror) は,以下の機能を提供するように拡張されました。

  • 大文字と小文字が混じったシンボル名を持つライブラリのサポート

  • 完全ファイルパスを dlopenに渡すことが可能

  • 指定されたライブラリ名の検証




戻り値

x 検索されたシンボル名のアドレス。
NULL シンボルが見つからなかったことを示します。




drand48

均一に分布した擬似乱数シーケンスを生成します。 48 ビットの負でない倍精度浮動小数点数値を返します。



形式

#include <stdlib.h>

double drand48 (void);




説明

drand48関数は,線形合同アルゴリズム (linear congruential algorithm) と 48 ビット整数算術演算を使用して,擬似乱数を生成します。

0.0 <= y < 1.0 の範囲で均一に分布した,負でない倍精度浮動小数点数値を返します。

drand48を呼び出す前に, srand48seed48lcong48のいずれかを使用して,乱数ジェネレータを初期化します。 drand48関数を起動する前に初期化が必要なのは,最後に生成された 48 ビット Xi が内部バッファに格納されるからです ( 推奨できる方法ではありませんが,最初に初期化関数を呼び出さずに, drand48lrand48mrand48関数のいずれかを呼び出した場合,一定のデフォルト初期化値が自動的に与えられます )。

drand48関数は,線形合同公式に従って, 48 ビット整数値 Xi のシーケンスを生成することにより動作します。


       Xn+1 = (aXn+c)mod m        n >= 0 

引数 m は 248 に等しいため, 48 ビットの整数演算が実行されます。 lcong48関数を呼び出した場合を除き,乗数値 a と加数値 c は次のようになります。


     a = 5DEECE66D16 = 2736731631558
     c = B16 = 138

drand48から返される値は,シーケンス内の次の 48 ビット Xi を最初に生成することにより計算されます。その後,返されるデータ項目の型に従って,適切なビットが Xi の上位 (最上位) ビットからコピーされ,戻り値に変換されます。

srand48seed48lcong48lrand48mrand48も参照してください。




戻り値

n 負でない倍精度浮動小数点数値。




dup, dup2

opencreatpipeから返されたファイル記述子によって指定されるファイルを参照する新しい記述子を割り当てます。



形式

#include <unistd.h>

int dup (int file_desc1);

int dup2 (int file_desc1, int file_desc2);




引数



file_desc1

複製するファイル記述子。

file_desc2

file_desc1 によって指定されるファイルに割り当てられる新しいファイル記述子。



説明

dup関数を呼び出すと,前に割り当てが解除された記述子が引数を参照するようになります。一方, dup2関数を使用すると, 2 番目の引数が最初の引数と同じファイルを参照するようになります。

引数 file_desc1 がオープンされているファイルを記述しない場合は,この引数は不正です。新しいファイル記述子を割り当てることができない場合は, file_desc2 は不正です。 file_desc2 がオープンされているファイルに接続されている場合は,そのファイルはクローズされます。




戻り値

n 新しいファイル記述子。
-1    不正な引数が関数に渡されたことを示します。




[no]echo

文字が端末画面に表示されるのか,表示されないのかを設定します。このシングル文字入力モードは,Curses でのみサポートされます。



形式

#include <curses.h>

void echo (void);

void noecho (void);




説明

noecho関数は, wgetchおよび wgetstrで端末画面から入力を受け付けるときに役立ちます。この関数は,入力された文字が画面に表示されないようにします。



ecvt

引数をヌル区切りの ASCII 数字列に変換し,数字列のアドレスを返します。この数字列は, HP C RTL で作成されたスレッド固有のメモリ記憶位置に格納されます。



形式

#include <stdlib.h>

char *ecvt (double value, int ndigits, int *decpt, int *sign);




引数



value

ヌルで区切られた ASCII 数字列に変換される double型のオブジェクト。

ndigits

変換後の数字列で使用される ASCII 数字の桁数。

decpt

返される数字列の 1 文字目を基準にした小数点の位置。 intの値が負の場合は,小数点の位置は,返された数字の左側に decpt 個のスペースを付加した位置になります ( スペースには 0 が埋められます )。値が 0 の場合は,小数点の位置は返された数字列の最初の桁のすぐ左に設定されます。

sign

value 引数が正の値であるか,負の値であるかを示す整数値。value が負の場合は, sign によって指定されるアドレスに 0 以外の値が代入されます。この引数が負でない場合は, sign によって指定されるアドレスに 0 が代入されます。



説明

ecvt関数は,value を長さ ndigits のヌル区切り数字列に変換し,数字列を指すポインタを返します。 C の E 形式で ndigits 桁の数字を出力するために,下位桁が適切な桁に丸められます。decpt 引数は,数字列の最初の数字を基準にして小数点の位置を表します。

ecvt関数を繰り返し呼び出すと,既存の数字列は上書きされます。

ecvtfcvtgcvt関数は,浮動小数点算術演算に関して IEEE 標準で指定されている次の特殊な値を表します。

表現
クワイエット NaN NaNQ
シグナリング NaN NaNS
+無限大 無限大
- 無限大 - 無限大

これらの各値に割り当てられる符号は,sign 引数に格納されます。 IEEE 浮動小数点表現では,0 (ゼロ) という値は正の場合も負の場合もあり,どちらであるかは sign 引数によって設定されます。

gcvtfcvtも参照してください。




戻り値

x 変換後の文字列の値。




encrypt

setkey関数で生成したキーを使用して,文字列を暗号化します。



形式

#include <unistd.h>

#include <stdlib.h>

void encrypt (char *block[64], int edflag;)




引数



block

0 と 1 を含む,長さ 64 の文字配列。

edflag

整数値。 edflag として 0 を指定すると,引数が暗号化されます。 edflag として 0 以外の値を指定すると,引数が復号化されます。



説明

encrypt関数は, setkey関数で生成したキーを使用して,文字列を暗号化します。

encryptの 1 番目の引数には, 0 と 1 を含む,長さ 64 の文字配列を指定します。この配列が,その位置で新しい配列に変換されます。新しい配列は,元の配列の内容に対して, setkeyで設定したキーを使用して DES アルゴリズムを適用したものになります。

2 番目の引数 edflag によって, 1 番目の引数を暗号化するのか,または復号化するのかを指定します。 edflag として 0 を指定すると,1 番目の引数は暗号化されます。 0 以外の値を指定すると,復号化されます。

戻り値はありません。

cryptsetkeyも参照してください。




戻り値

ポインタ 暗号化されたパスワードへのポインタ。




endgrent (Alpha, I64)

処理完了時に,グループ・データベースをクローズします。



形式

#include <grp.h>

void endgrent (void);




説明

endgrent関数は,グループ・データベースをクローズします。

この関数は,必ず成功します。戻り値はなく, errnoは設定されません。




endpwent

getpwentが使用したユーザ・データベースとプライベート・ストリームをクローズします。



形式

#include <pwd.h>

void endpwent (void);




説明

endpwent関数は, getpwentが使用したユーザ・データベースとプライベート・ストリームをクローズします。

戻り値はありません。入出力エラーが発生した場合,この関数は errnoに EIO を設定します。

getpwentgetpwuidgetpwnamsetpwentも参照してください。




endwin

端末画面をクリアし,Curses 構造体に割り当てられている仮想メモリを解放します。



形式

#include <curses.h>

void endwin (void);




説明

Curses 関数を呼び出すプログラムは,終了する前に endwin関数を呼び出して,端末画面の元の環境を復元する必要があります。



erand48

均一に分布した擬似乱数シーケンスを生成します。 48 ビットの負でない倍精度浮動小数点数値を返します。



形式

#include <stdlib.h>

double erand48 (unsigned short int xsubi[3]);




引数



xsubi

3 つの short intの配列。結合すると 48 ビット整数が作成されます。



説明

erand48関数は,線形合同アルゴリズム (linear congruential algorithm) および 48 ビット整数演算を使用して,擬似乱数を生成します。

0.0 <= y < 1.0 の範囲で均一に分布した負でない倍精度浮動小数点数値を返します。

erand48関数は,線形合同公式に従って, 48 ビットの整数値 Xi のシーケンスを生成することにより動作します。


       Xn+1 = (aXn+c)mod m        n >= 0 

引数 m は 248 に等しいため, 48 ビットの整数演算が実行されます。 lcong48関数を呼び出した場合を除き,乗数値 a と加数値 c は次のようになります。


      a = 5DEECE66D16 = 2736731631558
      c = B16 = 138

erand48関数を使用する場合,呼び出し元のプログラムは xsubi 引数として配列を渡さなければなりません。最初の呼び出しでは,配列を擬似乱数シーケンスの値に初期化しなければなりません。 drand48関数と異なり,最初の呼び出しの前に初期化関数を呼び出す必要はありません。

erand48関数では,異なる引数を使用することにより,大きなプログラムの個別のモジュールが複数の独立した擬似乱数シーケンスを生成することができます。たとえば,1 つのモジュールが生成する乱数シーケンスは,他のモジュールから関数が呼び出される回数に依存しません。




戻り値

n 負でない倍精度浮動小数点数値。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡