13957Sth199096 /* 23957Sth199096 * CDDL HEADER START 33957Sth199096 * 43957Sth199096 * The contents of this file are subject to the terms of the 53957Sth199096 * Common Development and Distribution License (the "License"). 63957Sth199096 * You may not use this file except in compliance with the License. 73957Sth199096 * 83957Sth199096 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 93957Sth199096 * or http://www.opensolaris.org/os/licensing. 103957Sth199096 * See the License for the specific language governing permissions 113957Sth199096 * and limitations under the License. 123957Sth199096 * 133957Sth199096 * When distributing Covered Code, include this CDDL HEADER in each 143957Sth199096 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 153957Sth199096 * If applicable, add the following below this CDDL HEADER, with the 163957Sth199096 * fields enclosed by brackets "[]" replaced with your own identifying 173957Sth199096 * information: Portions Copyright [yyyy] [name of copyright owner] 183957Sth199096 * 193957Sth199096 * CDDL HEADER END 203957Sth199096 */ 213957Sth199096 /* 22*12679SPavel.Filipensky@Sun.COM * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 233957Sth199096 */ 243957Sth199096 253957Sth199096 #ifndef _SHAREFS_SHARETAB_H 263957Sth199096 #define _SHAREFS_SHARETAB_H 273957Sth199096 28*12679SPavel.Filipensky@Sun.COM #include <sys/pkp_hash.h> 293957Sth199096 303957Sth199096 /* 313957Sth199096 * This header defines the glue to keeping a sharetab in memory. 323957Sth199096 * It is broken out from sharefs.h in the case that it will be 333957Sth199096 * reused in userland. 343957Sth199096 */ 353957Sth199096 363957Sth199096 /* 373957Sth199096 * Note: 383957Sth199096 * Must include share/share.h before this header. 393957Sth199096 */ 403957Sth199096 413957Sth199096 #ifdef __cplusplus 423957Sth199096 extern "C" { 433957Sth199096 #endif 443957Sth199096 453957Sth199096 typedef struct sh_list { /* cached share list */ 463957Sth199096 struct sh_list *shl_next; 473957Sth199096 share_t *shl_sh; 483957Sth199096 } sh_list_t; 493957Sth199096 503957Sth199096 typedef struct sharefs_hash_head { 513957Sth199096 share_t *ssh_sh; 523957Sth199096 uint_t ssh_count; 533957Sth199096 } sharefs_hash_head_t; 543957Sth199096 55*12679SPavel.Filipensky@Sun.COM #define SHARETAB_HASHES PKP_HASH_SIZE 563957Sth199096 573957Sth199096 typedef struct sharetab { 583957Sth199096 sharefs_hash_head_t s_buckets[SHARETAB_HASHES]; 593957Sth199096 char *s_fstype; 603957Sth199096 struct sharetab *s_next; 613957Sth199096 uint_t s_count; 623957Sth199096 } sharetab_t; 633957Sth199096 643957Sth199096 #ifdef __cplusplus 653957Sth199096 } 663957Sth199096 #endif 673957Sth199096 683957Sth199096 #endif /* !_SHAREFS_SHARETAB_H */ 69