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.1 2001/11/20 06:30:10 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 26struct 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 45extern 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 */ 49int find_quirk(const char* isp_name); 50 51/* set the global quirk index. return 0 on success, non 0 otherwise */ 52int set_quirk_index(int index); 53 54/* get the global quirk index. return the index on success, 55 -1 if no quirk is defined */ 56int get_quirk_index(); 57 58 59#endif /* INC_PPTP_QUIRKS_H */ 60