OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [conts/] [posix/] [libposix/] [include/] [posix/] [bits/] [utmpx.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
/* Structures and definitions for the user accounting database.  GNU version.
2
   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
3
   This file is part of the GNU C Library.
4
 
5
   The GNU C Library is free software; you can redistribute it and/or
6
   modify it under the terms of the GNU Lesser General Public
7
   License as published by the Free Software Foundation; either
8
   version 2.1 of the License, or (at your option) any later version.
9
 
10
   The GNU C Library is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
   Lesser General Public License for more details.
14
 
15
   You should have received a copy of the GNU Lesser General Public
16
   License along with the GNU C Library; if not, write to the Free
17
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18
   02111-1307 USA.  */
19
 
20
#ifndef _UTMPX_H
21
# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
22
#endif
23
 
24
#include <bits/types.h>
25
#include <sys/time.h>
26
#include <bits/wordsize.h>
27
 
28
 
29
#ifdef __USE_GNU
30
# include <paths.h>
31
# define _PATH_UTMPX    _PATH_UTMP
32
# define _PATH_WTMPX    _PATH_WTMP
33
#endif
34
 
35
 
36
#define __UT_LINESIZE   32
37
#define __UT_NAMESIZE   32
38
#define __UT_HOSTSIZE   256
39
 
40
 
41
/* The structure describing the status of a terminated process.  This
42
   type is used in `struct utmpx' below.  */
43
struct __exit_status
44
  {
45
#ifdef __USE_GNU
46
    short int e_termination;    /* Process termination status.  */
47
    short int e_exit;           /* Process exit status.  */
48
#else
49
    short int __e_termination;  /* Process termination status.  */
50
    short int __e_exit;         /* Process exit status.  */
51
#endif
52
  };
53
 
54
 
55
/* The structure describing an entry in the user accounting database.  */
56
struct utmpx
57
{
58
  short int ut_type;            /* Type of login.  */
59
  __pid_t ut_pid;               /* Process ID of login process.  */
60
  char ut_line[__UT_LINESIZE];  /* Devicename.  */
61
  char ut_id[4];                /* Inittab ID. */
62
  char ut_user[__UT_NAMESIZE];  /* Username.  */
63
  char ut_host[__UT_HOSTSIZE];  /* Hostname for remote login.  */
64
  struct __exit_status ut_exit; /* Exit status of a process marked
65
                                   as DEAD_PROCESS.  */
66
 
67
/* The fields ut_session and ut_tv must be the same size when compiled
68
   32- and 64-bit.  This allows files and shared memory to be shared
69
   between 32- and 64-bit applications.  */
70
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
71
  __int32_t ut_session;         /* Session ID, used for windowing.  */
72
  struct
73
  {
74
    __int32_t tv_sec;           /* Seconds.  */
75
    __int32_t tv_usec;          /* Microseconds.  */
76
  } ut_tv;                      /* Time entry was made.  */
77
#else
78
  long int ut_session;          /* Session ID, used for windowing.  */
79
  struct timeval ut_tv;         /* Time entry was made.  */
80
#endif
81
  __int32_t ut_addr_v6[4];      /* Internet address of remote host.  */
82
  char __unused[20];            /* Reserved for future use.  */
83
};
84
 
85
 
86
/* Values for the `ut_type' field of a `struct utmpx'.  */
87
#define EMPTY           0        /* No valid user accounting information.  */
88
 
89
#ifdef __USE_GNU
90
# define RUN_LVL        1       /* The system's runlevel.  */
91
#endif
92
#define BOOT_TIME       2       /* Time of system boot.  */
93
#define NEW_TIME        3       /* Time after system clock changed.  */
94
#define OLD_TIME        4       /* Time when system clock changed.  */
95
 
96
#define INIT_PROCESS    5       /* Process spawned by the init process.  */
97
#define LOGIN_PROCESS   6       /* Session leader of a logged in user.  */
98
#define USER_PROCESS    7       /* Normal process.  */
99
#define DEAD_PROCESS    8       /* Terminated process.  */
100
 
101
#ifdef __USE_GNU
102
# define ACCOUNTING     9       /* System accounting.  */
103
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.