1da6c28aaSamw /* 2da6c28aaSamw * CDDL HEADER START 3da6c28aaSamw * 4da6c28aaSamw * The contents of this file are subject to the terms of the 5da6c28aaSamw * Common Development and Distribution License (the "License"). 6da6c28aaSamw * You may not use this file except in compliance with the License. 7da6c28aaSamw * 8da6c28aaSamw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9da6c28aaSamw * or http://www.opensolaris.org/os/licensing. 10da6c28aaSamw * See the License for the specific language governing permissions 11da6c28aaSamw * and limitations under the License. 12da6c28aaSamw * 13da6c28aaSamw * When distributing Covered Code, include this CDDL HEADER in each 14da6c28aaSamw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15da6c28aaSamw * If applicable, add the following below this CDDL HEADER, with the 16da6c28aaSamw * fields enclosed by brackets "[]" replaced with your own identifying 17da6c28aaSamw * information: Portions Copyright [yyyy] [name of copyright owner] 18da6c28aaSamw * 19da6c28aaSamw * CDDL HEADER END 20da6c28aaSamw */ 21da6c28aaSamw /* 22c5866007SKeyur Desai * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 23*b819cea2SGordon Ross * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 24da6c28aaSamw */ 25da6c28aaSamw 26da6c28aaSamw #ifndef _SMBSRV_SMB_XDR_H 27da6c28aaSamw #define _SMBSRV_SMB_XDR_H 28da6c28aaSamw 29da6c28aaSamw #ifdef __cplusplus 30da6c28aaSamw extern "C" { 31da6c28aaSamw #endif 32da6c28aaSamw 33da6c28aaSamw #include <rpc/xdr.h> 34da6c28aaSamw #include <sys/param.h> 359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <sys/avl.h> 36*b819cea2SGordon Ross #include <sys/list.h> 37fe1c642dSBill Krier #include <smbsrv/wintypes.h> 38fe1c642dSBill Krier #include <smbsrv/smb_sid.h> 397f667e74Sjose borrego #include <smbsrv/smbinfo.h> 401fcced4cSJordan Brown #include <smbsrv/smb_ioctl.h> 419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <smbsrv/smb_sid.h> 42148c5f43SAlan Wright #include <smbsrv/smb_share.h> 439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #include <smbsrv/smb_dfs.h> 44148c5f43SAlan Wright #include <smbsrv/wintypes.h> 45da6c28aaSamw 46*b819cea2SGordon Ross #if defined(_KERNEL) || defined(_FAKE_KERNEL) 47*b819cea2SGordon Ross #include <sys/sysmacros.h> 48da6c28aaSamw #define xdr_int8_t xdr_char 49da6c28aaSamw #define xdr_uint8_t xdr_u_char 50da6c28aaSamw #define xdr_int16_t xdr_short 51da6c28aaSamw #define xdr_uint16_t xdr_u_short 52*b819cea2SGordon Ross #else /* _KERNEL */ 53*b819cea2SGordon Ross #include <stddef.h> /* offsetof */ 54da6c28aaSamw #endif /* _KERNEL */ 55da6c28aaSamw 569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* null-terminated string */ 579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_string { 58da6c28aaSamw char *buf; 599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_string_t; 60da6c28aaSamw 61*b819cea2SGordon Ross struct smb_buf32; 62da6c28aaSamw 633db3f65cSamw #define SMB_OPIPE_HDR_MAGIC 0x4F484452 /* OHDR */ 643db3f65cSamw #define SMB_OPIPE_DOOR_BUFSIZE (30 * 1024) 653db3f65cSamw 66da6c28aaSamw /* 673db3f65cSamw * Door operations for opipes. 68da6c28aaSamw */ 693db3f65cSamw typedef enum { 703db3f65cSamw SMB_OPIPE_NULL = 0, 713db3f65cSamw SMB_OPIPE_LOOKUP, 723db3f65cSamw SMB_OPIPE_OPEN, 733db3f65cSamw SMB_OPIPE_CLOSE, 743db3f65cSamw SMB_OPIPE_READ, 753db3f65cSamw SMB_OPIPE_WRITE, 769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SMB_OPIPE_EXEC 773db3f65cSamw } smb_opipe_op_t; 783db3f65cSamw 799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_DOOR_HDR_MAGIC 0x444F4F52 /* DOOR */ 809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Door header flags. 839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_DF_ASYNC 0x00000001 /* Asynchronous call */ 859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_DF_SYSSPACE 0x00000002 /* Called from the kernel */ 869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_DF_USERSPACE 0x00000004 /* Called from user space */ 87*b819cea2SGordon Ross #define SMB_DF_FAKE_KERNEL 0x00000008 /* Called from fake kernel */ 889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * Header for door calls. The op codes and return codes are defined 919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * in smb_door.h. The header is here to make it available to XDR. 929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * fid For opipe: the pipe identifier. 949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * op The door operation being invoked. 959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * txid Unique transaction id for the current door call. 969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * datalen Bytes of data following the header (excludes the header). 979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * resid For opipe: the number of bytes remaining in the server. 989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * door_rc Return code provided by the door server. 999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * status A pass-through status provided by the door operation. 1009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 1019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_doorhdr { 1029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_magic; 1039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_flags; 1049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_fid; 1059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_op; 1069fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_txid; 1079fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_datalen; 1089fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_resid; 1099fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_door_rc; 1109fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t dh_status; 1119fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_doorhdr_t; 1123db3f65cSamw 1131fcced4cSJordan Brown typedef struct smb_netuserinfo { 1141fcced4cSJordan Brown uint64_t ui_session_id; 115c5866007SKeyur Desai uint16_t ui_smb_uid; 1161fcced4cSJordan Brown uint16_t ui_domain_len; 1171fcced4cSJordan Brown char *ui_domain; 1181fcced4cSJordan Brown uint16_t ui_account_len; 1191fcced4cSJordan Brown char *ui_account; 120c5866007SKeyur Desai uid_t ui_posix_uid; 1211fcced4cSJordan Brown uint16_t ui_workstation_len; 1221fcced4cSJordan Brown char *ui_workstation; 1231fcced4cSJordan Brown smb_inaddr_t ui_ipaddr; 1241fcced4cSJordan Brown int32_t ui_native_os; 1251fcced4cSJordan Brown int64_t ui_logon_time; 1261fcced4cSJordan Brown uint32_t ui_numopens; 1271fcced4cSJordan Brown uint32_t ui_flags; 1281fcced4cSJordan Brown } smb_netuserinfo_t; 1291fcced4cSJordan Brown 1301fcced4cSJordan Brown typedef struct smb_opennum { 1311fcced4cSJordan Brown uint32_t open_users; 1321fcced4cSJordan Brown uint32_t open_trees; 1331fcced4cSJordan Brown uint32_t open_files; 1341fcced4cSJordan Brown uint32_t qualtype; 1351fcced4cSJordan Brown char qualifier[MAXNAMELEN]; 1361fcced4cSJordan Brown } smb_opennum_t; 1371fcced4cSJordan Brown 1381fcced4cSJordan Brown typedef struct smb_netconnectinfo { 1391fcced4cSJordan Brown uint32_t ci_id; 1401fcced4cSJordan Brown uint32_t ci_type; 1411fcced4cSJordan Brown uint32_t ci_numopens; 1421fcced4cSJordan Brown uint32_t ci_numusers; 1431fcced4cSJordan Brown uint32_t ci_time; 1441fcced4cSJordan Brown uint32_t ci_namelen; 1451fcced4cSJordan Brown uint32_t ci_sharelen; 1461fcced4cSJordan Brown char *ci_username; 1471fcced4cSJordan Brown char *ci_share; 1481fcced4cSJordan Brown } smb_netconnectinfo_t; 1491fcced4cSJordan Brown 1501fcced4cSJordan Brown typedef struct smb_netfileinfo { 1511fcced4cSJordan Brown uint16_t fi_fid; 1521fcced4cSJordan Brown uint32_t fi_uniqid; 1531fcced4cSJordan Brown uint32_t fi_permissions; 1541fcced4cSJordan Brown uint32_t fi_numlocks; 1551fcced4cSJordan Brown uint32_t fi_pathlen; 1561fcced4cSJordan Brown uint32_t fi_namelen; 1571fcced4cSJordan Brown char *fi_path; 1581fcced4cSJordan Brown char *fi_username; 1591fcced4cSJordan Brown } smb_netfileinfo_t; 1601fcced4cSJordan Brown 1611fcced4cSJordan Brown typedef struct smb_netsvcitem { 1621fcced4cSJordan Brown list_node_t nsi_lnd; 1631fcced4cSJordan Brown union { 1641fcced4cSJordan Brown smb_netuserinfo_t nsi_user; 1651fcced4cSJordan Brown smb_netconnectinfo_t nsi_tree; 1661fcced4cSJordan Brown smb_netfileinfo_t nsi_ofile; 1671fcced4cSJordan Brown } nsi_un; 1681fcced4cSJordan Brown } smb_netsvcitem_t; 1691fcced4cSJordan Brown 1701fcced4cSJordan Brown typedef struct smb_netsvc { 1711fcced4cSJordan Brown list_t ns_list; 1721fcced4cSJordan Brown smb_netsvcitem_t *ns_items; 1731fcced4cSJordan Brown smb_ioc_svcenum_t *ns_ioc; 1741fcced4cSJordan Brown uint32_t ns_ioclen; 1751fcced4cSJordan Brown } smb_netsvc_t; 176da6c28aaSamw 177da6c28aaSamw 178*b819cea2SGordon Ross bool_t smb_buf32_xdr(XDR *, struct smb_buf32 *); 1799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_string_xdr(XDR *, smb_string_t *); 1809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_inaddr_xdr(XDR *, smb_inaddr_t *); 1819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 1829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States const char *smb_doorhdr_opname(uint32_t); 1839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int smb_doorhdr_encode(smb_doorhdr_t *, uint8_t *, uint32_t); 1849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States int smb_doorhdr_decode(smb_doorhdr_t *, uint8_t *, uint32_t); 1859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_doorhdr_xdr(XDR *xdrs, smb_doorhdr_t *objp); 1861fcced4cSJordan Brown int smb_netuserinfo_encode(smb_netuserinfo_t *, uint8_t *, uint32_t, uint_t *); 1871fcced4cSJordan Brown int smb_netuserinfo_decode(smb_netuserinfo_t *, uint8_t *, uint32_t, uint_t *); 1881fcced4cSJordan Brown bool_t smb_netuserinfo_xdr(XDR *, smb_netuserinfo_t *); 1891fcced4cSJordan Brown int smb_netconnectinfo_encode(smb_netconnectinfo_t *, uint8_t *, uint32_t, 19029bd2886SAlan Wright uint_t *); 1911fcced4cSJordan Brown int smb_netconnectinfo_decode(smb_netconnectinfo_t *, uint8_t *, uint32_t, 19229bd2886SAlan Wright uint_t *); 1931fcced4cSJordan Brown bool_t smb_netconnectinfo_xdr(XDR *, smb_netconnectinfo_t *); 1941fcced4cSJordan Brown int smb_netfileinfo_encode(smb_netfileinfo_t *, uint8_t *, uint32_t, uint_t *); 1951fcced4cSJordan Brown int smb_netfileinfo_decode(smb_netfileinfo_t *, uint8_t *, uint32_t, uint_t *); 1961fcced4cSJordan Brown bool_t smb_netfileinfo_xdr(XDR *, smb_netfileinfo_t *); 1971fcced4cSJordan Brown 198fe1c642dSBill Krier typedef uint16_t sid_type_t; 199fe1c642dSBill Krier 200fe1c642dSBill Krier typedef struct lsa_account { 201fe1c642dSBill Krier ntstatus_t a_status; 202fe1c642dSBill Krier sid_type_t a_sidtype; 203fe1c642dSBill Krier char a_domain[MAXNAMELEN]; 204fe1c642dSBill Krier char a_name[MAXNAMELEN]; 205fe1c642dSBill Krier char a_sid[SMB_SID_STRSZ]; 206fe1c642dSBill Krier } lsa_account_t; 207fe1c642dSBill Krier 208fe1c642dSBill Krier int lsa_account_encode(lsa_account_t *, uint8_t *, uint32_t); 209fe1c642dSBill Krier int lsa_account_decode(lsa_account_t *, uint8_t *, uint32_t); 210fe1c642dSBill Krier bool_t lsa_account_xdr(XDR *, lsa_account_t *); 211fe1c642dSBill Krier 21289dc44ceSjose borrego /* 21389dc44ceSjose borrego * VSS Door Structures 21489dc44ceSjose borrego */ 21589dc44ceSjose borrego #define SMB_VSS_GMT_SIZE sizeof ("@GMT-yyyy.mm.dd-hh.mm.ss") 21689dc44ceSjose borrego 2179fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_gmttoken_query { 2189fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t gtq_count; 2199fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *gtq_path; 2209fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_gmttoken_query_t; 22189dc44ceSjose borrego 2229fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef char *smb_gmttoken_t; 22389dc44ceSjose borrego 2249fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_gmttoken_response { 2259fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t gtr_count; 22689dc44ceSjose borrego struct { 2279fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint_t gtr_gmttokens_len; 2289fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States smb_gmttoken_t *gtr_gmttokens_val; 2299fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } gtr_gmttokens; 2309fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_gmttoken_response_t; 2319fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2329fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_gmttoken_snapname { 2339fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *gts_path; 2349fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *gts_gmttoken; 2359fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_gmttoken_snapname_t; 2369fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2379fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_gmttoken_query_xdr(XDR *, smb_gmttoken_query_t *); 2389fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_gmttoken_response_xdr(XDR *, smb_gmttoken_response_t *); 2399fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_gmttoken_snapname_xdr(XDR *, smb_gmttoken_snapname_t *); 2409fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2419fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States /* 2429fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * User and Group Quotas 2439fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * 2449fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * SMB User and Group quota values of SMB_QUOTA_UNLIMITED mean 2459fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States * No Limit. This maps to 0 (none) on ZFS. 2469fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States */ 2479fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States #define SMB_QUOTA_UNLIMITED 0xFFFFFFFFFFFFFFFF 2489fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2499fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_quota { 2509fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_node_t q_list_node; 2519fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char q_sidstr[SMB_SID_STRSZ]; 2529fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t q_sidtype; 2539fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint64_t q_used; 2549fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint64_t q_thresh; 2559fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint64_t q_limit; 2569fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States avl_node_t q_avl_node; 2579fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_t; 2589fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2599fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_quota_sid { 2609fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_node_t qs_list_node; 2619fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char qs_sidstr[SMB_SID_STRSZ]; 2629fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_sid_t; 2639fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2649fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef enum { 2659fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SMB_QUOTA_QUERY_INVALID_OP, 2669fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SMB_QUOTA_QUERY_SIDLIST, 2679fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SMB_QUOTA_QUERY_STARTSID, 2689fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States SMB_QUOTA_QUERY_ALL 2699fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_query_op_t; 2709fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2719fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_quota_query { 2729fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *qq_root_path; 2739fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t qq_query_op; /* smb_quota_query_op_t */ 2749fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t qq_single; 2759fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t qq_restart; 2769fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t qq_max_quota; 2779fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_t qq_sid_list; /* list of smb_quota_sid_t */ 2789fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_query_t; 2799fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2809fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_quota_response { 2819fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t qr_status; 2829fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_t qr_quota_list; /* list of smb_quota_t */ 2839fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_response_t; 2849fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2859fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct smb_quota_set { 2869fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *qs_root_path; 2879fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States list_t qs_quota_list; /* list of smb_quota_t */ 2889fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } smb_quota_set_t; 2899fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2909fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_quota_query_xdr(XDR *, smb_quota_query_t *); 2919fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_quota_response_xdr(XDR *, smb_quota_response_t *); 2929fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t smb_quota_set_xdr(XDR *, smb_quota_set_t *); 2939fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2949fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct dfs_referral_query { 2959fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_reftype_t rq_type; 2969fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States char *rq_path; 2979fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } dfs_referral_query_t; 2989fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 2999fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States typedef struct dfs_referral_response { 3009fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States dfs_info_t rp_referrals; 3019fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States uint32_t rp_status; 3029fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States } dfs_referral_response_t; 3039fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States 3049fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t dfs_referral_query_xdr(XDR *, dfs_referral_query_t *); 3059fb67ea3Safshin salek ardakani - Sun Microsystems - Irvine United States bool_t dfs_referral_response_xdr(XDR *, dfs_referral_response_t *); 3063db3f65cSamw 307148c5f43SAlan Wright typedef struct smb_shr_hostaccess_query { 308148c5f43SAlan Wright char *shq_none; 309148c5f43SAlan Wright char *shq_ro; 310148c5f43SAlan Wright char *shq_rw; 311148c5f43SAlan Wright uint32_t shq_flag; 312148c5f43SAlan Wright smb_inaddr_t shq_ipaddr; 313148c5f43SAlan Wright } smb_shr_hostaccess_query_t; 314148c5f43SAlan Wright 315148c5f43SAlan Wright bool_t smb_shr_hostaccess_query_xdr(XDR *, smb_shr_hostaccess_query_t *); 316148c5f43SAlan Wright bool_t smb_shr_execinfo_xdr(XDR *, smb_shr_execinfo_t *); 317148c5f43SAlan Wright 318da6c28aaSamw #ifdef __cplusplus 319da6c28aaSamw } 320da6c28aaSamw #endif 321da6c28aaSamw 322da6c28aaSamw #endif /* _SMBSRV_SMB_XDR_H */ 323