xref: /onnv-gate/usr/src/uts/common/sharefs/sharetab.h (revision 12679:30c794f87c0d)
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