⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.h

📁 带SD卡的LINUX根文件系统. 在ARM上应用
💻 H
字号:
/* * JFFS2 -- Journalling Flash File System, Version 2. * * Copyright (C) 2002 Red Hat, Inc. * * Created by Jonathan Larmour <jlarmour@redhat.com> *  * For licensing information, see the file 'LICENCE' in this directory. * * $Id: list.h,v 1.1 2002/07/11 10:55:30 dwmw2 Exp $ * */#ifndef CYGONCE_FS_JFFS2_LIST_H#define CYGONCE_FS_JFFS2_LIST_H/* -----------------------------------------------------------------------*//* Doubly linked list implementation to replace the GPL'd one used in   the Linux kernel. */#include <stddef.h>#include <cyg/infra/cyg_type.h>/* TYPES */struct list_head {    struct list_head *next;    struct list_head *prev;};/* MACROS */#define INIT_LIST_HEAD( _list_ )              \CYG_MACRO_START                               \(_list_)->next = (_list_)->prev = (_list_);   \CYG_MACRO_END/* FUNCTIONS *//* Insert an entry _after_ the specified entry */static __inline__ voidlist_add( struct list_head *newent, struct list_head *afterthisent ){    struct list_head *next = afterthisent->next;    newent->next = next;    newent->prev = afterthisent;    afterthisent->next = newent;    next->prev = newent;} /* list_add() *//* Insert an entry _before_ the specified entry */static __inline__ voidlist_add_tail( struct list_head *newent, struct list_head *beforethisent ){    struct list_head *prev = beforethisent->prev;    newent->prev = prev;    newent->next = beforethisent;    beforethisent->prev = newent;    prev->next = newent;} /* list_add_tail() *//* Delete the specified entry */static __inline__ voidlist_del( struct list_head *ent ){    ent->prev->next = ent->next;    ent->next->prev = ent->prev;} /* list_del() *//* Is this list empty? */static __inline__ intlist_empty( struct list_head *list ){    return ( list->next == list );} /* list_empty() *//* list_entry - Assuming you have a struct of type _type_ that contains a   list which has the name _member_ in that struct type, then given the   address of that list in the struct, _list_, this returns the address   of the container structure */#define list_entry( _list_, _type_, _member_ ) \    ((_type_ *)((char *)(_list_)-(char *)(offsetof(_type_,_member_))))/* list_for_each - using _ent_, iterate through list _list_ */#define list_for_each( _ent_, _list_ )   \    for ( (_ent_) = (_list_)->next;      \    (_ent_) != (_list_);                 \    (_ent_) = (_ent_)->next )/* -----------------------------------------------------------------------*/#endif /* #ifndef CYGONCE_FS_JFFS2_LIST_H *//* EOF list.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -