Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/namei.h
Show First 20 Lines • Show All 94 Lines • ▼ Show 20 Lines | struct nameidata { | ||||
u_int ni_loopcnt; /* count of symlinks encountered */ | u_int ni_loopcnt; /* count of symlinks encountered */ | ||||
/* | /* | ||||
* Lookup parameters: this structure describes the subset of | * Lookup parameters: this structure describes the subset of | ||||
* information from the nameidata structure that is passed | * information from the nameidata structure that is passed | ||||
* through the VOP interface. | * through the VOP interface. | ||||
*/ | */ | ||||
struct componentname ni_cnd; | struct componentname ni_cnd; | ||||
struct nameicap_tracker_head ni_cap_tracker; | struct nameicap_tracker_head ni_cap_tracker; | ||||
struct vnode *ni_beneath_latch; | |||||
}; | }; | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
/* | /* | ||||
* namei operations | * namei operations | ||||
*/ | */ | ||||
#define LOOKUP 0 /* perform name lookup only */ | #define LOOKUP 0 /* perform name lookup only */ | ||||
#define CREATE 1 /* setup for file creation */ | #define CREATE 1 /* setup for file creation */ | ||||
▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
#define NOCAPCHECK 0x20000000 /* do not perform capability checks */ | #define NOCAPCHECK 0x20000000 /* do not perform capability checks */ | ||||
#define PARAMASK 0x3ffffe00 /* mask of parameter descriptors */ | #define PARAMASK 0x3ffffe00 /* mask of parameter descriptors */ | ||||
/* | /* | ||||
* Flags in ni_lcf, valid for the duration of the namei call. | * Flags in ni_lcf, valid for the duration of the namei call. | ||||
*/ | */ | ||||
#define NI_LCF_STRICTRELATIVE 0x0001 /* relative lookup only */ | #define NI_LCF_STRICTRELATIVE 0x0001 /* relative lookup only */ | ||||
#define NI_LCF_CAP_DOTDOT 0x0002 /* ".." in strictrelative case */ | #define NI_LCF_CAP_DOTDOT 0x0002 /* ".." in strictrelative case */ | ||||
#define NI_LCF_BENEATH_ABS 0x0004 /* BENEATH with absolute path */ | |||||
#define NI_LCF_BENEATH_LATCHED 0x0008 /* BENEATH_ABS traversed starting dir */ | |||||
#define NI_LCF_LATCH 0x0010 /* ni_beneath_latch valid */ | |||||
/* | /* | ||||
* Initialization of a nameidata structure. | * Initialization of a nameidata structure. | ||||
*/ | */ | ||||
#define NDINIT(ndp, op, flags, segflg, namep, td) \ | #define NDINIT(ndp, op, flags, segflg, namep, td) \ | ||||
NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, 0, td) | NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, 0, td) | ||||
#define NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td) \ | #define NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td) \ | ||||
NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, 0, td) | NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, 0, td) | ||||
▲ Show 20 Lines • Show All 44 Lines • Show Last 20 Lines |