Lines Matching +defs:a +defs:f
71 * after a macro.
77 #define nfsm_build(a,c,s) \
89 (a) = (c)(bpos); \
95 #define nfsm_dissect(a, c, s) \
98 (a) = (c)(dpos); \
105 (a) = (c)cp2; \
127 #define nfsm_srvfhtom(f, v3) \
130 NFSRVFH_SIZE(f)); \
131 *tl++ = txdr_unsigned(NFSRVFH_SIZE(f)); \
132 memcpy(tl, NFSRVFH_DATA(f), NFSRVFH_SIZE(f)); \
134 KASSERT(NFSRVFH_SIZE(f) == NFSX_V2FH); \
136 memcpy(cp, NFSRVFH_DATA(f), NFSX_V2FH); \
139 #define nfsm_srvpostop_fh(f) \
141 2 * NFSX_UNSIGNED + NFSRVFH_SIZE(f)); \
143 *tl++ = txdr_unsigned(NFSRVFH_SIZE(f)); \
144 memcpy(tl, NFSRVFH_DATA(f), NFSRVFH_SIZE(f)); \
148 * nfsm_mtofh: dissect a "resulted obj" part of create-like operations
157 * f: (OUT) true if we got valid filehandle. always true for nfsv2.
160 #define nfsm_mtofh(d, v, v3, f) \
165 (f) = fxdr_unsigned(int, *tl); \
167 (f) = 1; \
170 if (f) { \
182 if (f) \
187 if (f && hasattr) \
192 * nfsm_getfh: dissect a filehandle.
194 * f: (OUT) a filehandle.
199 #define nfsm_getfh(f, s, v3) \
210 nfsm_dissect((f), nfsfh_t *, nfsm_rndup(s)); }
212 #define nfsm_loadattr(v, a, flags) \
214 if ((t1 = nfsm_loadattrcache(&ttvp, &md, &dpos, (a), (flags))) \
225 * dissect post_op_attr. if we got a one,
229 * f: (OUT) true if we got valid attribute
233 #define nfsm_postop_attr(v, f, flags) \
236 if (((f) = fxdr_unsigned(int, *tl)) != 0) { \
240 (f) = 0; \
253 * f: (IN/OUT)
261 /* Used as (f) for nfsm_wcc_data() */
265 #define nfsm_wcc_data(v, f, flags, docheck) \
282 if (f) { \
297 if (f) { \
298 (f) = ttretf; \
300 (f) = ttattrf; \
304 #define nfsm_v3attrbuild(a, full) \
305 { if ((a)->va_mode != (mode_t)VNOVAL) { \
308 *tl = txdr_unsigned((a)->va_mode); \
313 if ((full) && (a)->va_uid != (uid_t)VNOVAL) { \
316 *tl = txdr_unsigned((a)->va_uid); \
321 if ((full) && (a)->va_gid != (gid_t)VNOVAL) { \
324 *tl = txdr_unsigned((a)->va_gid); \
329 if ((full) && (a)->va_size != VNOVAL) { \
332 txdr_hyper((a)->va_size, tl); \
337 if ((a)->va_atime.tv_sec != VNOVAL) { \
338 if ((a)->va_atime.tv_sec != time_second) { \
341 txdr_nfsv3time(&(a)->va_atime, tl); \
350 if ((a)->va_mtime.tv_sec != VNOVAL) { \
351 if ((a)->va_mtime.tv_sec != time_second) { \
354 txdr_nfsv3time(&(a)->va_mtime, tl); \
398 #define nfsm_reqhead(n,a,s) \
399 mb = mreq = nfsm_reqh((n),(a),(s),&bpos)
404 #define nfsm_rndup(a) (((a)+3)&(~0x3))
405 #define nfsm_padlen(a) (nfsm_rndup(a) - (a))
418 #define nfsm_strtom(a,s,m) \
429 memcpy(tl, (const char *)(a), (s)); \
430 } else if ((t2 = nfsm_strtmbuf(&mb, &bpos, (a), (s))) != 0) { \
519 #define nfsm_srvfillattr(a, f) \
520 nfsm_srvfattr(nfsd, (a), (f))
522 #define nfsm_srvwcc_data(br, b, ar, a) \
523 nfsm_srvwcc(nfsd, (br), (b), (ar), (a), &mb, &bpos)
525 #define nfsm_srvpostop_attr(r, a) \
526 nfsm_srvpostopattr(nfsd, (r), (a), &mb, &bpos)
528 #define nfsm_srvsattr(a) \
533 (a)->va_mode = nfstov_mode(*tl); \
538 (a)->va_uid = fxdr_unsigned(uid_t, *tl); \
543 (a)->va_gid = fxdr_unsigned(gid_t, *tl); \
548 (a)->va_size = fxdr_hyper(tl); \
554 fxdr_nfsv3time(tl, &(a)->va_atime); \
557 getnanotime(&(a)->va_atime); \
558 (a)->va_vaflags |= VA_UTIMES_NULL; \
565 fxdr_nfsv3time(tl, &(a)->va_mtime); \
566 (a)->va_vaflags &= ~VA_UTIMES_NULL; \
569 getnanotime(&(a)->va_mtime); \
570 (a)->va_vaflags |= VA_UTIMES_NULL; \