⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 foo.h

📁 Linux 2.4内核字符设备驱动开发实例。 是Linux下驱动开发人员再好不过的参考源码。编译之后加载驱动
💻 H
字号:
/*
 *  /usr/include/linux/foo.h
 *
 *  Copyright (C) 1997  Fernando Matia
 */

/*
 *     foo.h
 *
 * Header file for foo.c
 *
 */

#ifndef _FOO_H
#define _FOO_H

#include <sys/ioctl.h>      /* For _IO macros */

#define OK   0

#define NOT_PRESENT 0
#define DEV_READY   1
#define DEV_IN_USE  2

/* 0x09 has been set arbitrarily by Fernando Matia */
#define FOO_MAGIC   0x09
#define FOO_RESET   _IO(FOO_MAGIC, 0x01)
#define FOO_SET     _IOW(FOO_MAGIC, 0x02, int)
#define FOO_GET     _IOR(FOO_MAGIC, 0x03, int)

/* These are some hardware specific defines for the PC's */
/* 8259 interrupt controller chips                       */
#define MASTER_8259    0x20
#define SLAVE_8259     0xa0
#define TOUCH_INT      0x0c           /* irq 12          */
#define TOUCH_8259     SLAVE_8259     /* int cont addr   */
#define TOUCH_MASK     0x10           /* int bit mask    */

/* This is the FOO card's base address */
#define FOO_IO_BASE_ADDRESS  0x1c0   /* address of first 8255 */

/* These are the ports available on the card */
#define FOO_PORT_1        (FOO_IO_BASE_ADDRESS)
#define FOO_PORT_2        (FOO_IO_BASE_ADDRESS + 1)
#define FOO_PORT_3        (FOO_IO_BASE_ADDRESS + 2)
#define FOO_PORT_4        (FOO_IO_BASE_ADDRESS + 3)

#define FOO_NUM_PORTS     4 
#define FOO_TESTPORT      FOO_PORT_3              /* Port to test hard */
#define FOO_DUMMYVAL      0x8a                    /* Value to write    */

int foo_init(void);

#endif /* _FOO_H */../driver/char/foo.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -