LED_CAP       0x04   キャピタルロックが点灯
    LEC_NUM       0x02   ナンバーロックが点灯
    LED_SCR       0x01   スクロールロックが点灯
カーネル 1.1.54 以前は、LED はそれぞれのキーボードフラグの状態を反映する だけで、KDGETLED/KDSETLED もキーボードフラグを変更するだけであった。 カーネルl 1.1.54 からは LED に任意の表示をする事ができるようになったが、 デフォルトではキーボードフラグを表示する。 次に示す 2 つの ioctl はキーボードフラグにアクセスするのに用いられる。
    KD_TEXT       0x00
    KD_GRAPHICS   0x01
struct consolefontdesc {
    unsigned short charcount;  /* フォントの文字数
                                  (256 または 512) */
    unsigned short charheight; /* 一文字の走査線の数
                                  (1-32) */
    char          *chardata;   /* 展開されたフォントデータ */
};
必要ならスクリーンは適当にサイズ変更され、SIGWINCH が適切な プロセスに送られる。 このコールにより Unicode のマッピングが無効になる。
struct unimapdesc {
    unsigned short  entry_ct;
    struct unipair *entries;
};
という構造体を指す。 ここで entries は、
struct unipair {
    unsigned short unicode;
    unsigned short fontpos;
};
という構造体の配列へのポインターである。 (カーネル 1.1.92 以降)
struct unimapinit {
    unsigned short advised_hashsize;  /* 0 if no opinion */
    unsigned short advised_hashstep;  /* 0 if no opinion */
    unsigned short advised_hashlevel; /* 0 if no opinion */
};
という構造体を指すポインターである。 (カーネル 1.1.92 以降)
    K_RAW         0x00
    K_XLATE       0x01
    K_MEDIUMRAW   0x02
    K_UNICODE     0x03
    K_METABIT     0x03   set high order bit
    K_ESCPREFIX   0x04   escape prefix
struct kbentry {
    unsigned char  kb_table;
    unsigned char  kb_index;
    unsigned short kb_value;
};
へのポインターである。 最初の2つの要素、kb_table には選択するキーテーブル (0 <= kb_table < MAX_NR_KEYMAPS)、kb_index にはキーコード(0 <= kb_index < NR_KEYS)を設定する。 kb_value は対応するアクションコード、または、そのようなキーが ないときには K_HOLE、kb_table が無効な時には K_NOSUCHMAP に設定される。
struct kbsentry {
    unsigned char kb_func;
    unsigned char kb_string[512];
};
という構造体へのポインターである。
kb_func 番目のファンクションキーのアクションコードに対応する (NULL で終端された)文字列が kb_string に設定される。
struct kbdiacrs {
    unsigned int   kb_cnt;
    struct kbdiacr kbdiacr[256];
};
という構造体へのポインターである。 ここで、kb_cnt は配列中のエントリーの個数で、個々のエントリーは、
struct kbdiacr {
    unsigned char diacr;
    unsigned char base;
    unsigned char result;
};
という構造体である。
struct kbkeycode {
    unsigned int scancode;
    unsigned int keycode;
};
へのポインターである。 keycode は、scancode に対応した値に設定される。(ただし、89 <= scancode <= 255 のみについて。1 <= scancode <= 88 では keycode == scancode である。) (カーネル 1.1.63 以降)
struct vt_mode {
   char mode;     /* vt mode */
   char waitv;    /* if set, hang on writes if not active */
   short relsig;  /* signal to raise on release req */
   short acqsig;  /* signal to raise on acquisition */
   short frsig;   /* unused (set to 0) */
};
という構造体を指すポインタであり、アクティブな vt のモードが セットされる。 mode は次のどれかに設定される:
   VT_AUTO       自動vt切替え
   VT_PROCESS    プロセスコントロール切替え
   VT_ACKACQ     アクノリッジ切替え
struct vt_stat {
   unsigned short v_active;  /* active vt */
   unsigned short v_signal;  /* signal to send */
   unsigned short v_state;   /* vt bit mask */
};
へのポインターである。 使用されているそれぞれの vt につき v_state の対応するビットが セットされる。 (カーネルl 1.0 から 1.1.92 まで)
struct vt_sizes {
   unsigned short v_rows;       /* # rows */
   unsigned short v_cols;       /* # columns */
   unsigned short v_scrollsize; /* no longer used */
};
へのポインターである。 これはビデオモードを変更しない事に注意。 resizecons(8) を見よ(カーネル 1.1.54 以降)。
struct vt_consize {
    unsigned short v_rows;  /* number of rows */
    unsigned short v_cols;  /* number of columns */
    unsigned short v_vlin;  /* number of pixel rows
                               on screen */
    unsigned short v_clin;  /* number of pixel rows
                               per character */
    unsigned short v_vcol;  /* number of pixel columns
                               on screen */
    unsigned short v_ccol;  /* number of pixel columns
                               per character */
};
へのポインターである。
パラメータはゼロであってもよい。そのときは「変更しないこと」を 意味するが、複数のパラメータが設定された時にはそれらの間で矛盾が ないようにしなければならない。 この関数呼び出しによってもビデオモードは変更されない事に注意。 resizecons(8) を参照の事(カーネル 1.3.3 以降)。
以下の ioctl がどのように動作をするかは、argp が指す構造体の 最初のバイト(ここでは subcode と呼ぶ)に依存する。 これらの呼出しは、スーパーユーザーか現在の tty のオーナにのみ許される。
struct {
   char subcode;
   short xs, ys, xe, ye;
   short sel_mode;
}
であり、ここで
xs と ys は始めの桁と行で、xe と ye は終りの桁と
行である。
(左上の隅が 桁=行=1 )
sel_mode は 0 が文字毎の選択で、1は語毎の選択、2は行毎の選択を
意味する。
示されたスクリーン上の文字はハイライト表示され devices/char/console.c の
静的配列 sel_buffer に保存される。
        0: スクリーンブランキングなし。
        1:現在のビデオアダプターレジスタが保存されたあと、
コントローラは垂直同期パルスをオフにするようプログラムされる。これにより
モニターは「スタンバイ」モードにはいる。
モニターに Off_Mode タイマが備わっておれば、最終的にはモニターが自分で
電源を落す。
        2:現在の設定を保存した後、垂直、水平同期パルスがオフになる。
これによりモニターは「オフ」モードになる。
モニターに Off_Mode タイマーがない時、または、blank_timer がタイムアウトしたら
すぐにモニターの電源を落したいときにこの選択肢を選ぶ。
(注意:頻繁にモニターの電源を切るとモニターを痛める。)
(カーネル 1.1.76 以降)
ioctl はカーネルと、ある特定のよく知られたプログラムとの情報交換のために 導入される事が非常に多い(fdisk, hdparm, setserial,tunelp, loadkeys, selection, setfont など)。そのため ioctl の動作は、その特定のプログラムが 必要とした時には変更になる。
これらの ioctl を使ったプログラムは他のバージョンの Unix との互換性が ないし、古いバージョンの Linux では、走らない。さらに将来のバージョンの Linux では走らなくなるかも知れない。