Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / quota.h @ 13

History | View | Annotate | Download (3.08 KB)

1
/*-
2
 * Copyright (c) 2011 The NetBSD Foundation, Inc.
3
 * All rights reserved.
4
 *
5
 * This code is derived from software contributed to The NetBSD Foundation
6
 * by David A. Holland.
7
 *
8
 * Redistribution and use in source and binary forms, with or without
9
 * modification, are permitted provided that the following conditions
10
 * are met:
11
 * 1. Redistributions of source code must retain the above copyright
12
 *    notice, this list of conditions and the following disclaimer.
13
 * 2. Redistributions in binary form must reproduce the above copyright
14
 *    notice, this list of conditions and the following disclaimer in the
15
 *    documentation and/or other materials provided with the distribution.
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
 * POSSIBILITY OF SUCH DAMAGE.
28
 */
29

    
30
#ifndef _QUOTA_H_
31
#define _QUOTA_H_
32

    
33
#include <sys/types.h>
34
#include <sys/quota.h>
35

    
36
struct quotahandle; /* Opaque. */
37
struct quotacursor; /* Opaque. */
38

    
39

    
40
void quotaval_clear(struct quotaval *);
41

    
42
struct quotahandle *quota_open(const char *);
43
void quota_close(struct quotahandle *);
44

    
45
const char *quota_getmountpoint(struct quotahandle *);
46
const char *quota_getmountdevice(struct quotahandle *);
47

    
48
const char *quota_getimplname(struct quotahandle *);
49
unsigned quota_getrestrictions(struct quotahandle *);
50

    
51
int quota_getnumidtypes(struct quotahandle *);
52
const char *quota_idtype_getname(struct quotahandle *, int /*idtype*/);
53

    
54
int quota_getnumobjtypes(struct quotahandle *);
55
const char *quota_objtype_getname(struct quotahandle *, int /*objtype*/);
56
int quota_objtype_isbytes(struct quotahandle *, int /*objtype*/);
57

    
58
int quota_quotaon(struct quotahandle *, int /*idtype*/);
59
int quota_quotaoff(struct quotahandle *, int /*idtype*/);
60

    
61
int quota_get(struct quotahandle *, const struct quotakey *,
62
              struct quotaval *);
63

    
64
int quota_put(struct quotahandle *, const struct quotakey *,
65
              const struct quotaval *);
66

    
67
int quota_delete(struct quotahandle *, const struct quotakey *);
68

    
69
struct quotacursor *quota_opencursor(struct quotahandle *);
70
void quotacursor_close(struct quotacursor *);
71

    
72
int quotacursor_skipidtype(struct quotacursor *, int /*idtype*/);
73

    
74
int quotacursor_get(struct quotacursor *, struct quotakey *,
75
                    struct quotaval *);
76

    
77
int quotacursor_getn(struct quotacursor *, struct quotakey *,
78
                     struct quotaval *, unsigned /*maxnum*/);
79

    
80
int quotacursor_atend(struct quotacursor *);
81
int quotacursor_rewind(struct quotacursor *);
82

    
83
#endif /* _QUOTA_H_ */