6177b0abad0d8cacd6de9b88c34e068065dc8d48
[l2tpns.git] / l2tplac.h
1 /* L2TPLAC */
2 /* $Id: l2tplac.h,v 1.0 2012-07-01 14:49:28 fendo Exp $ */
3
4 #ifndef __L2TPLAC_H__
5 #define __L2TPLAC_H__
6
7 #define L2TPLACPORT 65432 // L2TP port for Remote LNS
8 // Limits
9 #define MAXRLNSTUNNEL 201
10
11 typedef uint16_t confrlnsidt;
12
13 // l2tplac.c
14 void lac_initremotelnsdata();
15 int lac_session_forward(uint8_t *buf, int len, sessionidt sess, uint16_t proto, in_addr_t s_addr, int sin_port);
16 int lac_conf_forwardtoremotelns(sessionidt s, char * puser);
17 void lac_calc_rlns_auth(tunnelidt t, uint8_t id, uint8_t *out);
18 int lac_addremotelns(char *mask, char *IP_RemoteLNS, char *Port_RemoteLNS, char *SecretRemoteLNS);
19
20 /* Function for Tunnels creating from radius reponses */
21 void lac_reset_rad_tag_tunnel_ctxt();
22 void lac_set_rad_tag_tunnel_type(uint8_t tag, uint32_t tunnel_type);
23 void lac_set_rad_tag_tunnel_medium_type(uint8_t tag, uint32_t tunnel_medium_type);
24 void lac_set_rad_tag_tunnel_serv_endpt(uint8_t tag, char *tunnel_server_endpoint);
25 void lac_set_rad_tag_tunnel_password(uint8_t tag, char *tunnel_password);
26 void lac_set_rad_tag_tunnel_assignment_id(uint8_t tag, char *tunnel_assignment_id);
27 void lac_save_rad_tag_tunnels(sessionidt s);
28 int lac_rad_select_assignment_id(sessionidt s, char *assignment_id);
29
30 int lac_rad_forwardtoremotelns(sessionidt s, char *assignment_id, char * puser);
31
32 int lac_cli_show_remotelns(confrlnsidt idrlns, char *strout);
33 #endif /* __L2TPLAC_H__ */