static int parseattrstat(const u_int32_t *dp, int verbose, int v3) { int er; dp = parsestatus(dp, &er); if (dp == NULL) return (0); if (er) return (1); return (parsefattr(dp, verbose, v3) != NULL); }
static int parseattrstat(netdissect_options *ndo, const uint32_t *dp, int verbose, int v3) { u_int er; dp = parsestatus(ndo, dp, &er); if (dp == NULL) return (0); if (er) return (1); return (parsefattr(ndo, dp, verbose, v3) != NULL); }
/* * Post operation attributes are printed if vflag >= 1 */ static const u_int32_t * parse_post_op_attr(const u_int32_t *dp, int verbose) { TCHECK(dp[0]); if (!EXTRACT_32BITS(&dp[0])) return (dp + 1); dp++; if (verbose) { return parsefattr(dp, verbose, 1); } else return (dp + (NFSX_V3FATTR / sizeof (u_int32_t))); trunc: return (NULL); }
/* * Post operation attributes are printed if vflag >= 1 */ static const uint32_t * parse_post_op_attr(netdissect_options *ndo, const uint32_t *dp, int verbose) { ND_TCHECK_4(dp); if (!EXTRACT_BE_U_4(dp)) return (dp + 1); dp++; if (verbose) { return parsefattr(ndo, dp, verbose, 1); } else return (dp + (NFSX_V3FATTR / sizeof (uint32_t))); trunc: return (NULL); }
static int parsediropres(const u_int32_t *dp) { int er; if (!(dp = parsestatus(dp, &er))) return (0); if (er) return (1); dp = parsefh(dp, 0); if (dp == NULL) return (0); return (parsefattr(dp, vflag, 0) != NULL); }
static int parsediropres(netdissect_options *ndo, const uint32_t *dp) { u_int er; if (!(dp = parsestatus(ndo, dp, &er))) return (0); if (er) return (1); dp = parsefh(ndo, dp, 0); if (dp == NULL) return (0); return (parsefattr(ndo, dp, ndo->ndo_vflag, 0) != NULL); }