DMAマップの実態を表現する構造体へのポインタである。構造体は、3つのパブリックなメンバを持つ。0であればそのマップが無効であることを示す。構造体の配列への配列またはポインタである。データ型に加えて、bus_dmaインターフェースではインターフェースの関数の一部に渡す各種のフラグが定義されている。リソースが入手可能になるのを待つことが許可されるか否かを関数に対して指定する[注6]。これらのフラグは個々のバス階層のために予約されている。バス階層はそのバス固有の特別な意味を定義する必要がある場合がある。VLバスデバイスの機能がある。ISAデバイスの持つアドレス幅による制約がない。予約フラグは、前述のような特別なケースをバス毎に規定することを可能にする。[訳注4]「opaque」な型とは、その値の実際の中身が使われるのが下位層のルーチンのみであり、上位層ではその値の中身や型がどのようなものであるか関知する必要がない型のことを言う。ここでは「不透明(型)」という訳語を当てる。[注6]デバイスの割込みを扱う際に使われる割込みコンテキストとは対照的に、カーネルがプロセスコンテキストで動いているならばウェイト(もしくは「ブロッキング」とも呼ばれる)は許可される。これらは、DMAマップを作成および破棄する関数、DMAマップをロードおよびアンロードする関数、マップを同期する関数に分類できる。関数は、DMAマップを作成し、そのDMAマップを与えられたパラメータによって初期化する。DMA転送サイズ、DMAセグメントの最大数、与えられたセグメントの最大サイズ、そしてDMAアラインメント制約である。このフラグは、最大サイズの転送をマップするのに必要なすべてのリソースを、DMAマップが作成される時に割り当てられる必要があることを示す。これは、DMAマップを割り込みコンテキスト内のようにブロックが許されない箇所で毎回ロードしなければならないような場合に有効である。関数は、DMAマップを無効にし、割り当てられていたリソースを解放する。