荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (Live my life!), 信区: Linux
标  题: holly大虾的内核分析报告(五)
发信站: BBS 荔园晨风站 (Sat Jan 22 08:56:34 2000), 站内信件

发信人: stable (xixi), 信区: FreeBSD
标  题: holly大虾的内核分析报告(五)
发信站: BBS 水木清华站 (Fri Jan 21 21:48:03 2000)


#define MAXSSAVER       16
struct ssaver   {
        char    name[MAXSSAVER];
        int     num;
        long    time;
};
/* video mode information block */
struct video_info {
    int                 vi_mode;
    int                 vi_flags;
#define V_INFO_COLOR    (1<<0)
#define V_INFO_GRAPHICS (1<<1)
#define V_INFO_LINEAR   (1<<2)
#define V_INFO_VESA     (1<<3)
    int                 vi_width;
    int                 vi_height;
    int                 vi_cwidth;
    int                 vi_cheight;
    int                 vi_cheight;
    int                 vi_depth;
    int                 vi_planes;
    u_int               vi_window;      /* physical address */
    size_t              vi_window_size;
    size_t              vi_window_gran;
    u_int               vi_buffer;      /* physical address */
    size_t              vi_buffer_size;
    /* XXX pixel format, memory model,... */
};
/* adapter infromation block */
struct video_adapter {
    int                 va_index;
    int                 va_type;
    char                *va_name;
    int                 va_unit;
    int                 va_minor;
    int                 va_flags;
#define V_ADP_COLOR     (1<<0)
#define V_ADP_MODECHANGE (1<<1)
#define V_ADP_STATESAVE (1<<2)
#define V_ADP_STATELOAD (1<<3)
#define V_ADP_FONT      (1<<4)
#define V_ADP_FONT      (1<<4)
#define V_ADP_PALETTE   (1<<5)
#define V_ADP_BORDER    (1<<6)
#define V_ADP_VESA      (1<<7)
#define V_ADP_PROBED    (1<<16)
#define V_ADP_INITIALIZED (1<<17)
#define V_ADP_REGISTERED (1<<18)
    int                 va_io_base;
    int                 va_io_size;
    int                 va_crtc_addr;
    int                 va_mem_base;
    int                 va_mem_size;
    u_int               va_window;      /* virtual address */
    size_t              va_window_size;
    size_t              va_window_gran;
    u_int               va_buffer;      /* virtual address */
    size_t              va_buffer_size;
    int                 va_initial_mode;
    int                 va_initial_bios_mode;
    int                 va_mode;
    struct video_info   va_info;
    int                 va_line_width;
    void                *va_token;
    void                *va_token;
};
struct video_adapter_info {
    int                 va_index;
    int                 va_type;
    char                va_name[16];
    int                 va_unit;
    int                 va_flags;
    int                 va_io_base;
    int                 va_io_size;
    int                 va_crtc_addr;
    int                 va_mem_base;
    int                 va_mem_size;
    u_int               va_window;      /* virtual address */
    size_t              va_window_size;
    size_t              va_window_gran;
    u_int               va_buffer;      /* virtual address */
    size_t              va_buffer_size;
    int                 va_initial_mode;
    int                 va_initial_bios_mode;
    int                 va_mode;
    int                 va_line_width;
};
};
#define V_ADP_PRIMARY           0
#define V_ADP_SECONDARY         1
struct keyboard_info {
    int                 kb_index;       /* kbdio index# */
    char                kb_name[16];    /* driver name */
    int                 kb_unit;        /* unit# */
    int                 kb_type;        /* KB_84, KB_101, KB_OTHER,... */
    int                 kb_config;      /* device configuration flags */
    int                 kb_flags;       /* internal flags */
};
typedef struct accentmap accentmap_t;
typedef struct fkeytab fkeytab_t;
typedef struct fkeyarg fkeyarg_t;
typedef struct vid_info vid_info_t;
typedef struct mouse_info mouse_info_t;
typedef struct {char scrmap[256];} scrmap_t;
typedef struct {char fnt8x8[8*256];} fnt8_t;
typedef struct {char fnt8x14[14*256];} fnt14_t;
typedef struct {char fnt8x16[16*256];} fnt16_t;
typedef struct ssaver ssaver_t;
typedef struct video_adapter video_adapter_t;
typedef struct video_adapter_info video_adapter_info_t;
typedef struct video_adapter_info video_adapter_info_t;
typedef struct video_info video_info_t;
typedef struct keyboard_info keyboard_info_t;
typedef struct {int scr_size[3];} scr_size_t;
typedef struct {int kbd_delay[2];} keyboard_delay_t;
/* defines for "special" keys (spcl bit set in keymap) */
#define NOP             0x00            /* nothing (dead key)           */
#define LSH             0x02            /* left shift key               */
#define RSH             0x03            /* right shift key              */
#define CLK             0x04            /* caps lock key                */
#define NLK             0x05            /* num lock key                 */
#define SLK             0x06            /* scroll lock key              */
#define LALT            0x07            /* left alt key                 */
#define BTAB            0x08            /* backwards tab                */
#define LCTR            0x09            /* left control key             */
#define NEXT            0x0a            /* switch to next screen        */
#define F_SCR           0x0b            /* switch to first screen       */
#define L_SCR           0x1a            /* switch to last screen        */
#define F_FN            0x1b            /* first function key           */
#define L_FN            0x7a            /* last function key            */
/*                      0x7b-0x7f          reserved do not use !        */
#define RCTR            0x80            /* right control key            */
#define RALT            0x81            /* right alt (altgr) key        */
#define RALT            0x81            /* right alt (altgr) key        */
#define ALK             0x82            /* alt lock key                 */
#define ASH             0x83            /* alt shift key                */
#define META            0x84            /* meta key                     */
#define RBT             0x85            /* boot machine                 */
#define DBG             0x86            /* call debugger                */
#define SUSP            0x87            /* suspend power (APM)          */
#define SPSC            0x88            /* toggle splash/text screen    */
#define F_ACC           DGRA            /* first accent key             */
#define DGRA            0x89            /* grave                        */
#define DACU            0x8a            /* acute                        */
#define DCIR            0x8b            /* circumflex                   */
#define DTIL            0x8c            /* tilde                        */
#define DMAC            0x8d            /* macron                       */
#define DBRE            0x8e            /* breve                        */
#define DDOT            0x8f            /* dot                          */
#define DUML            0x90            /* umlaut/diaresis              */
#define DDIA            0x90            /* diaresis                     */
#define DSLA            0x91            /* slash                        */
#define DRIN            0x92            /* ring                         */
#define DCED            0x93            /* cedilla                      */
#define DAPO            0x94            /* apostrophe                   */
#define DDAC            0x95            /* double acute                 */
#define SPSC            0x88            /* toggle splash/text screen    */
#define DOGO            0x96            /* ogonek                       */
#define DCAR            0x97            /* caron                        */
#define L_ACC           DCAR            /* last accent key              */
#define STBY            0x98            /* Go into standby mode (apm)   */

--
※ 来源:·BBS 水木清华站 smth.org·[FROM: ox2.ios.ac.cn]

--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.28]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店