1 /* pptp_quirks.h ...... various options to fix quirks found in buggy adsl modems 2 * mulix <mulix@actcom.co.il> 3 * 4 * $Id: pptp_quirks.h,v 1.2 2011/12/19 07:15:03 quozl Exp $ 5 */ 6 7 #ifndef INC_PPTP_QUIRKS_H 8 #define INC_PPTP_QUIRKS_H 9 10 /* isp defs - correspond to slots in the fixups table */ 11 #define BEZEQ_ISRAEL "BEZEQ_ISRAEL" 12 13 /* vendor defs */ 14 15 #define ORCKIT 1 16 #define ALCATEL 2 17 18 /* device defs */ 19 20 #define ORCKIT_ATUR2 1 21 #define ORCKIT_ATUR3 2 22 23 #include "pptp_msg.h" 24 #include "pptp_ctrl.h" 25 26 struct pptp_fixup { 27 const char* isp; /* which isp? e.g. Bezeq in Israel */ 28 int vendor; /* which vendor? e.g. Orckit */ 29 int device; /* which device? e.g. Orckit Atur3 */ 30 31 /* use this hook to build your own out call request packet */ 32 int (*out_call_rqst_hook)(struct pptp_out_call_rqst* packet); 33 34 /* use this hook to build your own start control connection packet */ 35 /* note that this hook is called from two different places, depending 36 on whether this is a request or reply */ 37 int (*start_ctrl_conn)(struct pptp_start_ctrl_conn* packet); 38 39 /* use this hook if you need to send a 'set_link' packet once 40 the connection is established */ 41 int (*set_link_hook)(struct pptp_set_link_info* packet, 42 int peer_call_id); 43 }; 44 45 extern struct pptp_fixup pptp_fixups[]; 46 47 /* find the index for this isp in the quirks table */ 48 /* return the index on success, -1 if not found */ 49 int find_quirk(const char* isp_name); 50 51 /* set the global quirk index. return 0 on success, non 0 otherwise */ 52 int set_quirk_index(int index); 53 54 /* get the global quirk index. return the index on success, 55 -1 if no quirk is defined */ 56 int get_quirk_index(void); 57 58 59 #endif /* INC_PPTP_QUIRKS_H */ 60