*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> getprtcent (3)              
Title
Content
Arch
Section
 

getestcent(3)

Contents


NAME    [Toc]    [Back]

       getestcent,  getestcnam,  setprtcent, endprtcent, putestcnam,
 getprtcent,  getprtcnam,  putprtcnam,  copyestcent  -
       Manipulate terminal control database entry (Enhanced Security)

SYNOPSIS    [Toc]    [Back]

       #include <sys/types.h> #include <sys/security.h>  #include
       <prot.h>

       struct es_term *getestcent(
               void ); struct es_term *getestcnam(
               char *name ); void setprtcent(
               void ); void endprtcent(
               void ); int putestcnam(
               char *name,
               struct es_term *pr ); struct es_term *copyestcent(
               struct es_term *pr );

                                  Note

       The getprtcent(), getprtcnam(), and getprtcnam()  routines
       have been replaced by getestcent(), getestcnam(), putestcnam()
 respectively.

LIBRARY    [Toc]    [Back]

       Security Library (libsecurity.so)

       NOTE: In order to quickstart a program, the  program  must
       be linked as follows: -lsecurity -ldb -laud -lm

       See  the  shared  library  discussion  in the Programmer's
       Guide for more information about using  the  quickstarting
       feature.

PARAMETERS    [Toc]    [Back]

       Specifies  a terminal control database entry name.  Specifies
 a terminal control database control entry  structure.

DESCRIPTION    [Toc]    [Back]

       The  getestcent(),  getestcnam(),  and copyestcent() functions
 return a pointer to an  object  with  the  following
       structure  containing the separated-out fields of an entry
       in the terminal  control  database.   Each  entry  in  the
       database  contains  a  es_term  structure, declared in the
       prot.h header file as follows:

       /*  Terminal Control Database Entry  */

       struct  estc_field  {
               char    *fd_devname;    /* Device/host name */
               uid_t   fd_uid;         /* uid of last  successful
       login */
               time_t   fd_slogin;       /*  time  stamp  of    "
       " */
               uid_t   fd_uuid;        /* uid of last  unsuccessful
 login */
               time_t    fd_ulogin;       /*  time  stamp  of   "
       " */
               uid_t   fd_loutuid;     /* uid of last logout */
               time_t  fd_louttime;    /* time stamp of   "    */
               int       fd_nlogins;      /*  consecutive  failed
       attempts */
               int     fd_max_tries;    /*  maximum  unsuc  login
       tries allowed */
               time_t   fd_logdelay;     /*  delay  between login
       tries */
              time_t  fd_unlockint;    /* delay  before  clearing
       t_failures */
               char    fd_lock;        /* terminal locked? */
               char     fd_xdisp;        /*  this  entry is for X
       display (xdm) */
               time_t  fd_login_timeout ;   /* login  timeout  in
       seconds */ };


       struct  estc_flag  {
               unsigned int
                       fg_devname:1,           /*  Is  fd_devname
       set? */
                       fg_uid:1,             /* Is fd_uid set? */
                       fg_slogin:1,           /* Is fd_stime set?
       */
                       fg_uuid:1,            /* Is  fd_uuid  set?
       */
                       fg_ulogin:1,           /* Is fd_ftime set?
       */
                       fg_loutuid:1,          /*  Is   fd_loutuid
       set? */
                       fg_louttime:1,         /*  Is  fd_louttime
       set? */
                       fg_nlogins:1,          /*  Is   fd_nlogins
       set? */
                       fg_max_tries:1,        /*  Is fd_max_tries
       set? */
                       fg_logdelay:1,         /*  Is  fd_logdelay
       set? */
                       fg_lock:1,             /*  Is fd_lock set?
       */
                       fg_unlockint:1,       /*  Is  fd_unlockint
       set? */
                       fg_login_timeout : 1, /* is fd_login_timeout
 valid? */
                       fg_xdisp : 1          /* Is fd_xdisp valid
       ? */
                       ; };

       struct  es_term  {
               AUTH_ESCAP_COMMON
               size_t                  fieldlen;
               struct estc_field       *ufld;
               struct estc_flag        *uflg;
               struct estc_field       *sfld;
               struct estc_flag        *sflg; };

       Note  that  in the previous example ufld and uflg refer to
       user-specific entries, and sfld and sflg refer to the system
  default  values  For  more  information on the system
       default values, see the default(4) reference page.

       The value returned by  the  getestcent()  or  getestcnam()
       function  refers  to  a  structure  that is overwritten by
       calls to these functions. To retrieve an entry, modify it,
       and  replace  it  in the database, you must copy the entry
       using copyestcent() and  supply  the  modified  buffer  to
       putestcnam().

       The  getestcent()  function returns a pointer to the first
       terminal es_term structure  in  the  database  when  first
       called.  Thereafter,  it  returns  a  pointer  to the next
       es_term structure in the database, so successive calls can
       be used to search the database.  The getestcnam() function
       searches from the beginning of the database until a terminal
  name matching name is found, and returns a pointer to
       the particular structure in which it  was  found.   If  an
       end-of-file  or  an error is encountered on reading, these
       functions return a null pointer.

       The copyestcent() function copies pr, and  the  fields  to
       which  it refers, to a newly allocated data area.  Because
       the getescent() and putescent() functions reuse  a  static
       structure  when  accessing the database, the values of any
       entry must be saved if  the  database  routines  are  used
       again.  The es_term structure returned by getestcent() can
       be freed using the free() function.

       A call to setprtcent() has the  effect  of  rewinding  the
       terminal  control database to allow repeated searches. The
       endprtcent() function can be called to close the  terminal
       control database when processing is complete.

       The  putestcnam() function puts a new or replaced terminal
       control entry pr with key name into the database.  If  the
       uflg->fg_devname field is 0 (zero), the requested entry is
       deleted from the terminal control database.  The  putestcnam()
  function  locks  the database for all update operations,
 and  calls  the  endprtcent()  function  after  the
       update or failed attempt.

