日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


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


前へ 次へ 目次 索引





getpwuid, getpwuid_r (Alpha, I64)

getpwuid関数は,指定された uid のユーザ・データベース・エントリについての情報を返します。

getpwuid_r関数は, getpwuidのリエントラント・バージョンです。




形式

#include <pwd.h>

struct passwd *getpwuid (uid_t uid); (ISO POSIX-1)

struct passwd *getpwuid (uid_t uid, ...); (HP C Extension)

int getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result); (ISO POSIX-1)

int getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result, ...); (HP C Extension)

関数バリアント getpwuid関数と getpwuid_r関数には, __getpwuid32, _getpwuid_r32, __getpwuid64, _getpwuid_r64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。


引数



uid

属性を読み込むユーザ ID (UID)。

pwd

取り出した passwd構造体を格納するメモリ位置。

buffer

passwd構造体内のエントリを保持できる, result 引数用の作業バッファ。 passwd構造体から指す記憶域は, buffer引数のメモリ (長さは bufsize 文字) から割り当てられます。

bufsize

buffer が指す文字配列の長さ。

result

成功して戻った場合,result には pwd が設定されます。失敗して戻った場合,result には NULL が設定されます。

...

1 または 0 となるオプションの引数。 1 を指定すると,ディレクトリ指定は,OpenVMS 形式で返されます。 0 を指定すると,ディレクトリ指定 (パス名) は,UNIX 形式で返されます。この引数を省略すると,この関数は現在のコマンド言語インタプリタに従って,ディレクトリ指定を返します。 UNIX 形式のディレクトリ指定についての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.3 項を参照してください。



説明

getpwuid関数は,ユーザ・データベース内で,指定された uid のエントリを検索します。この関数は, passwd構造体の pw_uidメンバと uid 引数が一致する,データベース内の最初のユーザ・エントリを返します。

passwd構造体は, <pwd.h>ヘッダ・ファイルに次のように定義されています。

pw_name ユーザのログイン名
pw_uid 数値ユーザ ID
pw_gid 数値グループ ID
pw_dir ユーザのホーム・ディレクトリ
pw_shell ユーザの初期プログラム

注意

getpwuid関数で生成されたすべての情報は,スレッド単位の静的領域に格納され,この関数の次の呼び出しで上書きされます。

getpwuid_r関数は, getpwuidのリエントラント・バージョンです。 getpwuid_r関数は,pwd が指す passwd構造体をアップデートし, result が指すメモリ位置にこの構造体へのポインタを格納します。この構造体には, uid が一致するユーザ・データベースのエントリが格納されます。この構造体から指す記憶域は, buffer 引数のメモリ (サイズは bufsize 文字) から割り当てられます。このバッファに必要なサイズは, sysconf関数の _SC_GETGR_R_SIZE_MAX パラメータで調べることができます。エラーの場合,または要求されたエントリが見つからない場合は, result が指すメモリ位置に,NULL ポインタが返されます。

エラー状態をチェックするアプリケーションは, getpwuidを呼び出す前に, errnoに 0 を設定する必要があります。 getpwuidが NULL ポインタを返し, errnoがゼロでない場合,エラーが発生しています。




戻り値

x 一致するエントリが見つかった場合, getpwuid は正しい passwd 構造体へのポインタを返します。
NULL エラーが発生した場合,または指定されたエントリが見つからなかった場合, getpwuid は NULL を返します。 errno には,エラーを示す値が設定されます。 getpwuid 関数は,以下の場合に失敗します。

  • EIO -- 入出力エラーが発生しました。

  • EINTR -- getpwuid の実行中にシグナルをキャッチしました。

  • EMFILE -- 呼び出し元プロセス内で, OPEN_MAX 個のファイル記述子が現在オープンされています。

  • ENFILE -- 許されている最大個数のファイルが,現在システム内でオープンされています。

