diff options
Diffstat (limited to 'src/include/radutmp.h')
-rw-r--r-- | src/include/radutmp.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/include/radutmp.h b/src/include/radutmp.h new file mode 100644 index 0000000..77b7551 --- /dev/null +++ b/src/include/radutmp.h @@ -0,0 +1,65 @@ +/* + * radutmp.h Definitions for the Radius UTMP file. + * + * Version: $Id$ + */ + +#ifndef _RADUTMP_H +#define _RADUTMP_H + +RCSIDH(radutmp_h, "$Id$") + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Types of connection. + */ +#ifndef P_UNKNOWN +# define P_UNKNOWN 0 +# define P_LOCAL 'L' +# define P_RLOGIN 'R' +# define P_SLIP 'S' +# define P_CSLIP 'C' +# define P_PPP 'P' +# define P_AUTOPPP 'A' +# define P_TELNET 'E' +# define P_TCPCLEAR 'T' +# define P_TCPLOGIN 'U' +# define P_CONSOLE '!' +# define P_SHELL 'X' +#endif + +#define P_IDLE 0 +#define P_LOGIN 1 + +struct radutmp { + char login[32]; /* Loginname */ + /* FIXME: extend to 48 or 64 bytes */ + unsigned int nas_port; /* Port on the terminal server (32 bits). */ + char session_id[8]; /* Radius session ID (first 8 bytes at least)*/ + /* FIXME: extend to 16 or 32 bytes */ + unsigned int nas_address; /* IP of portmaster. */ + unsigned int framed_address; /* SLIP/PPP address or login-host. */ + int proto; /* Protocol. */ + time_t time; /* Time entry was last updated. */ + time_t delay; /* Delay time of request */ + int type; /* Type of entry (login/logout) */ + char porttype; /* Porttype (I=ISDN A=Async T=Async-ISDN */ + char res1,res2,res3; /* Fills up to one int */ + char caller_id[16]; /* Calling-Station-ID */ + char reserved[12]; /* 3 ints reserved */ +}; + +/* + * Take the size of the structure from the actual structure definition. + */ +#define RUT_NAMESIZE sizeof(((struct radutmp *) NULL)->login) +#define RUT_SESSSIZE sizeof(((struct radutmp *) NULL)->session_id) + +#ifdef __cplusplus +} +#endif + +#endif /* _RADUTMP_H */ |