|
|
1.1 ! root 1: /*LINTLIBRARY*/ ! 2: ! 3: /* ! 4: ** Write a new ``shares'' file record from details in lnode. ! 5: ** ! 6: ** Returns 0 for illegal uid, ! 7: ** SYSERROR for bad system call, ! 8: ** else sizeof(Share). ! 9: */ ! 10: ! 11: #include <sys/types.h> ! 12: #include <sys/lnode.h> ! 13: #include <shares.h> ! 14: #include <libc.h> ! 15: ! 16: ! 17: int ! 18: putshares(lp, extime) ! 19: register struct lnode * lp; ! 20: unsigned long extime; ! 21: { ! 22: register long posn; ! 23: Share share; ! 24: ! 25: if ( lp->l_uid > MAXUID ) ! 26: return 0; ! 27: ! 28: if ( !openshares(1) ) ! 29: return SYSERROR; ! 30: ! 31: share.l = *lp; ! 32: share.extime = extime; ! 33: ! 34: posn = sizeof(Share) * lp->l_uid; ! 35: ! 36: if ( lseek(ShareFd, posn, 0) == SYSERROR ) ! 37: return SYSERROR; ! 38: ! 39: return write(ShareFd, &share, sizeof(Share)); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.