/* pptp_quirks.h ...... various options to fix quirks found in buggy adsl modems * mulix * * $Id: pptp_quirks.h,v 1.2 2011/12/19 07:15:03 quozl Exp $ */ #ifndef INC_PPTP_QUIRKS_H #define INC_PPTP_QUIRKS_H /* isp defs - correspond to slots in the fixups table */ #define BEZEQ_ISRAEL "BEZEQ_ISRAEL" /* vendor defs */ #define ORCKIT 1 #define ALCATEL 2 /* device defs */ #define ORCKIT_ATUR2 1 #define ORCKIT_ATUR3 2 #include "pptp_msg.h" #include "pptp_ctrl.h" struct pptp_fixup { const char* isp; /* which isp? e.g. Bezeq in Israel */ int vendor; /* which vendor? e.g. Orckit */ int device; /* which device? e.g. Orckit Atur3 */ /* use this hook to build your own out call request packet */ int (*out_call_rqst_hook)(struct pptp_out_call_rqst* packet); /* use this hook to build your own start control connection packet */ /* note that this hook is called from two different places, depending on whether this is a request or reply */ int (*start_ctrl_conn)(struct pptp_start_ctrl_conn* packet); /* use this hook if you need to send a 'set_link' packet once the connection is established */ int (*set_link_hook)(struct pptp_set_link_info* packet, int peer_call_id); }; extern struct pptp_fixup pptp_fixups[]; /* find the index for this isp in the quirks table */ /* return the index on success, -1 if not found */ int find_quirk(const char* isp_name); /* set the global quirk index. return 0 on success, non 0 otherwise */ int set_quirk_index(int index); /* get the global quirk index. return the index on success, -1 if no quirk is defined */ int get_quirk_index(void); #endif /* INC_PPTP_QUIRKS_H */