110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** 210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @file opd_cookie.h 310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * cookie -> name cache 410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * 510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @remark Copyright 2002, 2005 OProfile authors 610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @remark Read the file COPYING 710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * 810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @author John Levon 910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */ 1010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#ifndef OPD_COOKIE_H 1210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define OPD_COOKIE_H 1310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projecttypedef unsigned long long cookie_t; 1510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define INVALID_COOKIE ~0LLU 1710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define NO_COOKIE 0LLU 1810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** 2010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Shift value to remove trailing zero on a dcookie value, 7 is sufficient 2110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * for most architecture 2210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */ 2310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define DCOOKIE_SHIFT 7 2410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 2510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** 2610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Return the name of the given dcookie. May return 2710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * NULL on failure. 2810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */ 2910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectchar const * find_cookie(cookie_t cookie); 3010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** return true if this cookie should be ignored */ 3210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectint is_cookie_ignored(cookie_t cookie); 3310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** give a textual description of the cookie */ 3510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectchar const * verbose_cookie(cookie_t cookie); 3610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectvoid cookie_init(void); 3810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif /* OPD_COOKIE_H */ 40