997c9ea5f82550e40a1979ee16cfc0b3a8bf2769
[freeradius.git] / src / include / radutmp.h
1 /*
2  * radutmp.h    Definitions for the Radius UTMP file.
3  *
4  * Version:     $Id$
5  */
6
7 #ifndef _RADUTMP_H
8 #define _RADUTMP_H
9
10 #include <freeradius-devel/ident.h>
11 RCSIDH(radutmp_h, "$Id$")
12
13 /*
14  *      Types of connection.
15  */
16 #ifndef P_UNKNOWN
17 #  define P_UNKNOWN       0
18 #  define P_LOCAL         'L'
19 #  define P_RLOGIN        'R'
20 #  define P_SLIP          'S'
21 #  define P_CSLIP         'C'
22 #  define P_PPP           'P'
23 #  define P_AUTOPPP       'A'
24 #  define P_TELNET        'E'
25 #  define P_TCPCLEAR      'T'
26 #  define P_TCPLOGIN      'U'
27 #  define P_CONSOLE       '!'
28 #  define P_SHELL         'X'
29 #endif
30
31 #define P_IDLE          0
32 #define P_LOGIN         1
33
34 struct radutmp {
35   char login[32];               /* Loginname */
36                                 /* FIXME: extend to 48 or 64 bytes */
37   unsigned int nas_port;        /* Port on the terminal server (32 bits). */
38   char session_id[8];           /* Radius session ID (first 8 bytes at least)*/
39                                 /* FIXME: extend to 16 or 32 bytes */
40   unsigned int nas_address;     /* IP of portmaster. */
41   unsigned int framed_address;  /* SLIP/PPP address or login-host. */
42   int proto;                    /* Protocol. */
43   time_t time;                  /* Time entry was last updated. */
44   time_t delay;                 /* Delay time of request */
45   int type;                     /* Type of entry (login/logout) */
46   char porttype;                /* Porttype (I=ISDN A=Async T=Async-ISDN */
47   char res1,res2,res3;          /* Fills up to one int */
48   char caller_id[16];           /* Calling-Station-ID */
49   char reserved[12];            /* 3 ints reserved */
50 };
51
52 /*
53  *      Take the size of the structure from the actual structure definition.
54  */
55 #define RUT_NAMESIZE sizeof(((struct radutmp *) NULL)->login)
56 #define RUT_SESSSIZE sizeof(((struct radutmp *) NULL)->session_id)
57
58 #endif /* _RADUTMP_H */