1*0599112cSdholland /* $NetBSD: quotapvt.h,v 1.5 2012/01/09 15:40:10 dholland Exp $ */ 25a065375Sdholland /*- 35a065375Sdholland * Copyright (c) 2011 The NetBSD Foundation, Inc. 45a065375Sdholland * All rights reserved. 55a065375Sdholland * 65a065375Sdholland * This code is derived from software contributed to The NetBSD Foundation 75a065375Sdholland * by David A. Holland. 85a065375Sdholland * 95a065375Sdholland * Redistribution and use in source and binary forms, with or without 105a065375Sdholland * modification, are permitted provided that the following conditions 115a065375Sdholland * are met: 125a065375Sdholland * 1. Redistributions of source code must retain the above copyright 135a065375Sdholland * notice, this list of conditions and the following disclaimer. 145a065375Sdholland * 2. Redistributions in binary form must reproduce the above copyright 155a065375Sdholland * notice, this list of conditions and the following disclaimer in the 165a065375Sdholland * documentation and/or other materials provided with the distribution. 175a065375Sdholland * 185a065375Sdholland * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 195a065375Sdholland * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 205a065375Sdholland * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 215a065375Sdholland * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 225a065375Sdholland * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 235a065375Sdholland * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 245a065375Sdholland * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 255a065375Sdholland * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 265a065375Sdholland * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 275a065375Sdholland * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 285a065375Sdholland * POSSIBILITY OF SUCH DAMAGE. 295a065375Sdholland */ 305a065375Sdholland 315a065375Sdholland struct quotahandle { 325a065375Sdholland char *qh_mountpoint; 3301237e81Sdholland char *qh_mountdevice; 3401237e81Sdholland int qh_isnfs; 3501237e81Sdholland char spare[14*sizeof(char *) + 15 * sizeof(int)]; 365a065375Sdholland }; 375a065375Sdholland 38*0599112cSdholland struct quotacursor { 39*0599112cSdholland struct quotahandle *qc_qh; 40*0599112cSdholland union { 41*0599112cSdholland struct proplib_quotacursor *qc_proplib; 42*0599112cSdholland } u; 43*0599112cSdholland }; 44*0599112cSdholland 45*0599112cSdholland 465a065375Sdholland /* proplib kernel interface */ 47ef4f90bcSdholland const char *__quota_proplib_getimplname(struct quotahandle *); 485a065375Sdholland int __quota_proplib_get(struct quotahandle *qh, const struct quotakey *qk, 495a065375Sdholland struct quotaval *qv); 50*0599112cSdholland struct proplib_quotacursor *__quota_proplib_cursor_create(void); 51*0599112cSdholland void __quota_proplib_cursor_destroy(struct proplib_quotacursor *); 52*0599112cSdholland int __quota_proplib_cursor_skipidtype(struct proplib_quotacursor *, 53*0599112cSdholland unsigned idtype); 54*0599112cSdholland int __quota_proplib_cursor_get(struct quotahandle *, 55*0599112cSdholland struct proplib_quotacursor *, 56*0599112cSdholland struct quotakey *, struct quotaval *); 57*0599112cSdholland int __quota_proplib_cursor_getn(struct quotahandle *, 58*0599112cSdholland struct proplib_quotacursor *, 59*0599112cSdholland struct quotakey *, struct quotaval *, 60*0599112cSdholland unsigned); 61*0599112cSdholland int __quota_proplib_cursor_atend(struct quotahandle *, 62*0599112cSdholland struct proplib_quotacursor *); 63*0599112cSdholland int __quota_proplib_cursor_rewind(struct proplib_quotacursor *); 64*0599112cSdholland 6501237e81Sdholland 6601237e81Sdholland /* nfs rquotad interface */ 6701237e81Sdholland int __quota_nfs_get(struct quotahandle *qh, const struct quotakey *qk, 6801237e81Sdholland struct quotaval *qv); 6901237e81Sdholland 70*0599112cSdholland 715082b605Sdholland /* compat for old library */ 725082b605Sdholland int __quota_getquota(const char *path, struct quotaval *qv, uid_t id, 735082b605Sdholland const char *class); 745082b605Sdholland 75