Provided by: asr-manpages_1.3-6_all bug

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  elements  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 pgrp_leader;
       };

RETURN VALUES

       On  success  people  returns the number of elements in ttys , on failure it returns -1 and
       errno is set to an appropriate 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/people.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 contribution  to  the  a.s.r  man  page
       collection.