|
|
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.