Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fb(4) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nfb(4)

FB(4)  —  UNIX Programmer’s Manual

名称

fb − NEWS フレームバッファデバイスのインタフェース

形式

fb0 at iop addr ffe5d0 intr 44

/dev/fb

#include <newsiop/framebuf.h>

解説

fb インタフェースは、NEWS フレームバッファデバイスへのアクセスを行います。 白黒のビットマップディスプレイは、2048 × 2048 ピクセルの フレームバッファを持ち、そのうち 816 × 1024 が表示されます。 カラービットマップディスプレイのフレームバッファは 2048 × 1024 ピクセルで、 そのうち 1280 × 1024 が表示されます。 このフレームバッファのインタフェースによって、 データの読み書き、ラスタ操作、線引きなどが行えます。

操作は、 ioctl(2) システムコールを使用して行なわれます。 ioctl コールにより、フレームバッファの操作と同様にユーザ定義 (ユーザスペース) ビットマップ上の操作ができます。

カラー

カラービットマップディスプレイのフレームバッファは、4(または 8)個 のプレーンから成り、16(または 256)色が同時に表示されます。 赤、緑、青の 3 色は各 4(または 8)ビットで表され、 ユーザは、4096(または 1670 万)色のカラーパレットから色を選ぶことができます。

データタイプ

次のデータ構造体は、ビットマップ操作に使用されます。

 typedef unsigned shortWord;
 #define BitsPerWord16
 typedef struct {
      shortx, y;
} sPoint;
 typedef struct {
sPoint origin;
sPoint extent;
} sRectangle;
 typedef struct {
chartype;/∗ BM_FB、BM_MEM または BM_0 ∗/
chardepth;/∗ ビットマップのプレーン数 ∗/
unsigned short width;/∗ 幅(ワード単位) ∗/
sRectanglerect;/∗ 定義領域 ∗/
Word∗base;/∗ BM_MEM 用 ∗/
} sBitmap;
 #define BM_FB0/∗ フレームバッファ ∗/
#define BM_MEM1/∗ メモリ内のビットマップ(XY 形式) ∗/
#define BM_02/∗ データ ‘0’ の仮想ビットマップ ∗/
 

Word は、サインなしの 16 ビット(1 ワード)と、定義されます。

sPoint 構造体は、ポイントのために使用します。

sRectangle の構造体は、矩形を作ることに使用されます。その origin (原点)は、左上角にあり、 extent は矩形の縦と横の長さを示します。

sBitmap の構造体は、ビットマップを定義するために使用されます。 type のフィールドは、ビットマップがメインメモリ内にあるか、 フレームバッファ内にあるかを示します。 BM_FB は、フレームバッファ内のビットマップであり、 BM_MEM は、メインメモリ内のビットマップです。 BM_MEM ビットマップは、XY 形式でデータが格納されています。 また、プレーン 0 のデータの次にプレーン 1 のデータがあり、 以降その順でずっと続いています。 BM_0 は仮想ビットマップで、そのデータは、すべて 0 です。BM_0 ビットマップは、 ラスタ操作において、ソースビットマップとしてのみ使用することができます。 depth フィールドは、ビットマップのプレーン数を与えます。 白黒フレームバッファのビットマップはプレーン数 1 をもち、 カラーフレームバッファでは 4 または 8 のプレーン数をもっています。 メインメモリ中のビットマップや BM_0 ビットマップでは、 カラー表示が使用されているかいないかにかかわらず、 1 または 4、8 プレーン数をもつことができます。

BM_MEM ビットマップの width (横幅)は、X 方向のワード数で与えます。 width は、BM_FB と BM_0ビットマップに指定することはできません。

rect フィールドは、ビットマップの大きさを与えます。 この領域内でのみ、操作が可能です。

base フィールドは、データのスタートポイントを指定します。

BM_MEM ビットマップの場合、データはワード境界で整列させなければなりません。 最初の列の最初のワードの最初のビットが、 rect.origin で指定した場所に対応します。 これは、1 のプレーン数をもつビットマップが (width ∗ rect.extent.y) ワードを 必要とすることを意味します。 ここで、width は rect.extent.x ビットを十分に含む大きさであるものとします。

IOCTL

FBIOCSETDIM

