|
|
| version 1.4, 2003/11/03 19:31:41 | version 1.5, 2004/03/21 22:41:24 |
|---|---|
| Line 95 char *timeprt(time_t); | Line 95 char *timeprt(time_t); |
| static void usage(void); | static void usage(void); |
| int | int |
| main(argc, argv) | main(int argc, char **argv) |
| int argc; | |
| char **argv; | |
| { | { |
| register struct fstab *fs; | struct fstab *fs; |
| register struct passwd *pw; | struct passwd *pw; |
| register struct group *gr; | struct group *gr; |
| int gflag = 0, uflag = 0, errs = 0; | int gflag = 0, uflag = 0, errs = 0; |
| long i, argnum, done = 0; | long i, argnum, done = 0; |
| char ch, *qfnp; | char ch, *qfnp; |
| Line 136 main(argc, argv) | Line 134 main(argc, argv) |
| if (gflag) { | if (gflag) { |
| setgrent(); | setgrent(); |
| while ((gr = getgrent()) != 0) | while ((gr = getgrent()) != 0) |
| (void) addid((u_long)gr->gr_gid, GRPQUOTA, gr->gr_name); | addid((u_long)gr->gr_gid, GRPQUOTA, gr->gr_name); |
| endgrent(); | endgrent(); |
| } | } |
| if (uflag) { | if (uflag) { |
| setpwent(); | setpwent(); |
| while ((pw = getpwent()) != 0) | while ((pw = getpwent()) != 0) |
| (void) addid((u_long)pw->pw_uid, USRQUOTA, pw->pw_name); | addid((u_long)pw->pw_uid, USRQUOTA, pw->pw_name); |
| endpwent(); | endpwent(); |
| } | } |
| setfsent(); | setfsent(); |
| Line 173 main(argc, argv) | Line 171 main(argc, argv) |
| } | } |
| static void | static void |
| usage() | usage(void) |
| { | { |
| fprintf(stderr, "%s\n%s\n", | fprintf(stderr, "%s\n%s\n", |
| "usage: repquota [-v] [-g] [-u] -a", | "usage: repquota [-v] [-g] [-u] -a", |
| " repquota [-v] [-g] [-u] filesystem ..."); | " repquota [-v] [-g] [-u] filesystem ..."); |
| exit(1); | exit(1); |
| } | } |
| int | int |
| repquota(fs, type, qfpathname) | repquota(struct fstab *fs, int type, char *qfpathname) |
| register struct fstab *fs; | |
| int type; | |
| char *qfpathname; | |
| { | { |
| register struct fileusage *fup; | struct fileusage *fup; |
| FILE *qf; | FILE *qf; |
| u_long id; | u_long id; |
| struct dqblk dqbuf; | struct dqblk dqbuf; |
| Line 264 repquota(fs, type, qfpathname) | Line 259 repquota(fs, type, qfpathname) |
| * Check to see if target appears in list of size cnt. | * Check to see if target appears in list of size cnt. |
| */ | */ |
| int | int |
| oneof(target, list, cnt) | oneof(char *target, char *list[], int cnt) |
| register char *target, *list[]; | |
| int cnt; | |
| { | { |
| register int i; | int i; |
| for (i = 0; i < cnt; i++) | for (i = 0; i < cnt; i++) |
| if (strcmp(target, list[i]) == 0) | if (strcmp(target, list[i]) == 0) |
| Line 280 oneof(target, list, cnt) | Line 273 oneof(target, list, cnt) |
| * Check to see if a particular quota is to be enabled. | * Check to see if a particular quota is to be enabled. |
| */ | */ |
| int | int |
| hasquota(fs, type, qfnamep) | hasquota(struct fstab *fs, int type, char **qfnamep) |
| register struct fstab *fs; | |
| int type; | |
| char **qfnamep; | |
| { | { |
| register char *opt; | char *opt; |
| char *cp; | char *cp; |
| static char initname, usrname[100], grpname[100]; | static char initname, usrname[100], grpname[100]; |
| static char buf[BUFSIZ]; | static char buf[BUFSIZ]; |
| Line 310 hasquota(fs, type, qfnamep) | Line 300 hasquota(fs, type, qfnamep) |
| *qfnamep = cp; | *qfnamep = cp; |
| return (1); | return (1); |
| } | } |
| (void) sprintf(buf, "%s/%s.%s", fs->fs_file, qfname, qfextension[type]); | sprintf(buf, "%s/%s.%s", fs->fs_file, qfname, qfextension[type]); |
| *qfnamep = buf; | *qfnamep = buf; |
| return (1); | return (1); |
| } | } |
| Line 321 hasquota(fs, type, qfnamep) | Line 311 hasquota(fs, type, qfnamep) |
| * Lookup an id of a specific type. | * Lookup an id of a specific type. |
| */ | */ |
| struct fileusage * | struct fileusage * |
| lookup(id, type) | lookup(u_long id, int type) |
| u_long id; | |
| int type; | |
| { | { |
| register struct fileusage *fup; | struct fileusage *fup; |
| for (fup = fuhead[type][id & (FUHASH-1)]; fup != 0; fup = fup->fu_next) | for (fup = fuhead[type][id & (FUHASH-1)]; fup != 0; fup = fup->fu_next) |
| if (fup->fu_id == id) | if (fup->fu_id == id) |
| Line 337 lookup(id, type) | Line 325 lookup(id, type) |
| * Add a new file usage id if it does not already exist. | * Add a new file usage id if it does not already exist. |
| */ | */ |
| struct fileusage * | struct fileusage * |
| addid(id, type, name) | addid(u_long id, int type, char *name) |
| u_long id; | |
| int type; | |
| char *name; | |
| { | { |
| struct fileusage *fup, **fhp; | struct fileusage *fup, **fhp; |
| int len; | int len; |
| Line 371 addid(id, type, name) | Line 356 addid(id, type, name) |
| * Calculate the grace period and return a printable string for it. | * Calculate the grace period and return a printable string for it. |
| */ | */ |
| char * | char * |
| timeprt(seconds) | timeprt(time_t seconds) |
| time_t seconds; | |
| { | { |
| time_t hours, minutes; | time_t hours, minutes; |
| static char buf[20]; | static char buf[20]; |