xref: /netbsd/sys/ufs/lfs/ulfs_quotacommon.h (revision cd9601d1)
1*cd9601d1Sdholland /*	$NetBSD: ulfs_quotacommon.h,v 1.4 2013/06/08 02:04:31 dholland Exp $	*/
2184e479bSdholland /*  from NetBSD: quota.h,v 1.30 2012/08/26 02:32:14 dholland Exp  */
3184e479bSdholland 
4184e479bSdholland /*
5184e479bSdholland  * Copyright (c) 1982, 1986, 1993
6184e479bSdholland  *	The Regents of the University of California.  All rights reserved.
7184e479bSdholland  *
8184e479bSdholland  * This code is derived from software contributed to Berkeley by
9184e479bSdholland  * Robert Elz at The University of Melbourne.
10184e479bSdholland  *
11184e479bSdholland  * Redistribution and use in source and binary forms, with or without
12184e479bSdholland  * modification, are permitted provided that the following conditions
13184e479bSdholland  * are met:
14184e479bSdholland  * 1. Redistributions of source code must retain the above copyright
15184e479bSdholland  *    notice, this list of conditions and the following disclaimer.
16184e479bSdholland  * 2. Redistributions in binary form must reproduce the above copyright
17184e479bSdholland  *    notice, this list of conditions and the following disclaimer in the
18184e479bSdholland  *    documentation and/or other materials provided with the distribution.
19184e479bSdholland  * 3. Neither the name of the University nor the names of its contributors
20184e479bSdholland  *    may be used to endorse or promote products derived from this software
21184e479bSdholland  *    without specific prior written permission.
22184e479bSdholland  *
23184e479bSdholland  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24184e479bSdholland  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25184e479bSdholland  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26184e479bSdholland  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27184e479bSdholland  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28184e479bSdholland  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29184e479bSdholland  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30184e479bSdholland  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31184e479bSdholland  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32184e479bSdholland  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33184e479bSdholland  * SUCH DAMAGE.
34184e479bSdholland  *
35184e479bSdholland  *	@(#)quota.h	8.3 (Berkeley) 8/19/94
36184e479bSdholland  */
37184e479bSdholland 
3829e80dcfSdholland #ifndef	_UFS_LFS_ULFS_QUOTACOMMON_H_
3929e80dcfSdholland #define	_UFS_LFS_ULFS_QUOTACOMMON_H_
40184e479bSdholland 
41*cd9601d1Sdholland #include <ufs/lfs/lfs.h>
42*cd9601d1Sdholland #include <ufs/lfs/lfs_inode.h>
43*cd9601d1Sdholland 
44184e479bSdholland /*
45184e479bSdholland  * These definitions are common to the original disk quota implementation
46184e479bSdholland  * (quota1) and the newer implementation (quota2)
47184e479bSdholland  */
48184e479bSdholland 
49184e479bSdholland /*
50184e479bSdholland  * Initializer for the strings corresponding to the quota ID types.
51184e479bSdholland  * (in quota1 these are also the default names of the quota files)
52184e479bSdholland  */
53184e479bSdholland #define INITQFNAMES { \
5429e80dcfSdholland 	"user",		/* ULFS_USRQUOTA */ \
5529e80dcfSdholland 	"group",	/* ULFS_GRPQUOTA */ \
56184e479bSdholland }
57184e479bSdholland 
58184e479bSdholland #if !defined(HAVE_NBTOOL_CONFIG_H)
59184e479bSdholland #include <sys/quota.h>
60184e479bSdholland __inline static int __unused
quota_idtype_to_ulfs(int idtype)6129e80dcfSdholland quota_idtype_to_ulfs(int idtype)
62184e479bSdholland {
63184e479bSdholland 	switch (idtype) {
64184e479bSdholland 	case QUOTA_IDTYPE_USER:
6529e80dcfSdholland 		return ULFS_USRQUOTA;
66184e479bSdholland 	case QUOTA_IDTYPE_GROUP:
6729e80dcfSdholland 		return ULFS_GRPQUOTA;
68184e479bSdholland 	default:
69184e479bSdholland 		return -1;
70184e479bSdholland 	}
71184e479bSdholland }
72184e479bSdholland 
73184e479bSdholland static __inline int __unused
quota_idtype_from_ulfs(int ulfstype)7429e80dcfSdholland quota_idtype_from_ulfs(int ulfstype)
75184e479bSdholland {
7629e80dcfSdholland 	switch (ulfstype) {
7729e80dcfSdholland 	case ULFS_USRQUOTA:
78184e479bSdholland 		return QUOTA_IDTYPE_USER;
7929e80dcfSdholland 	case ULFS_GRPQUOTA:
80184e479bSdholland 		return QUOTA_IDTYPE_GROUP;
81184e479bSdholland 	default:
82184e479bSdholland 		return -1;
83184e479bSdholland 	}
84184e479bSdholland }
85184e479bSdholland #endif /* !defined(HAVE_NBTOOL_CONFIG_H) */
86184e479bSdholland 
87184e479bSdholland #ifdef _KERNEL
88184e479bSdholland 
89184e479bSdholland #include <sys/cdefs.h>
90184e479bSdholland 
91184e479bSdholland __BEGIN_DECLS
9296fca321Sdholland void	lfs_dqinit(void);
9396fca321Sdholland void	lfs_dqreinit(void);
9496fca321Sdholland void	lfs_dqdone(void);
95184e479bSdholland __END_DECLS
96184e479bSdholland #endif /* _KERNEL */
97184e479bSdholland 
9829e80dcfSdholland #endif /* !_UFS_LFS_ULFS_QUOTACOMMON_H_ */
99