diff options
Diffstat (limited to 'accel-pppd/ctrl/pppoe/vpppoe.h')
-rw-r--r-- | accel-pppd/ctrl/pppoe/vpppoe.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/accel-pppd/ctrl/pppoe/vpppoe.h b/accel-pppd/ctrl/pppoe/vpppoe.h index 5b41070..d56bd74 100644 --- a/accel-pppd/ctrl/pppoe/vpppoe.h +++ b/accel-pppd/ctrl/pppoe/vpppoe.h @@ -1,13 +1,26 @@ #ifndef VPPPOE_H #define VPPPOE_H -void vpppoe_init(); void vpppoe_get(); void vpppoe_put(); -int vpppoe_pppoe_session_add_del(uint8_t *client_mac, in_addr_t *client_ip, uint16_t session_id, int is_add, uint32_t *out_ifindex); -int vpppoe_get_sw_ifname_by_index(uint32_t sw_ifindex, char *ifname, size_t len); -int vpppoe_lcp_tun_add_del(uint32_t ifindex, const char *host_if_name, int is_add); -int vpppoe_set_feature(uint32_t ifindex, int is_enabled, const char *feature, const char *arc); +struct triton_context_t; + +typedef struct vpppoe_setup_pppoe_interface_ctx_t +{ + struct triton_context_t *tctx; + void (*callback)(struct vpppoe_setup_pppoe_interface_ctx_t *ctx); + void *priv; + + int remove_after; + + /* Output values */ + int err; /* 0 - OK */ + uint32_t ifindex; + char ifname[16]; +} vpppoe_setup_pppoe_interface_ctx_t; + +int vpppoe_async_add_pppoe_interface(uint8_t *client_mac, in_addr_t *client_ip, uint16_t session_id, vpppoe_setup_pppoe_interface_ctx_t *callback_ctx); +void vpppoe_async_del_pppoe_interface(uint8_t *client_mac, in_addr_t *client_ip, uint16_t session_id, uint32_t ifindex, char *ifname); #endif /* VPPPOE_H */
\ No newline at end of file |