110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** 210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @file op_lockfile.h 310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * PID-based lockfile management 410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * 510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @remark Copyright 2002 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 * @author Philippe Elie 1010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */ 1110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#ifndef OP_LOCKFILE_H 1310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define OP_LOCKFILE_H 1410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#ifdef __cplusplus 1610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectextern "C" { 1710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif 1810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 1910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#include <sys/types.h> 2010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 2110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/** 2210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * op_write_lock_file - write a lock file 2310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * \return errno on failure, or 0 on success 2410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * 2510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Write the pid into the given lock file. Stale 2610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * lock files are detected and reset. 2710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */ 2810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Projectint op_write_lock_file(char const * file); 2910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#ifdef __cplusplus 3110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project} 3210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif 3310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project 3410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif /* OP_LOCKFILE_H */ 35