2 * UNFS3 low-level filehandle routines
3 * (C) 2004, Pascal Schmidt
4 * see file LICENSE for license details
12 /* minimum length of complete filehandle */
15 /* maximum depth of pathname described by filehandle */
16 #define FH_MAXLEN (64 - FH_MINLEN)
25 unsigned char inos[FH_MAXLEN];
26 } __attribute__((packed)) unfs3_fh_t;
35 unsigned char inos[FH_MAXLEN];
43 #define FD_NONE (-1) /* used for get_gen */
45 extern int st_cache_valid; /* stat value is valid */
46 extern backend_statstruct st_cache; /* cached stat value */
48 uint32 get_gen(backend_statstruct obuf, int fd, const char *path);
50 int nfh_valid(nfs_fh3 fh);
51 int fh_valid(unfs3_fh_t fh);
53 unfs3_fh_t fh_comp_raw(const char *path, struct svc_req *rqstp, int need_dir);
54 u_int fh_length(const unfs3_fh_t *fh);
56 unfs3_fh_t *fh_extend(nfs_fh3 fh, uint32 dev, uint64 ino, uint32 gen);
57 post_op_fh3 fh_extend_post(nfs_fh3 fh, uint32 dev, uint64 ino, uint32 gen);
58 post_op_fh3 fh_extend_type(nfs_fh3 fh, const char *path, unsigned int type);
60 char *fh_decomp_raw(const unfs3_fh_t *fh);