Viewing file: lockdev.h (2.19 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * lockdev.h * (c) 1997, 1999 by Fabrizio Polacco <fpolacco@debian.org> * this source program is part of the liblockdev library. * * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License (LGPL) as published by the Free Software Foundation; * version 2.1 dated February 1999. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General * Public License (LGPL) along with this program; if not, write * to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * On Debian GNU/Linux systems, the complete text of the * GNU Library General Public License can be found in * `/usr/share/common-licenses/LGPL'. * * * * This library provides a stable way to lock devices on a Linux or * Unix system, both following FSSTND 1.2 and SVr4 device locking * methods, and it's built to be portable and to avoid conflicts * with other programs. * It is highly reccommended that all programs that needs to lock a * device (or test if it is locked), call the functions defined in * the public interface of this library. * */
#ifndef _LOCKDEV_H_ #define _LOCKDEV_H_
#ifdef __cplusplus extern "C" { #endif
#ifndef __P # if defined (__STDC__) || defined (_AIX) \ || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ || defined(WIN32) || defined(__cplusplus) # define __P(protos) protos # else # define __P(protos) () # endif #endif
#include <sys/types.h> #include <errno.h>
/* API of the library */
void liblockdev_incr_debug __P(()); void liblockdev_reset_debug __P(());
pid_t dev_getpid __P(( void )); pid_t dev_setpid __P(( pid_t pid ));
pid_t dev_testlock __P(( const char * devname));
pid_t dev_lock __P(( const char * devname));
pid_t dev_relock __P(( const char * devname, const pid_t old_pid));
pid_t dev_unlock __P(( const char * devname, const pid_t pid));
#ifdef __cplusplus }; #endif
#endif /* _LOCKDEV_H_ */
|