在linux内核中硬盘读写操作--读取硬盘序列号
(2010-10-12 15:11:11)
标签:
杂谈 |
1、内核中硬盘读写代码片段
static int fileio_make_request(struct iet_volume *lu, struct tio
*tio, int rw)
{
}
2、
读取硬盘序列号
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include<linux/errno.h>
#include<linux/mm.h>
#include<linux/string.h>
#include<linux/kernel.h>
#include<linux/major.h>
#include<linux/fs.h>
#include<linux/proc_fs.h>
#include<linux/nfs_fs.h>
#include<linux/nfs_fs_sb.h>
#include<linux/nfs_mount.h>
#include<linux/genhd.h>
#include<linux/netdevice.h>
#include<linux/if_arp.h>
#include<linux/mc146818rtc.h>
#include<linux/smp_lock.h>
#include "ide.h"
#ifdef MODULE
#include<linux/module.h>
#endif
#include<asm/processor.h>
#include<asm/page.h>
#include<asm/smp.h>
#include<asm/param.h>
#include<asm/fcntl.h>
#include<asm/uaccess.h>
ide_drive_t *topsec_get_info_ptr(kdev_t i_rdev)
{
}
#define HARDDISK "/dev/hda"
int topsec_get_hardisk_id(char*buffer)
{
}
#ifdef MODULE
int init_module(void)
{
}
void cleanup_module(void)
{
}
#endif
make 文 件 如 下 :
DFLAGS=-D __KERNEL__-D MODULE-D __DEBUG__
CFLAGS=-O2-g-Wall-Wstrict-prototypes-pipe-I/usr/src/linux/drivers/block-I/usr/include/linux/
hardid.o :
hardid.c
gcc-c hardid.c $(DFLAGS)$(CFLAGS)-o hardid.o
clean :
rm-f*.o
然 后 :
insmod hardid.o
即 可
清 除 可 :
rmmod hardid
make clean