gpt4 book ai didi

c - 包括/net/sch_generic.h :199: error: expected specifier-qualifier-list before ‘psched_time_t’

转载 作者:行者123 更新时间:2023-11-30 18:04:15 26 4
gpt4 key购买 nike

您好,我在下面的结构中定义的 psched_time_t 遇到问题,它给出了标识符预期错误,我认为当不包含相应的头文件并且我确实包含它时,会发生错误,即 #include 并在此文件中声明 psched_time_t。那么我做错了什么?请帮忙

     #ifndef __NET_SCHED_GENERIC_H
#define __NET_SCHED_GENERIC_H

#include <linux/netdevice.h>
#include <linux/types.h>
#include <linux/rcupdate.h>
#include <linux/module.h>
#include <linux/pkt_sched.h>
#include <linux/pkt_cls.h>
#include <net/gen_stats.h>
#include <net/rtnetlink.h>


struct agg_queue {
__be32 dest;
__u32 currSize;
__u32 maxSize;
psched_time_t timestamp; //this is where the error is
struct agg_queue *next;
struct sk_buff_head skb_head;

};

下面的文件是 net/pkt_sched.h,其中定义了 psched_time_t:

#ifndef __NET_PKT_SCHED_H
#define __NET_PKT_SCHED_H
#include <linux/jiffies.h>
#include <linux/ktime.h>
#include <net/sch_generic.h>

struct qdisc_walker {
int stop;
int skip;
int count;
int (*fn)(struct Qdisc *, unsigned long cl, struct qdisc_walker *);

};

#define QDISC_ALIGNTO           64
#define QDISC_ALIGN(len) (((len) + QDISC_ALIGNTO-1) & ~(QDISC_ALIGNTO-1))

static inline void *qdisc_priv(struct Qdisc *q)
{
return (char *) q + QDISC_ALIGN(sizeof(struct Qdisc));
}

typedef u64 psched_time_t;
typedef long psched_tdiff_t;

/* Avoid doing 64 bit divide */
#define PSCHED_SHIFT 6
#define PSCHED_TICKS2NS(x) ((s64)(x) << PSCHED_SHIFT)
#define PSCHED_NS2TICKS(x) ((x) >> PSCHED_SHIFT)

#define PSCHED_TICKS_PER_SEC PSCHED_NS2TICKS(NSEC_PER_SEC)
#define PSCHED_PASTPERFECT 0

static inline psched_time_t psched_get_time(void)
{
return PSCHED_NS2TICKS(ktime_to_ns(ktime_get()));
}

最佳答案

我看到一些#ifdefs/#ifndefs,但没有看到#endif。如您所知,前者需要后者之一。在需要的地方添加#endifs,您将取得更进一步的进展。

编辑:问题不在于 psched_time_t ,而是如错误消息所示,出现在该行之前的某些内容。那么 maxSize 是在哪里定义的呢?

关于c - 包括/net/sch_generic.h :199: error: expected specifier-qualifier-list before ‘psched_time_t’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7724493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com