Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F144456932
lockf.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
lockf.h
View Options
/*
* Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Scooter Morris at Genentech Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)lockf.h 8.1 (Berkeley) 6/11/93
* $Id: lockf.h,v 1.7 1997/02/22 09:45:31 peter Exp $
*/
#ifndef _SYS_LOCKF_H_
#define _SYS_LOCKF_H_
/*
* The lockf structure is a kernel structure which contains the information
* associated with a byte range lock. The lockf structures are linked into
* the inode structure. Locks are sorted by the starting byte of the lock for
* efficiency.
*/
TAILQ_HEAD
(
locklist
,
lockf
);
struct
lockf
{
short
lf_flags
;
/* Semantics: F_POSIX, F_FLOCK, F_WAIT */
short
lf_type
;
/* Lock type: F_RDLCK, F_WRLCK */
off_t
lf_start
;
/* Byte # of the start of the lock */
off_t
lf_end
;
/* Byte # of the end of the lock (-1=EOF) */
caddr_t
lf_id
;
/* Id of the resource holding the lock */
struct
lockf
**
lf_head
;
/* Back pointer to the head of the locf list */
struct
inode
*
lf_inode
;
/* Back pointer to the inode */
struct
lockf
*
lf_next
;
/* Pointer to the next lock on this inode */
struct
locklist
lf_blkhd
;
/* List of requests blocked on this lock */
TAILQ_ENTRY
(
lockf
)
lf_block
;
/* A request waiting for a lock */
};
/* Maximum length of sleep chains to traverse to try and detect deadlock. */
#define MAXDEPTH 50
int
lf_advlock
__P
((
struct
vop_advlock_args
*
,
struct
lockf
**
,
u_quad_t
));
#ifdef LOCKF_DEBUG
void
lf_print
__P
((
char
*
,
struct
lockf
*
));
void
lf_printlist
__P
((
char
*
,
struct
lockf
*
));
#endif
#endif
/* !_SYS_LOCKF_H_ */
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sun, Mar 29, 1:36 PM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28214595
Default Alt Text
lockf.h (3 KB)
Attached To
Mode
rG FreeBSD src repository
Attached
Detach File
Event Timeline
Log In to Comment