FBIOCGETDIM
これらは、ユーザが白黒ディスプレイの輝度を調べたり設定するためのものです。 輝度には、0 から 3 までのレベルがあります。 0 が最も明るく、デフォルト値になっています。 カラーディスプレイには、この機能がありません。

 int    dimmer_level;
ioctl(fildes, FBIOCSETDIM, &dimmer_level);
ioctl(fildes, FBIOCGETDIM, &dimmer_level);
 

FBIOCSETSCRMODE

FBIOCGETSCRMODE
これらは、ユーザがスクリーンモードを調べたり設定するために発行するもので、 BLACK_ON_WHITE(デフォルトの白地に黒) または WHITE_ON_BLACK(黒地に白)を 選ぶことができます。 BLACK_ON_WHITE モードでは、1 は黒、0 は白です。 WHITE_ON_BLACK モードでは、この値は反対になります。 これらは現在 サポートされていません。

 /∗
 ∗ スクリーンモードの設定
 ∗/
 #define BLACK_ON_WHITE   0    /∗ 白 - 0, 黒 - 1(デフォルト) ∗/
#define WHITE_ON_BLACK   1    /∗ 白 - 1, 黒 - 0 ∗/
 int    scrmode;
ioctl(fildes, FBIOCSETSCRMODE, &scrmode);
ioctl(fildes, FBIOCGETSCRMODE, &scrmode);
 

FBIOCBITBLT
このリクエストは、2 オペランドのラスタ操作(bitblt)のためのものです。 ソースおよびデスティネーションビットマップは、 メインメモリまたはフレームバッファにあるものです。 BM_0 ビットマップはソースのみに使用することができます。 ソースとデスティネーションビットマップのプレーン数は、 等しいか、またはいずれかのビットマップのプレーン数が 1 でなければなりません。

 /∗ 2 オペランド bitblt ∗/
typedef struct  {
        unsigned char func;        /∗ ファンクションコード ∗/
        char          transp;      /∗ 透過性 ∗/
        int           fore_color;  /∗ フォアグラウンド色 ∗/
        int           aux_color;   /∗ 補色 ∗/
        int           planemask;   /∗ プレーン選択 ∗/
        sBitmap       srcBitmap;   /∗ ソースビットマップ ∗/
        sRectangle    srcRect;     /∗ ソース矩形 ∗/
        sBitmap       destBitmap;  /∗ デスティネーションビットマップ ∗/
        sRectangle    destClip;    /∗ クリップ矩形 ∗/
        sPoint        destPoint;   /∗ デスティネーションポイント ∗/
} sBitblt;
 /∗ 機能 ∗/
#define BF_0      0x0    /∗ 0 ∗/
#define BF_SDA    0x1    /∗ Src(ソース) & Dest(デスティネーション) ∗/
#define BF_SDIA   0x2    /∗ Src & ~Dest ∗/
#define BF_S      0x3    /∗ Src ∗/
#define BF_SIDA   0x4    /∗ ~Src & Dest ∗/
#define BF_D      0x5    /∗ Dest ∗/
#define BF_SDX    0x6    /∗ Src ^ Dest ∗/
#define BF_SDO    0x7    /∗ Src | Dest ∗/
#define BF_SDOI   0x8    /∗ ~(Src | Dest) ∗/
#define BF_SDXI   0x9    /∗ ~(Src ^ Dest) ∗/
#define BF_DI     0xa    /∗ ~Dest ∗/
#define BF_SDIO   0xb    /∗ Src | ~Dest ∗/
#define BF_SI     0xc    /∗ ~Src ∗/
#define BF_SIDO   0xd    /∗ ~Src | Dest ∗/
#define BF_SDAI   0xe    /∗ ~(Src & Dest) ∗/
#define BF_1      0xf    /∗ 1 ∗/
 /∗ プレーンマスク ∗/
#define FB_PLANEALL  0xff
#define FB_PLANE0    0x1
#define FB_PLANE1    0x2
#define FB_PLANE2    0x4
#define FB_PLANE3    0x8
#define FB_PLANE4    0x10
#define FB_PLANE5    0x20
#define FB_PLANE6    0x40
#define FB_PLANE7    0x80
 

sBitblt 構造体は、パラメータとして使用されます。 func フィールドは、ラスタ操作の機能コードを示します。 transp フィールドは、透過性に関するもので、値は 0 または 1 です。1 の場合、 0 の値をもつソースピクセルに対応するデスティネーションのピクセルは、 影響を受けません。

