Files
Arquivotheca.AIX-4.1.3/bos/usr/include/utmp.h
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

139 lines
4.0 KiB
C

/* @(#)87 1.11.1.7 src/bos/usr/include/utmp.h, cmdoper, bos411, 9428A410j 7/8/94 11:03:32 */
/*
* COMPONENT_NAME: CMDOPER
*
* FUNCTIONS: UTMP_DATA_INIT
*
* ORIGINS: 27,71
*
* (C) COPYRIGHT International Business Machines Corp. 1989,1994
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
/*
* (c) Copyright 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
#ifndef _H_UTMP
#define _H_UTMP
/* <sys/types.h> must be included. */
#define UTMP_FILE "/etc/utmp"
#define WTMP_FILE "/var/adm/wtmp"
#define ILOG_FILE "/etc/security/failedlogin"
#define ut_name ut_user
struct utmp
{
char ut_user[8] ; /* User login name */
char ut_id[14] ; /* /etc/inittab id */
char ut_line[12] ; /* device name (console, lnxx) */
short ut_type ; /* type of entry */
pid_t ut_pid ; /* process id */
struct exit_status
{
short e_termination ; /* Process termination status */
short e_exit ; /* Process exit status */
}
ut_exit ; /* The exit status of a process
* marked as DEAD_PROCESS.
*/
time_t ut_time ; /* time entry was made */
char ut_host[16] ; /* host name */
} ;
/* Definitions for ut_type */
#define EMPTY 0
#define RUN_LVL 1
#define BOOT_TIME 2
#define OLD_TIME 3
#define NEW_TIME 4
#define INIT_PROCESS 5 /* Process spawned by "init" */
#define LOGIN_PROCESS 6 /* A "getty" process waiting for login */
#define USER_PROCESS 7 /* A user process */
#define DEAD_PROCESS 8
#define ACCOUNTING 9
#define UTMAXTYPE ACCOUNTING /* Largest legal value of ut_type */
/* Special strings or formats used in the "ut_line" field when */
/* accounting for something other than a process. */
/* No string for the ut_line field can be more than 11 chars + */
/* a NULL in length. */
#define RUNLVL_MSG "run-level %c"
#define BOOT_MSG "system boot"
#define OTIME_MSG "old time"
#define NTIME_MSG "new time"
#ifdef _THREAD_SAFE
struct utmp_data {
int ut_fd;
long loc_utmp;
struct utmp ubuf;
char *name;
};
#define UTMP_DATA_INIT(__s) (__s.ut_fd=-1, __s.name=UTMP_FILE)
#endif /* _THREAD_SAFE */
#ifdef _NO_PROTO
extern void endutent();
extern struct utmp *getutent();
extern struct utmp *getutid();
extern struct utmp *getutline();
extern struct utmp *pututline();
extern void setutent();
extern int utmpname();
#ifdef _THREAD_SAFE
extern void endutent_r();
extern int getutent_r();
extern int getutid_r();
extern int getutline_r();
extern int pututline_r();
extern void setutent_r();
/* See comments in stdlib.h on _AIX32_THREADS */
#if _AIX32_THREADS
extern void utmpname_r();
#else /* POSIX 1003.4a Draft 7 prototype */
extern int utmpname_r();
#endif /* _AIX32_THREADS */
#endif /* _THREAD_SAFE */
#else /* _NO_PROTO */
extern void endutent(void);
extern struct utmp *getutent(void);
extern struct utmp *getutid(const struct utmp *);
extern struct utmp *getutline(const struct utmp *);
extern struct utmp *pututline(const struct utmp *);
extern void setutent(void);
extern int utmpname(char *);
#ifdef _THREAD_SAFE
extern int getutent_r(struct utmp **utmp, struct utmp_data *utmp_data);
extern int getutid_r(const struct utmp *utent, struct utmp **utmp,
struct utmp_data *utmp_data);
extern int getutline_r(const struct utmp *utent, struct utmp **utmp,
struct utmp_data *utmp_data);
extern int pututline_r(const struct utmp *utent,
struct utmp_data *utmp_data);
extern void setutent_r(struct utmp_data *utmp_data);
extern void endutent_r(struct utmp_data *utmp_data);
/* See comments in stdlib.h on _AIX32_THREADS */
#if _AIX32_THREADS
extern void utmpname_r(char *newfile, struct utmp_data *utmp_data);
#else /* POSIX 1003.4a Draft 7 prototype */
extern int utmpname_r(char *newfile, struct utmp_data *utmp_data);
#endif /* _AIX32_THREADS */
#endif /* _THREAD_SAFE */
#endif /* _NO_PROTO */
#endif /* _H_UTMP */