IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 13, 2005, 9:37:58 PM (21 years ago)
Author:
eugene
Message:

pcontrol dev : hosts + jobs running

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/pcontrol/host.c

    r3204 r3212  
    33int host (int argc, char **argv) {
    44
    5   int N, Delete, Off, On;
     5  int N, Delete, Off, On, Start, Stop, Check;
    66  Host *host;
    77
     
    2626  /* this section needs some help: find the specified host in the stacks */
    2727  On = FALSE;
    28   if ((N = get_argument (argc, argv, "-off"))) {
     28  if ((N = get_argument (argc, argv, "-on"))) {
    2929    if (Delete || Off) {
    3030      fprintf (stderr, "only one of -delete, -off, -on\n");
     
    3535  }
    3636 
    37   if (argc < 2) {
     37  /* this section needs some help: find the specified host in the stacks */
     38  Start = FALSE;
     39  if ((N = get_argument (argc, argv, "-start"))) {
     40    remove_argument (N, &argc, argv);
     41    Start = TRUE;
     42  }
     43 
     44  /* this section needs some help: find the specified host in the stacks */
     45  Check = FALSE;
     46  if ((N = get_argument (argc, argv, "-check"))) {
     47    remove_argument (N, &argc, argv);
     48    Check = TRUE;
     49  }
     50 
     51  /* this section needs some help: find the specified host in the stacks */
     52  Stop = FALSE;
     53  if ((N = get_argument (argc, argv, "-stop"))) {
     54    remove_argument (N, &argc, argv);
     55    Stop = TRUE;
     56  }
     57 
     58  if (argc != 2) {
    3859    fprintf (stderr, "USAGE: host (hostname) [-delete]\n");
    3960    return (FALSE);
     
    6283  }
    6384
     85  if (Check) {
     86    N = FindNamedHost (argv[1], PCONTROL_HOST_IDLE);
     87    if (N >= 0) {
     88      host = GetHost (PCONTROL_HOST_IDLE, N);
     89      CheckHost (host);
     90      return (TRUE);
     91    }
     92    N = FindNamedHost (argv[1], PCONTROL_HOST_BUSY);
     93    if (N >= 0) {
     94      host = GetHost (PCONTROL_HOST_BUSY, N);
     95      CheckHost (host);
     96      return (TRUE);
     97    }
     98    fprintf (stderr, "host %s is not BUSY or IDLE\n", argv[1]);
     99    return (FALSE);
     100  }
     101
     102  if (Start) {
     103    N = FindNamedHost (argv[1], PCONTROL_HOST_DOWN);
     104    if (N < 0) {
     105      fprintf (stderr, "host %s is not DOWN\n", argv[1]);
     106      return (FALSE);
     107    }
     108    host = GetHost (PCONTROL_HOST_DOWN, N);
     109    StartHost (host);
     110    return (TRUE);
     111  }
     112  if (Stop) {
     113    N = FindNamedHost (argv[1], PCONTROL_HOST_IDLE);
     114    if (N < 0) {
     115      fprintf (stderr, "host %s is not IDLE\n", argv[1]);
     116      return (FALSE);
     117    }
     118    host = GetHost (PCONTROL_HOST_IDLE, N);
     119    StopHost (host);
     120    DownHost (host);
     121    return (TRUE);
     122  }
     123
    64124  if (Off) {
    65125    N = FindNamedHost (argv[1], PCONTROL_HOST_IDLE);
    66126    if (N >= 0) {
    67127      host = GetHost (PCONTROL_HOST_IDLE, N);
    68       CLOSE (host[0].stdin);
    69       CLOSE (host[0].stdout);
    70       CLOSE (host[0].stderr);
    71       PutHost (host, PCONTROL_HOST_OFF, STACK_BOTTOM);
     128      StopHost (host);
     129      OffHost (host);
    72130      return (TRUE);
    73131    }
     
    75133    if (N >= 0) {
    76134      host = GetHost (PCONTROL_HOST_DOWN, N);
    77       PutHost (host, PCONTROL_HOST_OFF, STACK_BOTTOM);
     135      OffHost (host);
    78136      return (TRUE);
    79137    }
Note: See TracChangeset for help on using the changeset viewer.