fore_color と aux_color のフィールドは、ソースビットマップのプレーン数が 1 の場合、 意味を持ちません。 値 1 をもつソースビットは、 対応するデスティネーションのピクセルとの操作を実行する前に、 fore-color(に対応したビットパターン)を値としてとります。 一方、bitblt は、その機能実行中、 値が 0 のソースビットは aux-color であるものとみなします。 たとえば、func が BF_S(ソースからデスティネーションへのコピー)であるならば、 値 1 をもつソースビットに対応するピクセルが、fore-color で表示され、 他のピクセルが aux-color で表示されます。

planemask フィールドは、操作にどのプレーンを使用するかを指定します。 planemask 中の 1 は、対応するプレーンを操作の対象とすることを bitblt に知らせます。 それが 0 であった場合には、そのプレーンは無視されます。 ビット N は、プレーン N と対応します。

フィールド srcBitmap と srcRect は、どのソースビットマップを操作に使用するかということを示します。

フィールド destBitmap と destPoint は、デスティネーションのビットマップを指定します。 destPoint は左上隅を示し、 ラスタ操作が行われる矩形の大きさは srcRect と同じです。 フィールド destClip は、デスティネーションのどの部分をクリッピングするかを指定する ために使用されます。

 sBitblt     bitblt;
ioctl(fildes, FBIOCBITBLT, &bitblt);
 

FBIOCBATCHBITBLT
このリクエストは、多くの bitblt 操作をバッチ処理で実行するために使用されます。 ソースやデスティネーションのビットマップは、 各操作を通じて同じですが、 ソースの矩形とデスティネーションポイントは、 それぞれで違っていてもかまいません。

 typedef struct {
        sRectangle  srcRect;   /∗ ソース矩形 ∗/
        sPoint      destPoint; /∗ デスティネーションポイント ∗/
} sSrcDest
  /∗
 ∗ batch bitblt
 ∗/
 typedef struct {
         unsigned char func;         /∗ 機能コード ∗/
         char          transp;       /∗ 透過性 ∗/
         int           fore_color;   /∗ フォアグラウンド色 ∗/
         int           aux_color;    /∗ 補色 ∗/
         int           planemask;    /∗ プレーン選択 ∗/
         sBitmap       srcBitmap;    /∗ ソースビットマップ ∗/
         sBitmap       destBitmap;   /∗ デスティネーションビットマップ ∗/
         sRectangle    destClip;     /∗ クリップ矩形 ∗/
         int           nSrcDest;     /∗ リスト中の src-dest の数 ∗/
         sSrcDest      ∗srcDestList; /∗ src-dest 指定のポインタ ∗/
} sBatchBitblt;
 #define MAX_BATCHBITBLT  1024         /∗ src-dest リストの最大数 ∗/
 

sBatchBitblt 構造体は、sBitblt 構造体と似ており、 ソースとデスティネーションのビットマップを含んでいます。 srcDestList フィールドは、ソース矩形のリストとデスティネーションポイントのリストを指定し、その要素の数は nSrcDest フィールドに与えられます。

 sBatchBitblt       bbitblt;
ioctl(fildes, FBIOCBATCHBITBLT, &bbitblt);
 

FBIOCTILEBITBLT
このリクエストは、 ‘パターン塗りつぶし’ のラスタ操作で使用します。

 /∗ タイル 2 オペランド bitblt ∗/
typedef struct  {
        unsigned char func;        /∗ 機能コード ∗/
        char          transp;      /∗ 透過性 ∗/
        int           fore_color;  /∗ フォアグラウンド色 ∗/
        int           aux_color;   /∗ 補色 ∗/
        int           planemask;   /∗ プレーン選択 ∗/
        sBitmap       ptnBitmap;   /∗ パターンビットマップ ∗/
        sRectangle    ptnRect;     /∗ パターン矩形 ∗/
        sPoint        refPoint;    /∗ 参照ポイント ∗/
        sBitmap       destBitmap;  /∗ デスティネーションビットマップ ∗/
        sRectangle    destClip;    /∗ クリップ矩形 ∗/
        sRectangle    destRect;    /∗ デスティネーション矩形 ∗/
} sTileBitblt;
 

