1e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#ifndef _PERF_LINUX_TYPES_H_ 2e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define _PERF_LINUX_TYPES_H_ 3e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 4e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include <asm/types.h> 5e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 6e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#ifndef __bitwise 7e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define __bitwise 8e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#endif 9e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 10e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#ifndef __le32 11e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengtypedef __u32 __bitwise __le32; 12e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#endif 13e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 14e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define DECLARE_BITMAP(name,bits) \ 15e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng unsigned long name[BITS_TO_LONGS(bits)] 16e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 17e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct list_head { 18e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng struct list_head *next, *prev; 19e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}; 20e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 21e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct hlist_head { 22e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng struct hlist_node *first; 23e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}; 24e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 25e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct hlist_node { 26e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng struct hlist_node *next, **pprev; 27e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng}; 28e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 29e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#endif 30