summaryrefslogtreecommitdiffstats
path: root/gnu/libexec/uucp/libunix/lcksys.c
blob: c1b0efaa3b9e77d5272425fd04ab1a9749c37883 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* lcksys.c
   Lock and unlock a remote system.  */

#include "uucp.h"

#include "uudefs.h"
#include "uuconf.h"
#include "sysdep.h"
#include "system.h"

/* Get the name of a system lock file.  */

static char *zssys_lock_name P((const struct uuconf_system *qsys, char *z));

#define LOCKNAMELEN (sizeof "LCK..12345678")

static char *
zssys_lock_name (qsys, z)
     const struct uuconf_system *qsys;
     char *z;
{
  strcpy (z, "LCK..");
  strncpy (z + sizeof "LCK.." - 1, qsys->uuconf_zname, 8);
  z[sizeof "LCK.." - 1 + 8] = '\0';
  return z;
}

/* Lock a remote system.  */

boolean
fsysdep_lock_system (qsys)
     const struct uuconf_system *qsys;
{
  char ab[LOCKNAMELEN];

  return fsdo_lock (zssys_lock_name (qsys, ab), FALSE, (boolean *) NULL);
}

/* Unlock a remote system.  */

boolean
fsysdep_unlock_system (qsys)
     const struct uuconf_system *qsys;
{
  char ab[LOCKNAMELEN];

  return fsdo_unlock (zssys_lock_name (qsys, ab), FALSE);
}
OpenPOWER on IntegriCloud