LINUX C Á´±í·â×°
main.c
//³õʼ»¯¶ÓÁÐ
void InitQueue(LiQueue *q)
{
q=(LiQueue*)malloc(sizeof(LiQueue));
q->front=q->rear=NULL;
}
//ÅжÏÊÇ·ñΪ¿Õ
int QueueEmpty(LiQueue *q)
{
if(q->rear==NULL)
{
return 1;
}
else
{
return 0;
}
}
//ÊÍ·Å
void ClearQueue(LiQueue *q)
{
QNode *p=q->front,*r;
if(p!=NULL)
{
r=p->next;
while(r!=NULL)
{
free(p);
p=r;
r=p->next;
}
}
free(q);
}
//ʵÏÖ¶ÓÁеÄÈë¶Ó
void enQueue(LiQueue *q,struct TCPMASSAGE stTcpSendBuff)
{
//·â×°½áµã
QNode *s;
s=(QNode*)malloc(sizeof(QNode));
memcpy(&s->data , &stTcpSendBuff , sizeof(stTcpSendBuff));
//s->data =e;
s->next=NULL;
if(q->rear==NULL)
{
q->front =s;
q->rear =s;
}
else
{
q->rear->next =s;
q->rear =s;
}
}
//³ö¶Óº¯Êý
int deQueue(LiQueue *q,struct TCPMASSAGE stTcpSendBuff)
{
QNode *t;
if(q->rear ==NULL)
{
return 0;
}
if(q->front ==q->rear )//Ö»ÓÐÒ»¸ö½áµã
{
t=q->front;
q->front =NULL;
q->rear =NULL;
}
else
{
t=q->front;
q->front=q->front->next;
}
memcpy(stTcpSendBuff.cTcpBuff,t->data.cTcpBuff,t->data.len);
stTcpSendBuff.len = t->data.len;
free(t);
return 1;
}
/*
//³ö¶Óº¯Êý
int deQueue(LiQueue *q,char *pstbuff,int *lenth)
{
QNode *t;
if(q->rear ==NULL)
{
return 0;
}
if(q->front ==q->rear )//Ö»ÓÐÒ»¸ö½áµã
{
t=q->front;
q->front =NULL;
q->r
Ïà¹ØÎĵµ£º
The Linux USB input subsystem is a single, harmonized way to manage all input devices. This is a relatively new approach for Linux, with the system being partly incorporated in kernel version 2.4 and fully integrated in the 2.5 development series.
This article covers four basic areas: a descripti ......
´ËÎÄÓÚ2010-02-26±»ÍƼöµ½CSDNÊ×Ò³
ÈçºÎ±»ÍƼö£¿
×î½üÔÚÑо¿ Linux
Äں˵Äʱ¼ä×Óϵͳ£¬ÎªÏÂһƪ³¤ÎÄ¡¶·þÎñÆ÷³ÌÐòÖеÄÈÕÆÚÓëʱ¼ä¡·×ö×¼±¸£¬ÎÞÒâÖÐ×¢Òâµ½ÁË Linux
ÐÂÔöµÄ¼¸¸öϵͳµ÷ÓõĶԱàд·þÎñÆ÷´úÂëµÄÓ°Ï죬ÏÈ´óּǼÔÚÕâÀï¡£ÕâÆª²©¿ÍÒ²¿ÉËã×÷ǰһƪ¡¶¶àÏß
³Ì·þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·
µÄÒ»¸ö×¢½Å¡£
< type="te ......
ÏÈÓÃwhoÃüÁî²é¿´ËùÓеǽÖÕ¶Ë
#who -uH
Êä³öÈçÏ£º
NAME LINE TIME IDLE PID COMMENT
root :0 2010-03-01 19:13 ? & ......
¡ð
¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚ
Linux
µÄ
2.6.10
ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔ
Linux
Device
Driver3
ÌṩµÄ
scull
³ÌÐò
(scull
Ŀ¼ÖеÄ
main.c
ºÍ
scull.h)
Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬
module_init( )
ºÍ
module_exit(
)
ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж ......
±¾ÀýÊÇ·ë¹ú½øµÄ ¡¶Ç¶ÈëʽLinux Çý¶¯³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡·µÄµÚÒ»¸öÀý×Ó
¸Ð¾õÕæÊǺÃÊé Ç¿ÁÒÍÆ¼ö
×¢ÊÍÊÇdeep_pro¼ÓµÄ ×ªÔØÇë×¢Ã÷£¡ÎÒµÄÌØµãÊÇÎIJ»¼Óµã£¡
Õâ¸öÇý¶¯ÊÇÔÚÄÚ´æÖзÖÅäÒ»¸ö256×ֽڵĿռ䣬¹©Óû§Ì¬Ó¦ÓóÌÐò¶Áд¡£
ÏÈÊÇÍ·Îļþ demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioct ......