const char *mdb_inval_bits(int width, int start, int stop);
mdb_inval_bits() 関数は mdb_one_bit() とともに使用して、ビットフィールドを図式化して出力します。この関数は、該当するビット位置に「x」を表示することによって、そのビットを無効または予約済みとしてマーク付けします。ビットフィールドの各ビットはピリオド (.) で表現されますが、start および stop パラメータで指定された範囲のビット位置にあるビットは対象外です。ビットにはゼロから番号が付けられます。たとえば、次のソースコードの場合を考えます。
mdb_printf("%s = reserved\n", mdb_inval_bits(8, 7, 7)); |
この場合、次のような出力が得られます。
x... .... = reserved |
この関数はフォーマットされたビット表現を含む、適切なサイズの、NULL で終了する文字列を返します。現在の dcmd が完了すると、不要な文字列は自動的に回収されます。