sTileBitblt 構造体は、パラメータの受け渡しに使用されます。 ptnBitmap と ptnRect フィールドは、使用するパターンを指定します。 refPoint フィールドは、塗りつぶし操作の参照ポイントを示します。 これは、その参照ポイントとパターンの左上隅が、 デスティネーションビットマップ上で一致するように作られるという意味です。 参照ポイントは、デスティネーション矩形またはそのクリップ矩形の 外側に指定することもできます。

 sTileBitblt        tbitblt;
ioctl(fildes, FBIOCTILEBITBLT, &tbitblt);
 

FBIOCPOLYLINE
このリクエストは、ユーザがポリライン(直線)を引くためのものです。 ユーザは自由に、線の色、線のパターン、ラスタ操作の機能コードを 指定することができます。

 /∗ 線 ∗/
typedef struct {
        unsigned int lptn;        /∗ ラインパターン ∗/
        short        np;          /∗ ポイント数 ∗/
        sPoint       ∗plist;      /∗ ポイントリスト ∗/
        int          fore_color;  /∗ フォアグラウンド色 ∗/
        int          aux_color;   /∗ 補色 ∗/
        int          planemask;   /∗ プレーン選択 ∗/
        char         transp;      /∗ 透過性 ∗/
        unsigned char func;       /∗ ラスタ操作機能コード ∗/
        char         dlpf;        /∗ 最終ポイント描画フラグ ∗/
        sRectangle   clip;        /∗ クリップ矩形 ∗/
        sBitmap      drawBM;      /∗ 描画するビットマップ ∗/
} sPrimLine;
 /∗ ラインパターン(例) ∗/
#define  LINE_SLD       (unsigned)0xffffffff   /∗ ソリッド ∗/
#define  LINE_DSH       (unsigned)0xfcfcfcfc   /∗ ダッシュ - ∗/
#define  LINE_DOT       (unsigned)0xcccccccc   /∗ ドット  . ∗/
#define  LINE_DSHDOT    (unsigned)0xfff18fff   /∗ ダッシュドット -. ∗/
#define  LINE_DSHDOTDOT (unsigned)0xff8c63ff   /∗ ダッシュドットドット -.. ∗/
 

sPrimLine 構造体は、ポリラインをリクエストするために使用します。 lptn フィールドを使って 32 ビットのラインパターンを指定することができます。 plist フィールドは、呼び出しにおいて np ポイントの受け渡しに使用します。np は、 ポイント数であって線の数ではありません。 fore_color、aux_color、planemask、transp と func フィールドの説明は、 FBIOCBITBLT を参照してください。 dlpf フラグは、リスト中の最後のポイントを描くか描かないかを指定します。 つまり、フラグが 0 であればそのポイントは描かれず、 他の場合は描かれます。 閉じた図形を描く場合に、このフィールドに 0 が使われます。 drawBM と clip フィールドは、ビットマップとクリップ矩形を別々に指定するのに使用されます。

 sPrimline     primline;
ioctl(fildes, FBIOCPOLYLINE, &primline);
 

FBIOCDJPOLYLINE
このリクエストは FBIOCPOLYLINE と似ています。 FBIOCPOLYLINE は、連続する線分を描くため使用されますが、 FBIOCDJPOLYLINE は不連続線に使用されます。 dlpf フィールドは、各線セグメントの終点を描くか描かないかを指定する ために使用されます。

 sPrimline     primline;
ioctl(fildes, FBIOCDJPOLYLINE, &primline);
 

FBIOCPOLYMARKER
このリクエストは、ポリマーカーを描くために使用します。 これは、指定したパターンといくつかのビットマップ間で ラスタ操作を実行するためのものです。

 /∗ マーカー ∗/
typedef struct {
        short         np;            /∗ ポイント数 ∗/
        sPoint        ∗plist;        /∗ ポイントリスト ∗/
        sRectangle    ptnRect;       /∗ パターン矩形 ∗/
        sBitmap       ptnBM;         /∗ パターンビットマップ ∗/
        int           fore_color;    /∗ フォアグラウンド色 ∗/
        int           aux_color;     /∗ 補色 ∗/
        int           planemask;     /∗ プレーン選択 ∗/
        char          transp;        /∗ 透過性 ∗/
        unsigned char func;          /∗ ラスタ操作機能コード ∗/
        sRectangle    clip;          /∗ クリップ矩形 ∗/
        sBitmap       drawBM;        /∗ 描画するビットマップ ∗/
} sPrimMarker;
 

