Lines Matching refs:xb

1045 	struct xdrbuf xb;
1108 xb_init_buffer(&xb, NULL, 0);
1109 xb_add_32(error, &xb, NFS_ARGSVERSION_XDR);
1110 argslength_offset = xb_offset(&xb);
1111 xb_add_32(error, &xb, 0); // args length
1112 xb_add_32(error, &xb, NFS_XDRARGS_VERSION_0);
1113 xb_add_bitmap(error, &xb, mattrs, NFS_MATTR_BITMAP_LEN);
1114 attrslength_offset = xb_offset(&xb);
1115 xb_add_32(error, &xb, 0); // attrs length
1116 xb_add_32(error, &xb, ndmntp->ndm_nfsv3 ? 3 : 2); // NFS version
1117 xb_add_string(error, &xb, ((ndmntp->ndm_sotype == SOCK_DGRAM) ? "udp" : "tcp"), 3);
1118 xb_add_32(error, &xb, ntohs(ndmntp->ndm_saddr.sin_port)); // NFS port
1119 xb_add_fh(error, &xb, &ndmntp->ndm_fh[0], ndmntp->ndm_fhlen);
1121 xb_add_32(error, &xb, 1); /* fs location count */
1122 xb_add_32(error, &xb, 1); /* server count */
1123 xb_add_string(error, &xb, ndmntp->ndm_mntfrom, (endserverp - ndmntp->ndm_mntfrom)); /* server name */
1124 xb_add_32(error, &xb, 1); /* address count */
1125 xb_add_string(error, &xb, uaddr, strlen(uaddr)); /* address */
1126 xb_add_32(error, &xb, 0); /* empty server info */
1127 xb_add_32(error, &xb, numcomps); /* pathname component count */
1135 xb_add_string(error, &xb, cp, (p - cp)); /* component */
1141 xb_add_32(error, &xb, 0); /* empty fsl info */
1142 xb_add_32(error, &xb, mntflag); /* MNT flags */
1143 xb_build_done(error, &xb);
1146 end_offset = xb_offset(&xb);
1148 error = xb_seek(&xb, argslength_offset);
1149 xb_add_32(error, &xb, end_offset - argslength_offset + XDRWORD/*version*/);
1152 error = xb_seek(&xb, attrslength_offset);
1153 xb_add_32(error, &xb, end_offset - attrslength_offset - XDRWORD/*don't include length field*/);
1157 xb_cleanup(&xb);
1161 xdrbuf = xb_buffer_base(&xb);
1162 xb.xb_flags &= ~XB_CLEANUP;
1180 xb_cleanup(&xb);
1206 struct xdrbuf xb;
1212 xb_init(&xb, 0);
1369 xb_init_buffer(&xb, NULL, 0);
1370 xb_add_32(error, &xb, NFS_ARGSVERSION_XDR);
1371 argslength_offset = xb_offset(&xb);
1372 xb_add_32(error, &xb, 0); // args length
1373 xb_add_32(error, &xb, NFS_XDRARGS_VERSION_0);
1374 xb_add_bitmap(error, &xb, mattrs, NFS_MATTR_BITMAP_LEN);
1375 attrslength_offset = xb_offset(&xb);
1376 xb_add_32(error, &xb, 0); // attrs length
1377 xb_add_32(error, &xb, ndmntp->ndm_nfsv3 ? 3 : 2); // NFS version
1378 xb_add_string(error, &xb, ((ndmntp->ndm_sotype == SOCK_DGRAM) ? "udp" : "tcp"), 3);
1379 xb_add_32(error, &xb, ntohs(ndmntp->ndm_saddr.sin_port)); // NFS port
1380 xb_add_fh(error, &xb, &ndmntp->ndm_fh[0], ndmntp->ndm_fhlen);
1382 xb_add_32(error, &xb, 1); /* fs location count */
1383 xb_add_32(error, &xb, 1); /* server count */
1384 xb_add_string(error, &xb, ndmntp->ndm_mntfrom, (endserverp - ndmntp->ndm_mntfrom)); /* server name */
1385 xb_add_32(error, &xb, 1); /* address count */
1386 xb_add_string(error, &xb, uaddr, strlen(uaddr)); /* address */
1387 xb_add_32(error, &xb, 0); /* empty server info */
1388 xb_add_32(error, &xb, numcomps); /* pathname component count */
1396 xb_add_string(error, &xb, cp, (p - cp)); /* component */
1402 xb_add_32(error, &xb, 0); /* empty fsl info */
1403 xb_add_32(error, &xb, mntflag); /* MNT flags */
1404 xb_build_done(error, &xb);
1407 end_offset = xb_offset(&xb);
1409 error = xb_seek(&xb, argslength_offset);
1410 xb_add_32(error, &xb, end_offset - argslength_offset + XDRWORD/*version*/);
1413 error = xb_seek(&xb, attrslength_offset);
1414 xb_add_32(error, &xb, end_offset - attrslength_offset - XDRWORD/*don't include length field*/);
1421 xdrbuf = xb_buffer_base(&xb);
1422 xb.xb_flags &= ~XB_CLEANUP;
1442 xb_cleanup(&xb);
1466 struct xdrbuf xb;
1693 xb_init_buffer(&xb, NULL, 0);
1694 xb_add_32(error, &xb, args.version);
1695 argslength_offset = xb_offset(&xb);
1696 xb_add_32(error, &xb, 0); // args length
1697 xb_add_32(error, &xb, NFS_XDRARGS_VERSION_0);
1698 xb_add_bitmap(error, &xb, mattrs, NFS_MATTR_BITMAP_LEN);
1699 attrslength_offset = xb_offset(&xb);
1700 xb_add_32(error, &xb, 0); // attrs length
1701 xb_add_bitmap(error, &xb, mflags_mask, NFS_MFLAG_BITMAP_LEN); /* mask */
1702 xb_add_bitmap(error, &xb, mflags, NFS_MFLAG_BITMAP_LEN); /* value */
1703 xb_add_32(error, &xb, nfsvers);
1705 xb_add_32(error, &xb, args.rsize);
1707 xb_add_32(error, &xb, args.wsize);
1709 xb_add_32(error, &xb, args.readdirsize);
1711 xb_add_32(error, &xb, args.readahead);
1713 xb_add_32(error, &xb, args.acregmin);
1714 xb_add_32(error, &xb, 0);
1717 xb_add_32(error, &xb, args.acregmax);
1718 xb_add_32(error, &xb, 0);
1721 xb_add_32(error, &xb, args.acdirmin);
1722 xb_add_32(error, &xb, 0);
1725 xb_add_32(error, &xb, args.acdirmax);
1726 xb_add_32(error, &xb, 0);
1729 xb_add_32(error, &xb, nfslockmode);
1736 xb_add_word_array(error, &xb, flavors, i);
1739 xb_add_32(error, &xb, args.maxgrouplist);
1741 xb_add_string(error, &xb, ((args.sotype == SOCK_DGRAM) ? "udp" : "tcp"), 3);
1743 xb_add_32(error, &xb, ((ss.ss_family == AF_INET) ?
1749 xb_add_32(error, &xb, args.timeo/10);
1750 xb_add_32(error, &xb, (args.timeo%10)*100000000);
1753 xb_add_32(error, &xb, args.retrans);
1755 xb_add_32(error, &xb, args.deadtimeout);
1756 xb_add_32(error, &xb, 0);
1759 xb_add_fh(error, &xb, &nfh[0], args.fhsize);
1761 xb_add_32(error, &xb, 1); /* fs location count */
1762 xb_add_32(error, &xb, 1); /* server count */
1763 xb_add_string(error, &xb, mntfrom, (endserverp - mntfrom)); /* server name */
1764 xb_add_32(error, &xb, 1); /* address count */
1765 xb_add_string(error, &xb, uaddr, strlen(uaddr)); /* address */
1766 xb_add_32(error, &xb, 0); /* empty server info */
1767 xb_add_32(error, &xb, numcomps); /* pathname component count */
1776 xb_add_string(error, &xb, cp, (p - cp)); /* component */
1781 xb_add_32(error, &xb, 0); /* empty fsl info */
1784 xb_add_32(error, &xb, (vfs_flags(mp) & MNT_VISFLAGMASK)); /* VFS MNT_* flags */
1786 xb_add_string(error, &xb, mntfrom, strlen(mntfrom)); /* fixed f_mntfromname */
1787 xb_build_done(error, &xb);
1790 end_offset = xb_offset(&xb);
1791 error = xb_seek(&xb, argslength_offset);
1792 xb_add_32(error, &xb, end_offset - argslength_offset + XDRWORD/*version*/);
1794 error = xb_seek(&xb, attrslength_offset);
1795 xb_add_32(error, &xb, end_offset - attrslength_offset - XDRWORD/*don't include length field*/);
1799 *xdrbufp = xb_buffer_base(&xb);
1800 xb.xb_flags &= ~XB_CLEANUP;
1803 xb_cleanup(&xb);
2637 struct xdrbuf xb;
2710 xb_init_buffer(&xb, xdrbuf, 2*XDRWORD);
2711 xb_get_32(error, &xb, val); /* version */
2712 xb_get_32(error, &xb, argslength); /* args length */
2714 xb_init_buffer(&xb, xdrbuf, argslength); /* restart parsing with actual buffer length */
2715 xb_get_32(error, &xb, val); /* version */
2716 xb_get_32(error, &xb, argslength); /* args length */
2717 xb_get_32(error, &xb, val); /* XDR args version */
2721 xb_get_bitmap(error, &xb, mattrs, len); /* mount attribute bitmap */
2723 xb_get_32(error, &xb, attrslength); /* attrs length */
2729 xb_get_bitmap(error, &xb, mflags_mask, len); /* mount flag mask */
2731 xb_get_bitmap(error, &xb, mflags, len); /* mount flag values */
2739 xb_get_32(error, &xb, vers);
2741 xb_get_32(error, &xb, minorvers);
2771 xb_get_32(error, &xb, nmp->nm_rsize);
2773 xb_get_32(error, &xb, nmp->nm_wsize);
2775 xb_get_32(error, &xb, nmp->nm_readdirsize);
2777 xb_get_32(error, &xb, nmp->nm_readahead);
2779 xb_get_32(error, &xb, nmp->nm_acregmin);
2780 xb_skip(error, &xb, XDRWORD);
2783 xb_get_32(error, &xb, nmp->nm_acregmax);
2784 xb_skip(error, &xb, XDRWORD);
2787 xb_get_32(error, &xb, nmp->nm_acdirmin);
2788 xb_skip(error, &xb, XDRWORD);
2791 xb_get_32(error, &xb, nmp->nm_acdirmax);
2792 xb_skip(error, &xb, XDRWORD);
2796 xb_get_32(error, &xb, val);
2816 xb_get_32(error, &xb, seccnt);
2822 xb_get_32(error, &xb, nmp->nm_sec.flavors[i]);
2839 xb_get_32(error, &xb, nmp->nm_numgrps);
2843 xb_get_32(error, &xb, val);
2847 error = xb_get_bytes(&xb, sotype, val, 0);
2881 xb_get_32(error, &xb, nmp->nm_nfsport);
2883 xb_get_32(error, &xb, nmp->nm_mountport);
2886 xb_get_32(error, &xb, nmp->nm_timeo);
2887 xb_get_32(error, &xb, val);
2898 xb_get_32(error, &xb, val);
2903 xb_get_32(error, &xb, nmp->nm_deadtimeout);
2904 xb_skip(error, &xb, XDRWORD);
2911 xb_get_32(error, &xb, nmp->nm_fh->fh_len);
2913 error = xb_get_bytes(&xb, (char*)&nmp->nm_fh->fh_data[0], nmp->nm_fh->fh_len, 0);
2922 xb_get_32(error, &xb, nmp->nm_locations.nl_numlocs); /* fs location count */
2936 xb_get_32(error, &xb, fsl->nl_servcount); /* server count */
2950 xb_get_32(error, &xb, val); /* server name length */
2959 error = xb_get_bytes(&xb, fss->ns_name, val, 0); /* server name */
2960 xb_get_32(error, &xb, fss->ns_addrcount); /* address count */
2970 xb_get_32(error, &xb, val); /* address length */
2979 error = xb_get_bytes(&xb, fss->ns_addresses[addr], val, 0); /* address */
2982 xb_get_32(error, &xb, val); /* server info length */
2983 xb_skip(error, &xb, val); /* skip server info */
2987 xb_get_32(error, &xb, fsp->np_compcount); /* component count */
2998 xb_get_32(error, &xb, val); /* component length */
3021 error = xb_get_bytes(&xb, fsp->np_components[comp], val, 0); /* component */
3023 xb_get_32(error, &xb, val); /* fs location info length */
3024 xb_skip(error, &xb, val); /* skip fs location info */
3028 xb_skip(error, &xb, XDRWORD);
3030 xb_get_32(error, &xb, len);
3035 error = xb_get_bytes(&xb, vfs_statfs(mp)->f_mntfromname, val, 0);
3037 xb_skip(error, &xb, len - val);
3256 struct xdrbuf xb, xbnew;
3364 xb_init_buffer(&xb, nmp->nm_args, 2*XDRWORD);
3365 xb_get_32(error, &xb, val); /* version */
3366 xb_get_32(error, &xb, argslength); /* args length */
3367 xb_init_buffer(&xb, nmp->nm_args, argslength);
3370 xb_copy_32(error, &xb, &xbnew, val); /* version */
3372 xb_copy_32(error, &xb, &xbnew, val); /* args length */
3373 xb_copy_32(error, &xb, &xbnew, val); /* XDR args version */
3375 xb_get_bitmap(error, &xb, mattrs, count); /* mount attribute bitmap */
3388 xb_copy_32(error, &xb, &xbnew, val); /* attrs length */
3393 xb_get_bitmap(error, &xb, newmflags_mask, count); /* mount flag mask bitmap */
3395 xb_get_bitmap(error, &xb, newmflags, count); /* mount flag bitmap */
3402 xb_copy_32(error, &xb, &xbnew, val);
3404 xb_copy_32(error, &xb, &xbnew, val);
3406 xb_copy_32(error, &xb, &xbnew, val);
3408 xb_copy_32(error, &xb, &xbnew, val);
3410 xb_copy_32(error, &xb, &xbnew, val);
3412 xb_copy_32(error, &xb, &xbnew, val);
3414 xb_copy_32(error, &xb, &xbnew, val);
3415 xb_copy_32(error, &xb, &xbnew, val);
3418 xb_copy_32(error, &xb, &xbnew, val);
3419 xb_copy_32(error, &xb, &xbnew, val);
3422 xb_copy_32(error, &xb, &xbnew, val);
3423 xb_copy_32(error, &xb, &xbnew, val);
3426 xb_copy_32(error, &xb, &xbnew, val);
3427 xb_copy_32(error, &xb, &xbnew, val);
3430 xb_copy_32(error, &xb, &xbnew, val);
3432 xb_copy_32(error, &xb, &xbnew, count);
3434 xb_copy_32(error, &xb, &xbnew, val);
3437 xb_copy_32(error, &xb, &xbnew, val);
3439 xb_copy_opaque(error, &xb, &xbnew);
3441 xb_copy_32(error, &xb, &xbnew, val);
3443 xb_copy_32(error, &xb, &xbnew, val);
3445 xb_copy_32(error, &xb, &xbnew, val);
3446 xb_copy_32(error, &xb, &xbnew, val);
3449 xb_copy_32(error, &xb, &xbnew, val);
3451 xb_copy_32(error, &xb, &xbnew, val);
3452 xb_copy_32(error, &xb, &xbnew, val);
3455 xb_get_32(error, &xb, count);
3456 xb_skip(error, &xb, count);
3467 xb_copy_32(error, &xb, &xbnew, numlocs); /* location count */
3469 xb_copy_32(error, &xb, &xbnew, numserv); /* server count */
3471 xb_copy_opaque(error, &xb, &xbnew); /* server name */
3472 xb_copy_32(error, &xb, &xbnew, numaddr); /* address count */
3474 xb_copy_opaque(error, &xb, &xbnew); /* address */
3475 xb_copy_opaque(error, &xb, &xbnew); /* server info */
3478 xb_get_32(error, &xb, numcomp); /* component count */
3482 xb_copy_opaque(error, &xb, &xbnew); /* component */
3497 xb_copy_opaque(error, &xb, &xbnew); /* fs location info */
3524 xb_get_32(error, &xb, mntflags);
3536 xb_get_32(error, &xb, mlen);
3543 xb_copy_32(error, &xb, &xbnew, val);
3545 error = xb_get_bytes(&xb, buf, mlen%XDRWORD, 0);
4770 nfs_mountinfo_assemble(struct nfsmount *nmp, struct xdrbuf *xb)
5041 *xb = xbinfo;
5065 struct xdrbuf xb;
5152 xb_init(&xb, 0);
5153 if ((error = nfs_mountinfo_assemble(nmp, &xb)))
5155 if (*oldlenp < xb.xb_u.xb_buffer.xbb_len)
5158 error = copyout(xb_buffer_base(&xb), oldp, xb.xb_u.xb_buffer.xbb_len);
5159 *oldlenp = xb.xb_u.xb_buffer.xbb_len;
5160 xb_cleanup(&xb);