説明
特記事項
このページの例は典型的な事例を載せたにすぎません。 型名は、例外
(もしあるならば) が 『制約』 で述べられるかもしれませんが、基本的に実在すると考えてかまいません。
たいていの場合、それぞれの typedef を実現している基本的な型はその typedef を使っているソースコードに変更が必要ない限り実現方法に依存したものです。
しかし中にはその typedef が一般的に使われている型の略記であり、変わらない
場合もあります。
インクルードファイルに定義されているデータ型は HP-UX のシステムコードで使われています。
これらの型の データにはユーザーのコードで使用できるものもあります。
typedef struct { int r[1]; } *physadr;
typedef char *caddr_t;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned long ino_t;
typedef short cnt_t;
typedef long time_t;
typedef long dev_t;
typedef long off_t;
typedef long paddr_t;
typedef long key_t;
typedef int32_t pid_t;
typedef long uid_t;
typedef long gid_t;
typedef long blkcnt_t;
上で定義された名前は標準化されていますが、定義されている実際の型は
HP-UX のインプリメンテーションにより変わることがあることに注意してください。
型の意味は以下のとおりです。
| physadr | | メモリへのポインタとして使用されます。 ポインタはハードウェア依存の命令
アドレッシング規約 に従い境界付けされます。 |
| caddr_t | | 型なしのポインタとして、または型なしのメモリへのポインタとして使用されます。 |
| uint | | unsigned integer の省略形 |
| ushort | | unsigned short の省略形 |
| ino_t | | I-番号を指定するために使用されます。 HP-UX 11i のすべてのネイティブなファイルシステム
(HFS や VxFS 3.5 を含む) では、 32 ビット以内に収まる値が使用されます。
リモートの NFS サーバーで 32 ビットを越える値が使用されている場合、
32 ビットアプリケーションでは、値が切り捨てられ、ユニークな値ではなくなることがあります。 |
| cnt_t | | 一部のインプリメンテーションで何らかのカーネルデータ構造への参照カウントを保持するために使用されます。 |
| time_t | | 1970 年 1 月 1 日 00:00:00 GMT からの秒数で表された時間 |
| dev_t | | デバイスの種類とユニット番号をメジャーとマイナーとして知られる 2 つからなる表現で指定します。 |
| off_t | | ファイルの先頭から測ったバイト単位のオフセット 32
ビットアプリケーションを -D_FILE_OFFSET_BITS=64 または -D_LARGEFILE64_SOURCE でコンパイルすると、 off_t は int64_t になります。 |
| paddr_t | | ポインタを保持するために適切な大きさをもった整数型として使用します。 |
| key_t | | メッセージ待ち行列、セマフォまたは共有メモリ識別子を得るために用いられるキーの型です。 stdipc(3C) を参照してください。 |
| pid_t | | プロセスとプロセスグループ識別子を指定するために使用します。 |
| uid_t | | ユーザー識別子を指定するために使用します。 |
| gid_t | | グループ識別子を指定するために使用します。 |
| blkcnt_t | | ブロック単位のディスク割り当て、または転送サイズ
32 ビットアプリケーションを -D_FILE_OFFSET_BITS=64 または -D_LARGEFILE64_SOURCE でコンパイルすると、 blkcnt_t は int64_t になります。 |
標準準拠
<sys/types.h>: AES, SVID3, XPG2,
XPG3, XPG4, FIPS 151-2, POSIX.1