0 成功した場合, getpwuid_r は 0 を返し, result が指すメモリ位置に,アップデートした passwd 構造体へのポインタを格納します。
0 失敗した場合 (エラー,または要求されたエントリが見つからない場合), getpwuid_r は 0 を返し, result が指すメモリ位置に,NULL ポインタを格納します。 getpwuid_r 関数は,次の場合に失敗します。

  • ERANGE -- bufferbufsize で指定された記憶域は,得られた passwd 構造体から指すデータを格納するには不十分です。




gets

標準入力 ( stdin) から 1 行を読み込みます。



形式

#include <stdio.h>

char *gets (char *str);

関数バリアント gets関数には, _gets32および _gets64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。


引数



str

stdinから読み込んだ情報を格納できるだけの十分な大きさの文字列を指すポインタ。



説明

行末の改行文字 (\n) は,この関数で ASCII のヌル文字 (\0) に置換されます。

stdinがレコード・モードでオープンされている場合は, getsはレコードの終端を改行文字と同じように取り扱うので,読み込みは改行文字まで,またはレコードの終端まで行われます。




戻り値

x str 引数を指すポインタ。
NULL エラーが発生したか,または改行文字が検出される前にファイルの終端 (EOF) が検出されたことを示します。読み込みエラーが発生した場合, str の内容は未定義です。




getsid (Alpha, I64)

セッション・リーダのプロセス・グループ ID を取得します。



形式

#include <unistd.h>

pid_t getsid (pid_t pid);




引数



pid

セッション・リーダのプロセス・グループ ID を要求するプロセスのプロセス ID です。



説明

getsid関数は, pid で指定されたプロセスのセッション・リーダであるプロセスのプロセス・グループ ID を取得します。 pid が (pid_t)0 の場合は,呼び出し元プロセスが指定されます。



戻り値

x 指定されたプロセスのセッション・リーダのプロセス・グループ ID です。
(pid_t)-1    エラーを示します。この関数は, errno に以下のいずれかの値を設定します。

  • EPERM -- pid で指定されたプロセスが,呼び出し元プロセスと同じセッションに属していないため,この実装では,呼び出し元プロセスからこのプロセスのセッション・リーダのプロセス・グループ ID へのアクセスが許されていません。

  • ESRCH -- プロセス ID が pid であるようなプロセスはありません。




[w]getstr

端末画面から文字列を取得し,その文字列を str 変数に格納し,指定のウィンドウに表示します。 getstr関数は stdscrウィンドウに対して動作します。



形式

#include <curses.h>

int getstr (char *str);

int wgetstr (WINDOW *win, char *str);




引数



win

ウィンドウを指すポインタ。

str

ウィンドウから読み込んだ文字列を格納できる十分な大きさでなければなりません。



説明

getstr関数と wgetstr関数は,文字列を読み込む前に指定されたウィンドウの表示を更新します。読み込んだ文字列から,末尾の改行文字は削除されます。詳細については, scrollok関数を参照してください。



戻り値

OK 正常終了を示します。
ERR 関数が画面を不正にスクロールしたことを示します。




gettimeofday

日付と時刻を取得します。



形式

#include <time.h>

int gettimeofday (struct timeval *tp, void *tzp);




引数



tp

timeval構造体を指すポインタ。この構造体は <time.h>ヘッダ・ファイルに定義されています。

tzp

NULL ポインタ。この引数が NULL ポインタでない場合は無視されます。



説明

gettimeofday関数は, 1970 年 1 月 1 日 UTC (協定世界時) 00::00 からの経過時間として,現在の時刻 (秒数とマイクロ秒数) を取得します。現在の時刻は,tp 引数によって示される timeval構造体に格納されます。

tzp 引数は,カネールによって設定されたタイム・ゾーン情報を格納する目的で使用されます。しかし,OpenVMS カーネルはタイム・ゾーン情報を設定しないので, tzp 引数は NULL でなければなりません。 NULL でない場合は無視されます。この関数は BSD プログラムとの互換性を維持するためにサポートされます。

