[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r6875 - in /fsf/trunk/libc: ChangeLog sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
- To: commits@xxxxxxxxxx
- Subject: [commits] r6875 - in /fsf/trunk/libc: ChangeLog sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
- From: eglibc@xxxxxxxxxx
- Date: Wed, 03 Sep 2008 07:05:41 -0000
Author: eglibc
Date: Wed Sep 3 00:05:38 2008
New Revision: 6875
Log:
Import glibc-mainline for 2008-09-03
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Sep 3 00:05:38 2008
@@ -1,3 +1,8 @@
+2008-09-02 Andreas Jaeger <aj@xxxxxxx>
+
+ * sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: Fix last
+ commit.
+
2008-08-26 Aurelien Jarno <aurelien@xxxxxxxxxxx>
[BZ #6860]
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h Wed Sep 3 00:05:38 2008
@@ -15,3 +15,74 @@
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
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+
+/* This file provides functions converting between the 32 and 64 bit
+ struct utmp variants. */
+
+#ifndef _UTMP_CONVERT_H
+#define _UTMP_CONVERT_H 1
+
+#include <string.h>
+
+#include "utmp32.h"
+
+/* Convert the 64 bit struct utmp value in FROM to the 32 bit version
+ returned in TO. */
+static inline void
+utmp_convert64to32 (__const struct utmp *from, struct utmp32 *to)
+{
+#if _HAVE_UT_TYPE - 0
+ to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+ to->ut_pid = from->ut_pid;
+#endif
+ memcpy (to->ut_line, from->ut_line, UT_LINESIZE);
+ memcpy (to->ut_user, from->ut_user, UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+ memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+ memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE);
+#endif
+ to->ut_exit = from->ut_exit;
+ to->ut_session = (int32_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+ to->ut_tv.tv_sec = (int32_t) from->ut_tv.tv_sec;
+ to->ut_tv.tv_usec = (int32_t) from->ut_tv.tv_usec;
+#endif
+ memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+/* Convert the 32 bit struct utmp value in FROM to the 64 bit version
+ returned in TO. */
+static inline void
+utmp_convert32to64 (__const struct utmp32 *from, struct utmp *to)
+{
+#if _HAVE_UT_TYPE - 0
+ to->ut_type = from->ut_type;
+#endif
+#if _HAVE_UT_PID - 0
+ to->ut_pid = from->ut_pid;
+#endif
+ memcpy (to->ut_line, from->ut_line, UT_LINESIZE);
+ memcpy (to->ut_user, from->ut_user, UT_NAMESIZE);
+#if _HAVE_UT_ID - 0
+ memcpy (to->ut_id, from->ut_id, 4);
+#endif
+#if _HAVE_UT_HOST - 0
+ memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE);
+#endif
+ to->ut_exit = from->ut_exit;
+ to->ut_session = (int64_t) from->ut_session;
+#if _HAVE_UT_TV - 0
+ to->ut_tv.tv_sec = (int64_t) from->ut_tv.tv_sec;
+ to->ut_tv.tv_usec = (int64_t) from->ut_tv.tv_usec;
+#endif
+ memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4);
+}
+
+#endif /* utmp-convert.h */