NOTES    [Toc]    [Back]

       Structures  returned  by  the  database  routines  contain
       pointers to character strings and lists rather than  being
       self-contained. The copy function must be used rather than
       doing a structure assignment to save a returned structure.

       Programs using these functions must be compiled with -lsecurity.


       The sfld and sflg structures are filled from corresponding
       fields  in  the  system default database.  Thus, a program
       can easily extract the user-specific or system-wide parameters
  for  each database field (see the getespwent(3) and
       getesdvent(3) reference pages).

CAUTIONS    [Toc]    [Back]

       Structures  returned  by  the  database  routines  contain
       pointers  to character strings and lists rather than being
       self-contained. The copyestcent() function  must  be  used
       rather  than  doing  a  structure  assignment  to  save  a
       returned structure.

       The value returned by the  getestcent()  and  getestcnam()
       functions  refers  to  a  structure that is overwritten by
       calls to the function. To retrieve an  entry,  modify  it,
       and  replace  it  in the database, you must copy the entry
       using the copyestcent() function and supply  the  modified
       buffer to the putestcent() function.






RETURN VALUES    [Toc]    [Back]

       The  getestcent()  and  getestcnam() functions return null
       pointers on EOF or an error.

       The putestcnam() function returns a value of 0  (zero)  if
       it cannot add or update the entry.

       The  copyestcent()  function returns a pointer, or NULL on
       (allocation) error.

FILES    [Toc]    [Back]

       Terminal  control  database.   System  defaults  database.
       General security include file.

SEE ALSO    [Toc]    [Back]

      
      
       Functions: getesdfent(3), getespwent(3), getesdvent(3)

       Files: authcap(4), ttys(4)

       Security



                                                    getestcent(3)
[ Back ]
 Similar pages
Name OS Title
getprfient Tru64 Manipulate file control database entry (Enhanced Security)
getesfient Tru64 Manipulate file control database entry (Enhanced Security)
getesfinam Tru64 Manipulate file control database entry (Enhanced Security)
endprfient Tru64 Manipulate file control database entry (Enhanced Security)
setprfient Tru64 Manipulate file control database entry (Enhanced Security)
putesfinam Tru64 Manipulate file control database entry (Enhanced Security)
putprfinam Tru64 Manipulate file control database entry (Enhanced Security)
getprfinam Tru64 Manipulate file control database entry (Enhanced Security)
copyesfient Tru64 Manipulate file control database entry (Enhanced Security)
putesdvnam Tru64 Manipulate device assignment database entry (Enhanced Security)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service