Logo Search packages:      
Sourcecode: unionfs version File versions  Download package

compat24.h

/*
 * Copyright (c) 2003-2005 Erez Zadok
 * Copyright (c) 2003-2005 Charles P. Wright
 * Copyright (c) 2005      Arun M. Krishnakumar
 * Copyright (c) 2005      David P. Quigley
 * Copyright (c) 2003-2004 Mohammad Nayyer Zubair
 * Copyright (c) 2003-2003 Puja Gupta
 * Copyright (c) 2003-2003 Harikesavan Krishnan
 * Copyright (c) 2003-2005 Stony Brook University
 * Copyright (c) 2003-2005 The Research Foundation of State University of New York
 *
 * For specific licensing information, see the COPYING file distributed with
 * this package.
 *
 * This Copyright notice must be kept intact and distributed with all sources.
 */
/*
 *  $Id: compat24.h,v 1.2 2005/08/09 17:57:56 cwright Exp $
 */

#ifndef COMPAT24_H
#define COMPAT24_H

#ifndef list_for_each_entry
/* This is stolen from 2.4.21 linux/list.h:223 */
#define list_for_each_entry(pos, head, member)                    \
      for (pos = list_entry((head)->next, typeof(*pos), member),  \
                 prefetch(pos->member.next);                \
           &pos->member != (head);                          \
           pos = list_entry(pos->member.next, typeof(*pos), member),    \
                 prefetch(pos->member.next))

#endif

#ifndef container_of
/**
 * container_of - cast a member of a structure out to the containing structure
 *
 * @ptr:    the pointer to the member.
 * @type:   the type of the container struct this is embedded in.
 * @member: the name of the member within the struct.
 *
 */
#define container_of(ptr, type, member) ({                  \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);      \
        (type *)( (char *)__mptr - offsetof(type,member) );})
#endif

#define DNAME_INLINE_LEN_MIN DNAME_INLINE_LEN

int vprintk(const char *fmt, va_list args);

#endif

Generated by  Doxygen 1.6.0   Back to index