当前位置:  技术问答>linux和unix

求救。。。linux kernel 下的结构体使用问题。。。。

    来源: 互联网  发布时间:2016-05-12

    本文导语:  不行了。。。我的代码如下,请高手指教 * Implementation of a cut-through target for client.  *@author Ivan Lam   */   //#define __KERNEL__ //#define MODULE #include  #include  #include  #include  #include  //#include  #include  #include  #includ...

不行了。。。我的代码如下,请高手指教
* Implementation of a cut-through target for client.
 *@author Ivan Lam 
 */
 
//#define __KERNEL__
//#define MODULE

#include 
#include 
#include 
#include 
#include 
//#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


// Necessary because we use proc fs
//#include 
//#include 

// We scheduale tasks here
//#include 

// We also need a timer
//#include 

#include "test.h"
/*#include 
#include 
#include 
#include 
using namespace std;

static int debug=0;
module_param(debug, int, 0000);

static char *target_eth = "0"; // the interface to monitor
module_param(target_eth, charp, 0000);

/* System parameters */
MODULE_AUTHOR(AUTHOR);
MODULE_LICENSE("GPL"); // Just to avoid the taint message

/* Program vaiables */
// counters
static unsigned int packetInCount[MAX_INGRESS_IF] = {0};
static unsigned int packetInBytes[MAX_INGRESS_IF] = {0};
static unsigned int packetInDropCount[MAX_INGRESS_IF] = {0};
static unsigned int packetInDropBytes[MAX_INGRESS_IF] = {0};
static unsigned int packetOutCount[MAX_INGRESS_IF] = {0};
static unsigned int packetOutBytes[MAX_INGRESS_IF] = {0};
static unsigned int tablenumber = 0;

typedef struct ipdata
{
  unsigened char prot = "xx";//the protcol
  unsigened char *sradd = "xxxxxxxx";//the ip sourch address
  unsigened char *dtadd = "xxxxxxxx";//the ip destine address
  unsigened char *destport = "xxxx";//the destine port
  unsigened char *sourport = "xxxx";//the source port
}

typedef struct hashmember
{
    
struct ipdata netdata;// the data we need now
unsigned char counter = "xx";//the counter not used
unsigned char later ="xx";//the vector not used
int key = 0;//the key to found data
int length = 0;
struct hashmember *Next = 0;//the pointer to the next member

}



// For SMP, need locks

/*
 * print message to the screen
 * ref: http://tldp.org/LDP/lkmpg/2.6/html/x1161.html
 */

// hash table class.Include the fuction of search data, store data.The Remove fuction has not been finished since unused now.

static struct ipdata ipcontent;//the variable to read the data
static struct hashmember hmember;
static struct hashmember *Chashtable[251] = {0};//the member in the hashtable

bool FindValue(int key,struct ipdata &value)
{
bool ret = false;
int num = key % 251;
if(num>0)
{
hashmember *phe = Chashtable[num];
        while(phe)
{
if(phe->key = key)
{
value = phe ->netdata;
ret = true;
}
phe = phe->Next;
}
}
ALERT(0,"The value is d%",int(value->prot));
return ret;
}

bool Insert(int key,ipdata value)
{
bool ret = false;
int num = key % 251;
    if(num>0)
{
if(Chashtable[num])
{
hashmember *phe = Chashtable[num];
while(phe->Next)
{
phe = phe->Next;
}
phe->Next = new hashmember;
phe->Next->Next = 0;
phe->Next->key = key;
phe->Next->netdata = value;
ret = true;

}
else
{
Chashtable[num] = new hashmember;
Chashtable[num]->Next = 0;
Chashtable[num]->key = key;
Chashtable[num]->netdata = value;
ret = true;
}
}
return ret;
}

钩子函数的部分就不写了问题应该不再那。这部分我一旦编译就说我结构体出错,编译错误如下:
home/reyesbear/test.c:74: error: expected specifier-qualifier-list before â€˜unsigened’
/home/reyesbear/test.c:79: warning: useless storage class specifier in empty declaration
/home/reyesbear/test.c:85: error: expected â€˜:’, â€˜,’, â€˜;’, â€˜}’ or â€˜__attribute__’ before â€˜=’ token
/home/reyesbear/test.c:91: warning: useless storage class specifier in empty declaration
/home/reyesbear/test.c:108: error: expected â€˜;’, â€˜,’ or â€˜)’ before â€˜&’ token
/home/reyesbear/test.c:129: error: expected declaration specifiers or â€˜...’ before â€˜ipdata’
/home/reyesbear/test.c: In function â€˜Insert’:
/home/reyesbear/test.c:137: error: â€˜hashmember’ undeclared (first use in this function)
/home/reyesbear/test.c:137: error: (Each undeclared identifier is reported only once
/home/reyesbear/test.c:137: error: for each function it appears in.)
/home/reyesbear/test.c:137: error: â€˜phe’ undeclared (first use in this function)
/home/reyesbear/test.c:142: error: â€˜new’ undeclared (first use in this function)
/home/reyesbear/test.c:142: error: expected â€˜;’ before â€˜hashmember’
/home/reyesbear/test.c:145: error: â€˜value’ undeclared (first use in this function)
/home/reyesbear/test.c:151: error: expected â€˜;’ before â€˜hashmember’
/home/reyesbear/test.c:152: error: â€˜struct hashmember’ has no member named â€˜Next’
/home/reyesbear/test.c:153: error: â€˜struct hashmember’ has no member named â€˜key’
/home/reyesbear/test.c: At top level:
/home/reyesbear/test.c:166: error: expected â€˜)’ before â€˜data’
/home/reyesbear/test.c: In function â€˜hook_main’

有人能够指教吗?主要错误都是结构体的使用上,我觉得我没错啊,改了好多种申明方式了,谢谢。

|
你struct name {}的方式定义结构,使用结构的时候就定义变量的时候就要用关键字struct如struc name variable;
typedef struct {} name;定义,定义变量的时候就可直接使用name variable;

    
 
 

您可能感兴趣的文章:

  • 求救:关于结构体数据长度的补位问题
  • 求救!!!!关于(数据结构(java版)王国瑜/叶乃菁 编著)
  • 求救,难题,考验大家在网络结构和Ubuntu Server配置上的综合能力
  • 求救,关于at命令的使用?
  • grep 的使用(100分求救)
  • 求救SSH的使用
  • 高分求救怎样使用libnet实现TCP的封堵技术!!!!
  • 求救:高手请进: 使用 qsort()涵数时 core dump 阿?
  • 紧急求救busybox的使用问题!
  • 求救(ftp的使用)!
  • 求救:关于在BSD下如何通过文件路径使用核内函数获得文件句柄?
  • 使用RedHat Enterprise 5.5连接校园网的问题,求救!!!
  • 高手求救,在windows下访问linux服务器时使用如\192.168.100.1,但是访问失败,问在linux上要怎么设置啊
  • 求救!怎么在Solaris9上安装gcc(以前安装的CC过期了,不能使用编译器安装)
  • 求救JSP画图,可与html格式同时使用吗?
  • 在Servlet中使用Jdbc-odbc连接access数据库,为什么模糊查询查不出记录啊,求救!!
  • 新手第一次使用ubuntu11.04,求救……
  • 菜鸟求救:在linux下安装jdk失败。初次使用linux,还请各路大虾指点指点,不甚感激!!!
  • 求救:修改fstab后不能启动了!可以使用single模式,但是显示file system是read-only!而且vi时显示unable to open swap file
  • objdump 使用求救
  • 高分求救,linux下的动态链接库使用
  • 紧急求救:HP UNIX环境下使用CPPUNIT之疑问
  • [高分求救]怎么使用剪切板来进行图片的存入和取出?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3