diff options
Diffstat (limited to 'gatchat/ppp.h')
-rw-r--r-- | gatchat/ppp.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gatchat/ppp.h b/gatchat/ppp.h index 7753a396..53d52749 100644 --- a/gatchat/ppp.h +++ b/gatchat/ppp.h @@ -95,10 +95,20 @@ static inline guint16 __get_unaligned_short(const gpointer p) #define ppp_proto(packet) \ (get_host_short(packet + 2)) +struct auth_data { + guint16 proto; + gpointer proto_data; + void (*process_packet)(struct auth_data *data, guint8 *packet); + char *username; + char *passwd; + GAtPPP *ppp; +}; + struct _GAtPPP { gint ref_count; enum ppp_phase phase; struct pppcp_data *lcp; + struct auth_data *auth; guint8 buffer[BUFFERSZ]; int index; gint mru; @@ -137,3 +147,8 @@ void lcp_open(struct pppcp_data *data); void lcp_close(struct pppcp_data *data); void lcp_establish(struct pppcp_data *data); void lcp_terminate(struct pppcp_data *data); +void auth_set_credentials(struct auth_data *data, const char *username, + const char *passwd); +void auth_set_proto(struct auth_data *data, guint16 proto, guint8 method); +struct auth_data *auth_new(GAtPPP *ppp); +void auth_free(struct auth_data *auth); |