|
|
1.1 root 1: .TH SETUPSHARES 3 SHARE
2: .SH NAME
3: setupshares \- set kernel shares for a user
4: .SH SYNOPSIS
5: .B setupshares(uid, efp)
6: .br
7: .B int uid;
8: .br
9: .B void (*efp)();
10: .SH DESCRIPTION
11: This library routine sets up a kernel shares structure
12: for the user represented by
13: .IR uid .
14: It extracts the share details for the user from the shares data-base,
15: decays the usage figure up to the current time,
16: and uses
17: .IR setlimits (3)
18: to install the shares in the kernel.
19: .PP
20: If the system is out of
21: .I lnode
22: structures, then the structure for the default user ``other'' is used.
23: If this also fails, then the structure for the super-user is used.
24: .PP
25: If there are any errors, and the second argument is non-NULL,
26: the function will be called with a
27: .IR printf (3)
28: format string and at most one extra argument.
29: A non-zero result is returned for un-recoverable errors.
30: Otherwise,
31: .I setupshares
32: returns \fB0\fP.
33: .PP
34: This routine is safe to use on systems
35: where the share scheduler has not been installed,
36: or is inactive.
37: .SH DIAGNOSTICS
38: .I Setupshares
39: returns a non-zero result if
40: .IR setlimits (3)
41: returns an error other than
42: .SM ETOOMANYU.
43: The optional error routine is called if
44: .IR setlimits (3)
45: returns any error,
46: or if no shares have been allocated to the user.
47: .SH "SEE ALSO"
48: getshares(3),
49: closeshares(3),
50: setlimits(3),
51: share(5).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.