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