Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

構造体ハンドルに対する操作

構造体に対する操作を実行するためのマクロは次のとおりです。

size_t STRUCT_SIZE(handle)

handle によって参照される構造体のサイズを、その組み込みのデータモデルに応じて返します。

typeof fieldname STRUCT_FGET(handle, fieldname)

handle によって参照されるデータ構造体内の示されているフィールドを返します。このフィールドはポインタ以外の型です。

typeof fieldname STRUCT_FGETP(handle, fieldname)

handle によって参照されるデータ構造体内の示されているフィールドを返します。このフィールドはポインタ型です。

STRUCT_FSET(handle, fieldname, val)

handle によって参照されるデータ構造体内の示されているフィールドを値 val に設定します。val の型は、fieldname の型に一致します。このフィールドはポインタ以外の型です。

STRUCT_FSETP(handle, fieldname, val)

handle によって参照されるデータ構造体内の示されているフィールドを値 val に設定します。このフィールドはポインタ型です。

typeof fieldname *STRUCT_FADDR(handle, fieldname)

handle によって参照されるデータ構造体内の示されているフィールドのアドレスを返します。

struct structname *STRUCT_BUF(handle)

handle で記述されたネイティブな構造体へのポインタを返します。