19fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 29fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * CDDL HEADER START 39fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 49fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * The contents of this file are subject to the terms of the 59fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Common Development and Distribution License (the "License"). 69fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * You may not use this file except in compliance with the License. 79fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 89fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * or http://www.opensolaris.org/os/licensing. 109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * See the License for the specific language governing permissions 119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * and limitations under the License. 129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * When distributing Covered Code, include this CDDL HEADER in each 149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * If applicable, add the following below this CDDL HEADER, with the 169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * fields enclosed by brackets "[]" replaced with your own identifying 179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * information: Portions Copyright [yyyy] [name of copyright owner] 189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * CDDL HEADER END 209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 22*c5866007SKeyur Desai * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <sys/sunddi.h> 269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #ifndef _KERNEL 279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <string.h> 289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <strings.h> 299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <stddef.h> 309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #endif /* _KERNEL */ 319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <smbsrv/smb_door.h> 329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <smbsrv/smb_xdr.h> 339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <smbsrv/alloc.h> 349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <sys/socket.h> 359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <sys/sysmacros.h> 369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_XDRMAX32_SZ 0xFFFFFFFF 389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_list_xdr(XDR *, list_t *, const size_t, const size_t, 409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States const xdrproc_t); 419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_buf32_xdr(XDR *xdrs, smb_buf32_t *objp) 449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint_t maxsize = SMB_XDRMAX32_SZ; 469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint_t size; 479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (xdrs->x_op != XDR_DECODE) 499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States maxsize = size = (uint_t)objp->len; 509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (xdr_bytes(xdrs, (char **)&objp->val, &size, maxsize)) { 529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (xdrs->x_op == XDR_DECODE) 539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States objp->len = (uint32_t)size; 549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * When decoding into a string, ensure that objp->buf is NULL or 629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * is pointing at a buffer large enough to receive the string. 639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Don't leave it as an uninitialized pointer. 649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * If objp->buf is NULL, xdr_string will allocate memory for the 669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * string. Otherwise it will copy into the available buffer. 679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_string_xdr(XDR *xdrs, smb_string_t *objp) 709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->buf, ~0)) 729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States const char * 779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_doorhdr_opname(uint32_t op) 789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States struct { 809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t op; 819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States const char *name; 829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } ops[] = { 839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_NULL, "null" }, 849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_ASYNC_RESPONSE, "async_response" }, 859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_USER_AUTH_LOGON, "user_auth_logon" }, 869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_USER_NONAUTH_LOGON, "user_nonauth_logon" }, 879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_USER_AUTH_LOGOFF, "user_auth_logoff" }, 889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_LOOKUP_SID, "lookup_sid" }, 899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_LOOKUP_NAME, "lookup_name" }, 909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_JOIN, "join" }, 919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_GET_DCINFO, "get_dcinfo" }, 929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_VSS_GET_COUNT, "vss_get_count" }, 939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_VSS_GET_SNAPSHOTS, "vss_get_snapshots" }, 949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_VSS_MAP_GMTTOKEN, "vss_map_gmttoken" }, 959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_ADS_FIND_HOST, "ads_find_host" }, 969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_QUOTA_QUERY, "quota_query" }, 979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_QUOTA_SET, "quota_set" }, 989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { SMB_DR_DFS_GET_REFERRALS, "dfs_get_referrals" } 999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States }; 1009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int i; 1019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States for (i = 0; i < (sizeof (ops) / sizeof (ops[0])); ++i) { 1039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (ops[i].op == op) 1049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (ops[i].name); 1059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return ("unknown"); 1089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 1119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Encode a door header structure into an XDR buffer. 1129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 1139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 1149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_doorhdr_encode(smb_doorhdr_t *hdr, uint8_t *buf, uint32_t buflen) 1159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 1169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 1179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 1189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_ENCODE); 1209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_doorhdr_xdr(&xdrs, hdr)) 1229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 1239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 1259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 1269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 1299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Decode an XDR buffer into a door header structure. 1309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 1319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 1329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_doorhdr_decode(smb_doorhdr_t *hdr, uint8_t *buf, uint32_t buflen) 1339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 1349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 1359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 1369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bzero(hdr, sizeof (smb_doorhdr_t)); 1389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_DECODE); 1399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_doorhdr_xdr(&xdrs, hdr)) 1419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 1429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 1449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 1459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 1489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_doorhdr_xdr(XDR *xdrs, smb_doorhdr_t *objp) 1499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 1509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_magic)) 1519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_flags)) 1539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_fid)) 1559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_op)) 1579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_txid)) 1599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_datalen)) 1619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_resid)) 1639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_door_rc)) 1659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->dh_status)) 1679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 1689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 1699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 1729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Encode an smb_netuserinfo_t into a buffer. 1739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 1749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 1759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netuserinfo_encode(smb_netuserinfo_t *info, uint8_t *buf, 1769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 1779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 1789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 1799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 1809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_ENCODE); 1829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netuserinfo_xdr(&xdrs, info)) 1849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 1859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 1879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 1889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 1899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 1909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 1919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 1939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Decode an XDR buffer into an smb_netuserinfo_t. 1949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 1959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 1969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netuserinfo_decode(smb_netuserinfo_t *info, uint8_t *buf, 1979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 1989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 1999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 2009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 2019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_DECODE); 2039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bzero(info, sizeof (smb_netuserinfo_t)); 2059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netuserinfo_xdr(&xdrs, info)) 2069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 2079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 2099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 2109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 2119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 2129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 2139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 2159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_inaddr_xdr(XDR *xdrs, smb_inaddr_t *objp) 2169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 2179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_int32_t(xdrs, &objp->a_family)) 2189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (objp->a_family == AF_INET) { 2209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, (in_addr_t *)&objp->a_ipv4)) 2219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } else { 2239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)&objp->a_ipv6, 2249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (objp->a_ipv6), sizeof (char), (xdrproc_t)xdr_char)) 2259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 2279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 2289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 2299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 2319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * XDR encode/decode for smb_netuserinfo_t. 2329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 2339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 2349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netuserinfo_xdr(XDR *xdrs, smb_netuserinfo_t *objp) 2359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 2369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint64_t(xdrs, &objp->ui_session_id)) 2379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 238*c5866007SKeyur Desai if (!xdr_uint16_t(xdrs, &objp->ui_smb_uid)) 2399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint16_t(xdrs, &objp->ui_domain_len)) 2419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->ui_domain, ~0)) 2439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint16_t(xdrs, &objp->ui_account_len)) 2459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->ui_account, ~0)) 2479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 248*c5866007SKeyur Desai if (!xdr_uint32_t(xdrs, &objp->ui_posix_uid)) 249*c5866007SKeyur Desai return (FALSE); 2509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint16_t(xdrs, &objp->ui_workstation_len)) 2519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->ui_workstation, ~0)) 2539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_inaddr_xdr(xdrs, &objp->ui_ipaddr)) 2559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_int32_t(xdrs, &objp->ui_native_os)) 2579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_int64_t(xdrs, &objp->ui_logon_time)) 2599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ui_numopens)) 2619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ui_flags)) 2639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 2649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 2659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 2669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 2689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Encode an smb_netconnectinfo_t into a buffer. 2699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 2709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 2719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netconnectinfo_encode(smb_netconnectinfo_t *info, uint8_t *buf, 2729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 2739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 2749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 2759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 2769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_ENCODE); 2789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netconnectinfo_xdr(&xdrs, info)) 2809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 2819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 2839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 2849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 2859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 2869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 2879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 2899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Decode an XDR buffer into an smb_netconnectinfo_t. 2909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 2919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 2929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netconnectinfo_decode(smb_netconnectinfo_t *info, uint8_t *buf, 2939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 2949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 2959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 2969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 2979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_DECODE); 2999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bzero(info, sizeof (smb_netconnectinfo_t)); 3019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netconnectinfo_xdr(&xdrs, info)) 3029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 3039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 3059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 3069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 3079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 3089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 3099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 3119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * XDR encode/decode for smb_netconnectinfo_t. 3129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 3139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 3149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netconnectinfo_xdr(XDR *xdrs, smb_netconnectinfo_t *objp) 3159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 3169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_id)) 3179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_type)) 3199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_numopens)) 3219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_numusers)) 3239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_time)) 3259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_namelen)) 3279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->ci_sharelen)) 3299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->ci_username, MAXNAMELEN)) 3319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->ci_share, MAXNAMELEN)) 3339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 3359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 3369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 3389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Encode an smb_netfileinfo_t into a buffer. 3399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 3409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 3419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netfileinfo_encode(smb_netfileinfo_t *info, uint8_t *buf, 3429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 3439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 3449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 3459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 3469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_ENCODE); 3489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netfileinfo_xdr(&xdrs, info)) 3509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 3519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 3539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 3549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 3559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 3569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 3579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 3599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Decode an XDR buffer into an smb_netfileinfo_t. 3609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 3619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int 3629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netfileinfo_decode(smb_netfileinfo_t *info, uint8_t *buf, 3639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t buflen, uint_t *nbytes) 3649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 3659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States XDR xdrs; 3669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int rc = 0; 3679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdrmem_create(&xdrs, (const caddr_t)buf, buflen, XDR_DECODE); 3699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bzero(info, sizeof (smb_netfileinfo_t)); 3719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_netfileinfo_xdr(&xdrs, info)) 3729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States rc = -1; 3739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (nbytes != NULL) 3759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States *nbytes = xdr_getpos(&xdrs); 3769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States xdr_destroy(&xdrs); 3779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (rc); 3789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 3799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 3819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * XDR encode/decode for smb_netfileinfo_t. 3829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 3839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 3849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_netfileinfo_xdr(XDR *xdrs, smb_netfileinfo_t *objp) 3859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 3869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint16_t(xdrs, &objp->fi_fid)) 3879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->fi_uniqid)) 3899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->fi_permissions)) 3919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->fi_numlocks)) 3939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->fi_pathlen)) 3959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->fi_namelen)) 3979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 3989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->fi_path, MAXPATHLEN)) 3999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->fi_username, MAXNAMELEN)) 4019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_dr_kshare_xdr(XDR *xdrs, smb_dr_kshare_t *objp) 4079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_int32_t(xdrs, &objp->k_op)) 4099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->k_path, MAXPATHLEN)) 4119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->k_sharename, MAXNAMELEN)) 4139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_gmttoken_query_xdr(XDR *xdrs, smb_gmttoken_query_t *objp) 4199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->gtq_count)) { 4219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->gtq_path, ~0)) { 4249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States static bool_t 4309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_gmttoken_xdr(XDR *xdrs, smb_gmttoken_t *objp) 4319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, objp, SMB_VSS_GMT_SIZE)) { 4339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_gmttoken_response_xdr(XDR *xdrs, smb_gmttoken_response_t *objp) 4409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->gtr_count)) { 4429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_array(xdrs, (char **)&objp->gtr_gmttokens.gtr_gmttokens_val, 4459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States (uint_t *)&objp->gtr_gmttokens.gtr_gmttokens_len, ~0, 4469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (smb_gmttoken_t), (xdrproc_t)smb_gmttoken_xdr)) { 4479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_gmttoken_snapname_xdr(XDR *xdrs, smb_gmttoken_snapname_t *objp) 4549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->gts_path, MAXPATHLEN)) { 4569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->gts_gmttoken, SMB_VSS_GMT_SIZE)) { 4599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_quota_xdr(XDR *xdrs, smb_quota_t *objp) 4669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->q_sidstr, SMB_SID_STRSZ, 4689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 4699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->q_sidtype)) 4719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint64_t(xdrs, &objp->q_used)) 4739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint64_t(xdrs, &objp->q_thresh)) 4759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint64_t(xdrs, &objp->q_limit)) 4779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_quota_sid_xdr(XDR *xdrs, smb_quota_sid_t *objp) 4849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->qs_sidstr, SMB_SID_STRSZ, 4869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 4879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 4899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 4909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 4919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 4929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_quota_query_xdr(XDR *xdrs, smb_quota_query_t *objp) 4939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 4949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->qq_root_path, ~0)) 4959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->qq_query_op)) 4979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 4989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_bool(xdrs, &objp->qq_single)) 4999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_bool(xdrs, &objp->qq_restart)) 5019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->qq_max_quota)) 5039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_list_xdr(xdrs, &objp->qq_sid_list, 5059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States offsetof(smb_quota_sid_t, qs_list_node), 5069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (smb_quota_sid_t), (xdrproc_t)smb_quota_sid_xdr)) 5079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 5139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_quota_response_xdr(XDR *xdrs, smb_quota_response_t *objp) 5149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 5159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->qr_status)) 5169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_list_xdr(xdrs, &objp->qr_quota_list, 5189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States offsetof(smb_quota_t, q_list_node), 5199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (smb_quota_t), (xdrproc_t)smb_quota_xdr)) 5209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 5259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_quota_set_xdr(XDR *xdrs, smb_quota_set_t *objp) 5269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 5279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->qs_root_path, ~0)) 5289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!smb_list_xdr(xdrs, &objp->qs_quota_list, 5309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States offsetof(smb_quota_t, q_list_node), 5319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (smb_quota_t), (xdrproc_t)smb_quota_xdr)) 5329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 5379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * XDR a list_t list of elements 5389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * offset - offset of list_node_t in list element 5399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * elsize - size of list element 5409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * elproc - XDR function for the list element 5419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 5429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 5439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_list_xdr(XDR *xdrs, list_t *list, const size_t offset, 5449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States const size_t elsize, const xdrproc_t elproc) 5459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 5469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States void *node; 5479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t count = 0; 5489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States switch (xdrs->x_op) { 5509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States case XDR_ENCODE: 5519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States node = list_head(list); 5529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States while (node) { 5539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States ++count; 5549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States node = list_next(list, node); 5559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &count)) 5579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States node = list_head(list); 5609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States while (node) { 5619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!elproc(xdrs, node)) 5629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States node = list_next(list, node); 5649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States case XDR_DECODE: 5689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &count)) 5699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_create(list, elsize, offset); 5719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States while (count) { 5729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States node = MEM_MALLOC("xdr", elsize); 5739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (node == NULL) 5749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!elproc(xdrs, node)) 5769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_insert_tail(list, node); 5789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States --count; 5799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States case XDR_FREE: 5839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States while ((node = list_head(list)) != NULL) { 5849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_remove(list, node); 5859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States (void) elproc(xdrs, node); 5869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States MEM_FREE("xdr", node); 5879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_destroy(list); 5899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 5909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 5939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 5949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 5959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 5969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_target_pclass_xdr(XDR *xdrs, dfs_target_pclass_t *objp) 5979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 5989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (xdr_enum(xdrs, (enum_t *)objp)); 5999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_target_priority_xdr(XDR *xdrs, dfs_target_priority_t *objp) 6039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!dfs_target_pclass_xdr(xdrs, &objp->p_class)) 6059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint16_t(xdrs, &objp->p_rank)) 6089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 6119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6129fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6139fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6149fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_target_xdr(XDR *xdrs, dfs_target_t *objp) 6159fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6169fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->t_server, DFS_SRVNAME_MAX, 6179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 6189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->t_share, DFS_NAME_MAX, 6219fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 6229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6239fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->t_state)) 6259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6269fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!dfs_target_priority_xdr(xdrs, &objp->t_priority)) 6289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 6319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_reftype_xdr(XDR *xdrs, dfs_reftype_t *objp) 6359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (xdr_enum(xdrs, (enum_t *)objp)); 6379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_info_xdr(XDR *xdrs, dfs_info_t *objp) 6419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->i_uncpath, DFS_PATH_MAX, 6439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 6449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->i_comment, DFS_COMMENT_MAX, 6479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States sizeof (char), (xdrproc_t)xdr_char)) 6489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_vector(xdrs, (char *)objp->i_guid, 6519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States UUID_PRINTABLE_STRING_LENGTH, sizeof (char), (xdrproc_t)xdr_char)) 6529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->i_state)) 6559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->i_timeout)) 6589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->i_propflags)) 6619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->i_type)) 6649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_array(xdrs, (char **)&objp->i_targets, 6679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States (uint32_t *)&objp->i_ntargets, ~0, sizeof (dfs_target_t), 6689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States (xdrproc_t)dfs_target_xdr)) 6699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 6729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_referral_query_xdr(XDR *xdrs, dfs_referral_query_t *objp) 6769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!dfs_reftype_xdr(xdrs, &objp->rq_type)) 6789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_string(xdrs, &objp->rq_path, ~0)) 6819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 6849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 6859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t 6879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_referral_response_xdr(XDR *xdrs, dfs_referral_response_t *objp) 6889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States { 6899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!dfs_info_xdr(xdrs, &objp->rp_referrals)) 6909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States if (!xdr_uint32_t(xdrs, &objp->rp_status)) 6939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (FALSE); 6949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 6959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States return (TRUE); 6969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } 697