删除Linux内核中的列表头

时间:2018-11-28 18:54:55

标签: c linked-list linux-kernel

我们正在开发内核设备。设备中有一个列表可以保存消息。我们要删除列表的开头。代码的相关部分如下:

设备消息和设备结构:

typedef struct dev_message
{
    char *data;
    int *message_count;
    struct list_head list;
}device_message;


typedef struct queue_dev
{
    device_message *message_head;
    struct semaphore sem;
    struct cdev cdev;
}queue_device;

添加到列表的开头是

INIT_LIST_HEAD(&(dev->message_head->list));

并添加其他条目是通过

完成的
list_add_tail(&newMsg->list,&dev->message_head->list);

我们可以删除列表的每个元素,但列表头除外。我们如何删除列表的唯一标题? 真诚的

0 个答案:

没有答案