xref: /minix3/include/quota.h (revision f14fb602092e015ff630df58e17c2a9cd57d29b3)
1*f14fb602SLionel Sambuc /*-
2*f14fb602SLionel Sambuc  * Copyright (c) 2011 The NetBSD Foundation, Inc.
3*f14fb602SLionel Sambuc  * All rights reserved.
4*f14fb602SLionel Sambuc  *
5*f14fb602SLionel Sambuc  * This code is derived from software contributed to The NetBSD Foundation
6*f14fb602SLionel Sambuc  * by David A. Holland.
7*f14fb602SLionel Sambuc  *
8*f14fb602SLionel Sambuc  * Redistribution and use in source and binary forms, with or without
9*f14fb602SLionel Sambuc  * modification, are permitted provided that the following conditions
10*f14fb602SLionel Sambuc  * are met:
11*f14fb602SLionel Sambuc  * 1. Redistributions of source code must retain the above copyright
12*f14fb602SLionel Sambuc  *    notice, this list of conditions and the following disclaimer.
13*f14fb602SLionel Sambuc  * 2. Redistributions in binary form must reproduce the above copyright
14*f14fb602SLionel Sambuc  *    notice, this list of conditions and the following disclaimer in the
15*f14fb602SLionel Sambuc  *    documentation and/or other materials provided with the distribution.
16*f14fb602SLionel Sambuc  *
17*f14fb602SLionel Sambuc  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18*f14fb602SLionel Sambuc  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19*f14fb602SLionel Sambuc  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20*f14fb602SLionel Sambuc  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21*f14fb602SLionel Sambuc  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22*f14fb602SLionel Sambuc  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23*f14fb602SLionel Sambuc  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24*f14fb602SLionel Sambuc  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25*f14fb602SLionel Sambuc  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26*f14fb602SLionel Sambuc  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27*f14fb602SLionel Sambuc  * POSSIBILITY OF SUCH DAMAGE.
28*f14fb602SLionel Sambuc  */
29*f14fb602SLionel Sambuc 
30*f14fb602SLionel Sambuc #ifndef _QUOTA_H_
31*f14fb602SLionel Sambuc #define _QUOTA_H_
32*f14fb602SLionel Sambuc 
33*f14fb602SLionel Sambuc #include <sys/types.h>
34*f14fb602SLionel Sambuc #include <sys/quota.h>
35*f14fb602SLionel Sambuc 
36*f14fb602SLionel Sambuc struct quotahandle; /* Opaque. */
37*f14fb602SLionel Sambuc struct quotacursor; /* Opaque. */
38*f14fb602SLionel Sambuc 
39*f14fb602SLionel Sambuc 
40*f14fb602SLionel Sambuc void quotaval_clear(struct quotaval *);
41*f14fb602SLionel Sambuc 
42*f14fb602SLionel Sambuc struct quotahandle *quota_open(const char *);
43*f14fb602SLionel Sambuc void quota_close(struct quotahandle *);
44*f14fb602SLionel Sambuc 
45*f14fb602SLionel Sambuc const char *quota_getmountpoint(struct quotahandle *);
46*f14fb602SLionel Sambuc const char *quota_getmountdevice(struct quotahandle *);
47*f14fb602SLionel Sambuc 
48*f14fb602SLionel Sambuc const char *quota_getimplname(struct quotahandle *);
49*f14fb602SLionel Sambuc unsigned quota_getrestrictions(struct quotahandle *);
50*f14fb602SLionel Sambuc 
51*f14fb602SLionel Sambuc int quota_getnumidtypes(struct quotahandle *);
52*f14fb602SLionel Sambuc const char *quota_idtype_getname(struct quotahandle *, int /*idtype*/);
53*f14fb602SLionel Sambuc 
54*f14fb602SLionel Sambuc int quota_getnumobjtypes(struct quotahandle *);
55*f14fb602SLionel Sambuc const char *quota_objtype_getname(struct quotahandle *, int /*objtype*/);
56*f14fb602SLionel Sambuc int quota_objtype_isbytes(struct quotahandle *, int /*objtype*/);
57*f14fb602SLionel Sambuc 
58*f14fb602SLionel Sambuc int quota_quotaon(struct quotahandle *, int /*idtype*/);
59*f14fb602SLionel Sambuc int quota_quotaoff(struct quotahandle *, int /*idtype*/);
60*f14fb602SLionel Sambuc 
61*f14fb602SLionel Sambuc int quota_get(struct quotahandle *, const struct quotakey *,
62*f14fb602SLionel Sambuc 	      struct quotaval *);
63*f14fb602SLionel Sambuc 
64*f14fb602SLionel Sambuc int quota_put(struct quotahandle *, const struct quotakey *,
65*f14fb602SLionel Sambuc 	      const struct quotaval *);
66*f14fb602SLionel Sambuc 
67*f14fb602SLionel Sambuc int quota_delete(struct quotahandle *, const struct quotakey *);
68*f14fb602SLionel Sambuc 
69*f14fb602SLionel Sambuc struct quotacursor *quota_opencursor(struct quotahandle *);
70*f14fb602SLionel Sambuc void quotacursor_close(struct quotacursor *);
71*f14fb602SLionel Sambuc 
72*f14fb602SLionel Sambuc int quotacursor_skipidtype(struct quotacursor *, int /*idtype*/);
73*f14fb602SLionel Sambuc 
74*f14fb602SLionel Sambuc int quotacursor_get(struct quotacursor *, struct quotakey *,
75*f14fb602SLionel Sambuc 		    struct quotaval *);
76*f14fb602SLionel Sambuc 
77*f14fb602SLionel Sambuc int quotacursor_getn(struct quotacursor *, struct quotakey *,
78*f14fb602SLionel Sambuc 		     struct quotaval *, unsigned /*maxnum*/);
79*f14fb602SLionel Sambuc 
80*f14fb602SLionel Sambuc int quotacursor_atend(struct quotacursor *);
81*f14fb602SLionel Sambuc int quotacursor_rewind(struct quotacursor *);
82*f14fb602SLionel Sambuc 
83*f14fb602SLionel Sambuc #endif /* _QUOTA_H_ */
84