X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..5c9f46613a83ebfc29a5b1f099448259e96a98f0:/bsd/sys/lockf.h?ds=sidebyside diff --git a/bsd/sys/lockf.h b/bsd/sys/lockf.h index f5f8ad03a..e20bf8733 100644 --- a/bsd/sys/lockf.h +++ b/bsd/sys/lockf.h @@ -73,6 +73,11 @@ struct vnode; MALLOC_DECLARE(M_LOCKF); #endif +#if IMPORTANCE_INHERITANCE +#define LF_NOT_BOOSTED 0 +#define LF_BOOSTED 1 +#endif /* IMPORTANCE_INHERITANCE */ + /* * The lockf structure is a kernel structure which contains the information * associated with a byte range lock. The lockf structures are linked into @@ -95,6 +100,10 @@ struct lockf { 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 */ +#if IMPORTANCE_INHERITANCE + int lf_boosted; /* Is the owner of the lock boosted */ +#endif + struct proc *lf_owner; /* The proc that did the SETLK, if known */ }; #pragma pack() @@ -104,14 +113,17 @@ struct lockf { __BEGIN_DECLS +#ifdef KERNEL_PRIVATE int lf_advlock(struct vnop_advlock_args *); int lf_assert(struct vnop_advlock_args *, void **); void lf_commit(void *, int); +void lf_abort_advlocks(vnode_t); #ifdef LOCKF_DEBUG void lf_print(char *, struct lockf *); void lf_printlist(char *, struct lockf *); #endif +#endif /* KERNEL_PRIVATE */ __END_DECLS