SYS$TIMEZONE_DIFFERENTIAL 論理名の値が不正な場合は,この関数は異常終了し, errnoは EINVAL に設定されます。




戻り値

0 正常終了を示します。
-1    エラーが発生したことを示します。 errno はエラーを示すように設定されます。




getuid

POSIX ID が無効に設定されている場合,この関数は geteuidと同じであり,ユーザ識別コード (UIC) からメンバ番号 (OpenVMS の用語) を返します。

POSIX ID が有効に設定されている場合は,実ユーザ ID を返します。




形式

#include <unistd.h>

uid_t getuid (void);




説明

getuid関数は POSIX 形式の識別子または UIC ベースの識別子に対して使用できます。

POSIX 形式の ID は, OpenVMS Version 7.3-2 およびそれ以降でサポートされています。

POSIX 形式の ID が無効に設定されている場合 (デフォルト), geteuid関数と getuid関数は同じであり,次に示すように現在の UIC からメンバ番号を返します。

  • _VMS_V6_SOURCE 機能テスト・マクロを設定してコンパイルされたプログラムや, <unistd.h>ヘッダ・ファイルを取り込まないプログラムの場合, getuid関数と geteuid関数は OpenVMS UIC のメンバ番号を返します。たとえば,UIC が [313,31] の場合,メンバ番号 31 を返します。

  • _VMS_V6_SOURCE 機能テスト・マクロを設定せずにコンパイルされたプログラムで, <unistd.h>ヘッダ・ファイルを取り込むプログラムの場合は,完全な UIC を返します。たとえば,UIC が [313, 31] の場合は,20512799 (31 + 313 * 65536) を返します。

POSIX 形式の ID が有効に設定されている場合, geteuidは呼び出しプロセスの実効ユーザ ID を返し, getuidは呼び出しプロセスの実ユーザ ID を返します。

POSIX 形式の ID を有効または無効にする方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.7 節を参照してください。

getegidおよび getgidも参照してください。




戻り値

x 実ユーザ ID (POSIX ID が有効に設定されている場合),または現在の UIC から取り出したメンバ番号または完全な UIC (POSIX ID が無効に設定されている場合)。




getw

指定されたファイルから文字を返します。



形式

#include <stdio.h>

int getw (FILE *file_ptr);




引数



file_ptr

アクセスするファイルを指すポインタ。



説明

getw関数は, intとして指定された入力ファイルから次の 4 文字を返します。



戻り値

x int 内の次の 4 文字。
EOF 4 文字のいずれかを取得しているときにファイルの終端 (EOF) が検出され, 4 文字すべてが消失したことを示します。 EOF は受け付け可能な整数であるため,関数が正常終了したかどうか確認するには, feof ferror を使用します。




getwc

指定されたファイルから次の文字を読み込み,ワイド文字コードに変換します。



形式

#include <wchar.h>

wint_t getwc (FILE *file_ptr);




引数



file_ptr

アクセスするファイルを指すポインタ。



説明

getwcはマクロとして実相されているため,副作用のあるファイル・ポインタ引数 ( たとえば getwc (*f++)) は正しく評価されないことがあります。このような場合は,代わりに fgetwc関数を使用してください。 fgetwc関数を参照してください。



戻り値

n 返された文字。
WEOF ファイルの終端 (EOF) またはエラーを示します。エラーが発生した場合,この関数は errno を設定します。この関数が設定する値の一覧については, fgetwc を参照してください。




getwchar

1 文字のワイド文字を標準入力 ( stdin) から読み込みます。



形式

#include <wchar.h>

wint_t getwchar (void);




説明

getwchar関数は fgetwc( stdin) と同じです。



戻り値

x stdin から読み込み, wint_t に変換した次の文字。
WEOF ファイルの終端 (EOF) またはエラーを示します。エラーが発生した場合,この関数は errno を設定します。この関数が設定する値の一覧については, fgetwc を参照してください。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項