Best of Internet © Oliver Schade
URL: http://internet.ls-la.net/
   
 
<-- Prev Next -->   Back to Chapter Homepage
 
   
  man people(2)  
 
people(2)                                            people(2)


NAME

    people  -  fetch  a  structure  containing all ttys, whose
    owner behaves like a human


SYNOPSIS

    #include <sys/people.h>
    #include <asr.h>

    int people (struct ppl_tty **ttys);


DESCRIPTION

    The people function fetches a short description  of  every
    tty, whose coupled process behaves as an actual human.

    It  returns  a newly malloc'ed array with just enough ele-
    ments to contain all elements needed for this.

    The struct ppl_tty is declared as:
    struct ppl_tty {
      char tty_path[MAX_PATH_LENGTH];
      int is_erratic;
      int uses_jobcontrol;
      int is_amoron;
      int is_aluser;
      int has_aclue;
      pid_t prgp_leader;
    };


RETURN VALUES

    On success people returns the number of elements in ttys ,
    on  failure it returns -1 and errno is set to an appropri-
    ate value.


ERRORS

    ENOENT  There are no human-behavioured  processes  on  the
            system

    EBUSY   The  kernel  is busy and will not stand this silly
            behaviour. Caution to call people again, from  the
            same  process,  as  the kernel might kill it right
            away.

    ENODEV  See ENOENT above.

    EUSERS  Too many of the people found were lusers. The cut-
            off  for  this  error  is system dependent, but is
            usually about 3.


EXAMPLE

    #include <sys/pople.h>
    #include <asr.h>
    #include <signal.h>

    int
    main (int argc, char **argv)
    {
      struct ppl_tty **ttys;
      int rv,c;

      rv=people(ttys);
      if (rv!=-1) {
        for (c=0;c<rv;c++)
          if ((ttys[c].is_amoron)||(ttys[c].is_aluser)) {
         kill(-(ttys[c].pgrp_leader),SIGKILL);
          }
      } else {
        ; /* Handle errors in a graceful way... */
      }
    }


AUTHOR

    This man page was written by Ingvar Mattsson, as a contri-
    bution to the a.s.r man page collection.
 
  © Oliver Schade <os@ls-la.net>
Last modified: Mon Jul 31 18:55:02 CEST 2000