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