fhandle
typedef int (__sys_lgetfh_t)(const char *, struct fhandle *);
typedef int (__sys_getfh_t)(const char *, struct fhandle *);
typedef int (__sys_fhopen_t)(const struct fhandle *, int);
struct fhandle;
typedef int (__sys_fhstat_t)(const struct fhandle *, struct stat *);
typedef int (__sys_fhstatfs_t)(const struct fhandle *, struct statfs *);
typedef int (__sys_getfhat_t)(int, char *, struct fhandle *, int);
typedef int (__sys_fhlink_t)(struct fhandle *, const char *);
typedef int (__sys_fhlinkat_t)(struct fhandle *, int, const char *);
typedef int (__sys_fhreadlink_t)(struct fhandle *, char *, size_t);
int __sys_lgetfh(const char * fname, struct fhandle * fhp);
int __sys_getfh(const char * fname, struct fhandle * fhp);
int __sys_fhopen(const struct fhandle * u_fhp, int flags);
int __sys_fhstat(const struct fhandle * u_fhp, struct stat * sb);
int __sys_fhstatfs(const struct fhandle * u_fhp, struct statfs * buf);
int __sys_getfhat(int fd, char * path, struct fhandle * fhp, int flags);
int __sys_fhlink(struct fhandle * fhp, const char * to);
int __sys_fhlinkat(struct fhandle * fhp, int tofd, const char * to);
int __sys_fhreadlink(struct fhandle * fhp, char * buf, size_t bufsize);
struct fhandle fh;
struct fhandle fh;
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
struct fhandle fh;
const struct fhandle *u_fhp;
kern_fhopen(struct thread *td, const struct fhandle *u_fhp, int flags)
struct fhandle fhp;
struct fhandle *u_fhp;
struct fhandle fh;
kern_fhstat(struct thread *td, struct fhandle fh, struct stat *sb)
struct fhandle *u_fhp;
struct fhandle *u_fhp;
int fhlink(struct fhandle *, const char *);
int fhlinkat(struct fhandle *, int, const char *);
int fhopen(const struct fhandle *, int);
int fhreadlink(struct fhandle *, char *, size_t);
int fhstat(const struct fhandle *, struct stat *);
int fhstatfs(const struct fhandle *, struct statfs *);
int getfhat(int, char *, struct fhandle *, int);
typedef struct fhandle fhandle_t;
int kern_fhopen(struct thread *td, const struct fhandle *u_fhp, int flags);
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
struct file_handle* fhandle = (struct file_handle*)malloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
fhandle->handle_bytes = MAX_HANDLE_SZ;
EXPECT_OK(name_to_handle_at(dir, "cap_openbyhandle_testfile", fhandle, &mount_id, 0));
fd = open_by_handle_at(dir, fhandle, O_RDONLY);
EXPECT_CAPMODE(open_by_handle_at(dir, fhandle, O_RDONLY));