home *** CD-ROM | disk | FTP | other *** search
- /* lcksys.c
- Lock and unlock a remote system. */
-
- #include "uucp.h"
-
- #include "uudefs.h"
- #include "uuconf.h"
- #include "sysdep.h"
- #include "system.h"
-
- /* Do the actual lock or unlock. */
-
- static boolean fslock_sys P((boolean, const char *));
-
- static boolean
- fslock_sys (flock, zname)
- boolean flock;
- const char *zname;
- {
- size_t clen;
- char *z;
- boolean fret;
-
- clen = strlen (zname);
-
- #if ! HAVE_LONG_FILE_NAMES
- if (clen > 8)
- clen = 8;
- #endif
-
- z = zbufalc (sizeof "LCK.." + clen);
- memcpy (z, "LCK..", sizeof "LCK.." - 1);
- memcpy (z + sizeof "LCK.." - 1, zname, clen);
- z[sizeof "LCK.." - 1 + clen] = '\0';
-
- if (flock)
- fret = fsdo_lock (z, FALSE, (boolean *) NULL);
- else
- fret = fsdo_unlock (z, FALSE);
-
- ubuffree (z);
-
- return fret;
- }
-
- /* Lock a remote system. */
-
- boolean
- fsysdep_lock_system (qsys)
- const struct uuconf_system *qsys;
- {
- return fslock_sys (TRUE, qsys->uuconf_zname);
- }
-
- /* Unlock a remote system. */
-
- boolean
- fsysdep_unlock_system (qsys)
- const struct uuconf_system *qsys;
- {
- return fslock_sys (FALSE, qsys->uuconf_zname);
- }
-