diff options
author | Salvatore Cro <salvatore.cro@st.com> | 2010-09-09 15:38:15 +0200 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2010-09-14 14:36:00 +0200 |
commit | 7ac7be14eb4c8927fddffbe01fed74c605bf8597 (patch) | |
tree | b71a3a55de3efc6332b5b085f587d8be3247354e /include | |
parent | 77f573c668505a3a408b3e8fb877b8f76bbdd6f6 (diff) |
misc: utmpx based logging support
misc: Added support for accessing user accounting database based
on utmpx structure.
Signed-off-by: Salvatore Cro <salvatore.cro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/utmp.h | 6 | ||||
-rw-r--r-- | include/utmpx.h | 127 |
2 files changed, 133 insertions, 0 deletions
diff --git a/include/utmp.h b/include/utmp.h index 27454a66a..e80b65b7d 100644 --- a/include/utmp.h +++ b/include/utmp.h @@ -57,12 +57,15 @@ extern void logwtmp (__const char *__ut_line, __const char *__ut_name, /* Append entry UTMP to the wtmp-like file WTMP_FILE. */ extern void updwtmp (__const char *__wtmp_file, __const struct utmp *__utmp) __THROW; +libc_hidden_proto(updwtmp) /* Change name of the utmp file to be examined. */ extern int utmpname (__const char *__file) __THROW; +libc_hidden_proto(utmpname) /* Read next entry from a utmp-like file. */ extern struct utmp *getutent (void) __THROW; +libc_hidden_proto(getutent) /* Reset the input stream to the beginning of the file. */ extern void setutent (void) __THROW; @@ -70,6 +73,7 @@ libc_hidden_proto(setutent) /* Close the current open file. */ extern void endutent (void) __THROW; +libc_hidden_proto(endutent) /* Search forward from the current point in the utmp file until the next entry with a ut_type matching ID->ut_type. */ @@ -78,9 +82,11 @@ extern struct utmp *getutid (__const struct utmp *__id) __THROW; /* Search forward from the current point in the utmp file until the next entry with a ut_line matching LINE->ut_line. */ extern struct utmp *getutline (__const struct utmp *__line) __THROW; +libc_hidden_proto(getutline) /* Write out entry pointed to by UTMP_PTR into the utmp file. */ extern struct utmp *pututline (__const struct utmp *__utmp_ptr) __THROW; +libc_hidden_proto(pututline) #if 0 /* def __USE_MISC */ diff --git a/include/utmpx.h b/include/utmpx.h new file mode 100644 index 000000000..8622916a9 --- /dev/null +++ b/include/utmpx.h @@ -0,0 +1,127 @@ +/* Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _UTMPX_H +#define _UTMPX_H 1 + +#include <features.h> +#include <sys/time.h> + +/* Required according to Unix98. */ +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +/* Get system dependent values and data structures. */ +#include <bits/utmpx.h> + +#ifdef __USE_GNU +/* Compatibility names for the strings of the canonical file names. */ +# define UTMPX_FILE _PATH_UTMPX +# define UTMPX_FILENAME _PATH_UTMPX +# define WTMPX_FILE _PATH_WTMPX +# define WTMPX_FILENAME _PATH_WTMPX +#endif + +/* For the getutmp{,x} functions we need the `struct utmp'. */ +#ifdef __USE_GNU +struct utmp; +#endif + + +__BEGIN_DECLS + +/* Open user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setutxent (void); + +/* Close user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endutxent (void); + +/* Get the next entry from the user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxent (void); + +/* Get the user accounting database entry corresponding to ID. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxid (__const struct utmpx *__id); + +/* Get the user accounting database entry corresponding to LINE. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxline (__const struct utmpx *__line); + +/* Write the entry UTMPX into the user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *pututxline (__const struct utmpx *__utmpx); + + +#ifdef __USE_GNU +/* Change name of the utmpx file to be examined. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int utmpxname (__const char *__file); + +/* Append entry UTMP to the wtmpx-like file WTMPX_FILE. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void updwtmpx (__const char *__wtmpx_file, + __const struct utmpx *__utmpx); + + +/* Copy the information in UTMPX to UTMP. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void getutmp (__const struct utmpx *__utmpx, + struct utmp *__utmp); + +/* Copy the information in UTMP to UTMPX. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void getutmpx (__const struct utmp *__utmp, + struct utmpx *__utmpx); +#endif + +__END_DECLS + +#endif /* utmpx.h */ |