linuxÇý¶¯Ö®mmapʵÀý
// Linux Device Driver Template/Skeleton with mmap
// Kernel Module
#include <linux/module.h>
#include <linux/init.h>
#include <linux/version.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <linux/vmalloc.h>
#include <linux/mman.h>
#include <linux/slab.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
#include <linux/wrapper.h>
#endif
#define SKELETON_MAJOR 240
#define SKELETON_NAME "skeleton"
#define CASE1 1
#define CASE2 2
static unsigned int counter = 0;
static char string [128];
static int data;
//#define USEASCII
#ifdef USEASCII
static char *kmalloc_area = NULL;
static char *kmalloc_ptr = NULL;
#else
static unsigned int *kmalloc_area = NULL;
static unsigned int *kmalloc_ptr = NULL;
#endif
#define LEN (64*1024)
unsigned long virt_addr;
DECLARE_WAIT_QUEUE_HEAD(skeleton_wait);
static int data_not_ready = 0;
// open function - called when the "file" /dev/skeleton is opened in userspace
static int skeleton_open (struct inode *inode, struct file *file) {
printk("skeleton_openn");
// we could do some checking on the flags supplied by "open"
// i.e. O_NONBLOCK
// -> set some flag to disable interruptible_sleep_on in skeleton_read
return 0;
}
// close function - called when the "file" /dev/skeleton is closed in userspace
static int skeleton_release (struct inode *inode, struct file *file) {
printk("skeleton_releasen");
return 0;
}
// read function called when from /dev/skeleton is read
static ssize_t skeleton_read (struct file *file, char *buf,
size_t count, loff_t *ppos) {
int len, err;
// check if we have data - if not, sleep
// wake up in interrupt_handler
while (data_not_ready) {
interrupt
Ïà¹ØÎĵµ£º
×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......
Linux²é¿´Ó²¼þÐÅÏ¢ÃüÁî
1.²é¿´CPUÐÅÏ¢
cat /proc/cpuinfo
2.²é¿´ÄÚ´æÐÅÏ¢
cat /proc/meminfo
free
vmstat
3.²é¿´Ó²ÅÌÐÅÏ¢
fdisk -l
df -lh
4.²é¿´Äں˰汾ÐÅÏ¢
cat /proc/version
uname -r
lsb_release -a
5.²é¿´ÎļþÕ¼Óÿռä
du
6.²é¿´ÏµÍ³ÐÅÏ¢
dmesg
7.²é¿´¶Ë¿ÚÐÅÏ¢
netstat
8.²é¿´32λ»¹ÊÇ64λ
ge ......
¹¦ÄÜ˵Ã÷£º¼ì²âÖ÷»ú¡£
Óï¡¡¡¡·¨£ºping
[-dfnqrRv][-c<Íê³É´ÎÊý>][-i<¼ä¸ôÃëÊý>][-I<ÍøÂç½çÃæ>][-l<ǰÖÃÔØ
Èë>][-p<·¶±¾Ñùʽ>][-s<Êý¾Ý°ü´óС>][-t<´æ»îÊýÖµ>][Ö÷»úÃû³Æ»òIPµØÖ·]
²¹³ä˵Ã÷£ºÖ´ÐÐpingÖ¸Áî»áʹÓÃICMP´«ÊäÐÒ飬·¢³öÒªÇó»ØÓ¦µÄ ......
[IBM][CLI Driver] SQL30081N ¼ì²âµ½Í¨ÐÅ´íÎó¡£ÕýÔÚʹÓõÄͨÐÅÐÒ飺"TCP/IP"¡£ÕýÔÚʹÓõÄͨÐÅAPI£º"SOCKETS"¡£¼ì²âµ½´íÎóµÄλÖãº"202.106.195.29"¡£¼ì²âµ½´íÎóµÄͨÐź¯Êý£º"connect"¡£ÐÒéÌØ¶¨µÄ´íÎó´úÂ룺"10060"¡¢"*"¡¢"*"¡£ SQLSTATE=08001
½â¾ö°ì·¨£º
µ½C:\WINDOWS\system32\drivers\etc\Ï£¬´ò¿ªhostsÎļþ£¬ÔÚÎļ ......
ÏëҪͨ¹ýÆÕͨµÄ¾²Ì¬²ßÂÔ·ÓÉÀ´ÊµÏÖµçÐÅÍøÍ¨Ë«Ïß»ù±¾ÉÏÊDz»¿ÉÄܵģ¬ÒòΪÄǽ«ÐèҪά»¤Ï൱´óµÄÒ»¸öIP¶ÎµÄÊý¾Ý¿â£¬¶øÇÒ»¹ÐèÒªËæÊ±¸üвÅÄܱ£Ö¤Ð§¹û¡£
ºóÀ´Ìýǰ±²ÃÇ˵£¬¿ÉÒÔ²ÉÓûùÓÚÔ´µØÖ·Â·Óɵķ½Ê½À´´¦Àí£¬ÈýøÀ´µÄÊý¾Ý£¬´ÓÄĸöIP½øÀ´¾Í´ÓÄĸöIP·µ»Ø¡£
ÏÂÃæ¾ÍÊÇÒ»¸öÔÚÉú²úÖеõ½ÁËʵ¼ÊÓ¦ÓõĽű¾£º
====================== ......