sPrimMaker 構造体は、ポリマーカーの描画に使用されます。 ptnBM と ptnRect フィールドは、ラスタ操作でどのパターンを使用するかを指定します。 フィールド plist と np は、ポイントリストとポイント数をそれぞれ与えます。

 sPrimMarker   primmarkers;
ioctl(fildes, FBIOCPOLYMARKER, &primmaker);
 

FBIOCRECTANGLE
矩形を与えられたパターンで埋めます。

 /∗ 矩形を塗りつぶす ∗/
typedef struct {
        sRectangle    rect;        /∗ 矩形 ∗/
        sPoint        refPoint;    /∗ 塗りつぶし参照ポイント ∗/
        sRectangle    ptnRect;     /∗ パターン矩形 ∗/
        sBitmap       ptnBM;       /∗ パターンビットマップ ∗/
        int           fore_color;  /∗ フォアグラウンド色 ∗/
        int           aux_color;   /∗ 補色 ∗/
        int           planemask;   /∗ プレーン選択 ∗/
        char          transp;      /∗ 透過性 ∗/
        unsigned char func;        /∗ ラスタ操作機能コード ∗/
        sRectangle    clip;        /∗ クリップ矩形 ∗/
        sBitmap       drawBM;      /∗ 描画するビットマップ ∗/
} sPrimRect;
 

このリクエストは、 sPrimRect 構造体を使用します。 rect フィールドは、矩形を指定し、一方、 ptnBM と ptnRect フィールドは、その矩形を塗りつぶすパターンを指定します。 refPoint フィールドは、パターンの左上隅に一致させるポイントを含みます。 refPoint は、矩形とクリップ内にある必要はありません。

 sPrimRect     rect;
ioctl(fildes, FBIOCRECTANGLE, &rect);
 

FBIOCFILLSCAN
パターンによる塗りつぶしが、指定された走査線にそって実行されます。

 /∗ 走査線配列 ∗/
#define SSCANL
typedef struct {
        short   y;
        short   x0, x1;
} sScanl;
  /∗ パターンを塗りつぶす ∗/
typedef struct {
        short         nscan;        /∗ 走査数 ∗/
        sScanl        ∗scan;        /∗ 走査線データ ∗/
        sPoint        refPoint;     /∗ 塗りつぶし参照ポイント ∗/
        sRectangle    ptnRect;      /∗ パターン矩形 ∗/
        sBitmap       ptnBM;        /∗ パターンビットマップ ∗/
        int           fore_color;   /∗ フォアグラウンド色 ∗/
        int           aux_color;    /∗ 補色 ∗/
        int           planemask;    /∗ プレーン選択 ∗/
        char          transp;       /∗ 透過性 ∗/
        unsigned char func;         /∗ ラスタ操作機能コード ∗/
        sRectangle    clip;         /∗ クリップ矩形 ∗/
        sBitmap       drawBM;       /∗ 描画するビットマップ ∗/
} sPrimFill;
 

sScanl 構造体は、走査線のために使用します。 一方、 sPrimFill 構造体は、すべてのパラメータの受け渡しに使用します。 scan フィールドは走査線の配列へのポインタを含み、 nscan フィールドは何本の走査線があるかを示します。パターンは、 ptnBM と ptnRect フィールドを使用することによって指定します。 また、 refPoint は、パターンの左上隅に設定しておく必要のある参照ポイントです。

 sPrimFill     fill;
ioctl(fildes, FBIOCFILLSCAN, &fill);
 

FBIOCTEXT
文字列が指定したフォントで書き込まれます。 使用されるフォントは、ビットマップフォントや ROM フォントです。

 /∗ テキスト ∗/
