|
|
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 <shares.h> ! 12: #include <libc.h> ! 13: ! 14: ! 15: int ! 16: putshares(lp, extime) ! 17: register struct lnode * lp; ! 18: unsigned long extime; ! 19: { ! 20: register long posn; ! 21: Share share; ! 22: ! 23: if ( lp->l_uid > MAXUID ) ! 24: return 0; ! 25: ! 26: if ( !openshares(1) ) ! 27: return SYSERROR; ! 28: ! 29: share.l = *lp; ! 30: share.extime = extime; ! 31: ! 32: posn = sizeof(Share) * lp->l_uid; ! 33: ! 34: if ( lseek(ShareFd, posn, 0) == SYSERROR ) ! 35: return SYSERROR; ! 36: ! 37: return write(ShareFd, &share, sizeof(Share)); ! 38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.