typedef struct {
     char           type;          /∗ ROM フォント、etc ∗/
     short          len;           /∗ 文字列長 ∗/
     unsigned char  ∗str;          /∗ 文字列 ∗/
     sPoint         p;
     int            dx, dy;        /∗ ベクトル (左へ 16 bit シフトされている) ∗/
     char           ex_factor;     /∗ 拡大ファクタ ∗/
     sPoint         fp;            /∗ ビットマップフォント左上 ∗/
     short          width, height; /∗ フォント幅、フォントの高さ ∗/
     short          column;        /∗ 1 列の文字数 ∗/
     sBitmap        fontBM;        /∗ フォントビットマップ ∗/
     int            fore_color;    /∗ フォアグラウンド色 ∗/
     int            aux_color;     /∗ 補色 ∗/
     char           transp;        /∗ 透過性 ∗/
     unsighed char  func;          /∗ ラスタ操作機能コード ∗/
     sRectangle     clip;          /∗ クリップ矩形 ∗/
     sBitmap        drawBM;        /∗ 描画するビットマップ ∗/
} sPrimText;
 /∗ ビットマップフォントタイプ ∗/
#define ROM_ASCII     0
#define ROM_KANJI     1
#define ASCII         2
 

文字を書くためには、 sPrimText 構造体を使用しなければなりません。 type フィールドは、どのフォントを使用するかを示します。

    ROM_ASCIIROM font (1 バイトコード)
    ROM_KANJIROM font (JIS 漢字コード)
    ASCIIビットマップフォント(1 バイトコード)

len フィールドには、バイト単位で文字列の長さを与えます。 漢字を使用する場合、これが文字数と一致しないことに注意してください。 str フィールドは、文字列へのポインタです。 p フィールドは、最初の文字の左上角に一致するポイントにします。 dx と dy フィールドは、文字列を書く方向を示します。 たとえば、前に書かれた文字の 26 ドット右に水平に文字を書くとき、 dx=26<<16;dy=0 というように使用します。 ex_factor フィールドは、水平方向の拡大ファクタを示します。 たとえば、1 であれば通常の幅になり、2 であればその幅は 2 倍になります。 fp、width、height、 column フィールドは、フォントビットマップを定義します。 フォントビットマップの左上隅は fp で、 文字の幅や高さは、width と height によって決まります (文字の大きさは、一定であり、可変ピッチのフォントは、 サポートされていません)。 column フィールドには、一列の文字数が入ります。 フィールド first_chr と last_chr は、フォントビットマップの中にある最初と最後の文字を示します。

 sPrimtText    text;
ioctl(fildes, FBIOCTEXT, &text);
 

FBIOCGETSCRTYPE
このリクエストは、ビットマップディスプレイの型を返します。

 /∗
 ∗      スクリーンタイプ
 ∗/
typedef struct {
        short       colorwidth;    /∗ カラー幅 ∗/
        short       plane;         /∗ プレーン数 ∗/
        sRectangle  bufferrect;    /∗ フレームバッファ領域 ∗/
        sRectangle  visiblerect;   /∗ 表示画面領域 ∗/
} sScrType;
 

sScrType 構造体は、パラメータを受け渡すために使用されます。 colorwidth フィールドは、カラーパレットの赤、緑、青の各値に使われるビット数を示します。 幅は 4 または 8 です。4 ならばバイト中の上位の 4 ビットが使用され、 8 ならば 8 ビット全部が使用されます。 plane フィールドはプレーンの数を示し、1 ならばモノクロディスプレイであり、 4(または 8)ならばカラーディスプレイです。 bufferrect フィールドは、フレームバッファの大きさを、 visiblerect フィールドは、フレームバッファの表示部分を示します。

 sScrType      scrtype;
ioctl(fildes, FBIOCGETSCRTYPE, &scrtype);
 

FBIOCGETPALETTE

FBIOCSETPALETTE
これらは、カラーパレットデータの読み書きをします。

 /∗
 ∗     カラー
 ∗/
 typedef struct {
         short index;         /∗ パレット番号 ∗/
         struct {
                 short  r, g, b;
         } rgb;
 } sPalette;
 

パレット番号は、0 から 15(4 プレーン)または 0 から 255(8 プレーン)の範囲です。 FBIOCGETPALETTE は、 index フィールドに渡されたパレット番号を要求します。 rgb フィールドは、コールされた後に書き込まれます。 FBIOCSETPALETTE は、index と rgb フィールドをユーザが設定するために使用します (rgb = 赤、緑、青)。

 sPalette      palette;
ioctl(fildes, FBIOCGETPALETTE, &palette);
ioctl(fildes, FBIOCSETPALETTE, &palette);
 

バグ

FBIOCSETSCRMODE と FBIOCGETSCRMODE は、サポートされていません。

関連ファイル

/dev/fb     フレームバッファ

関連事項

nfb(4)

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026