1/* 2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 25#ifndef __PPP_OPTIONS__ 26#define __PPP_OPTIONS__ 27 28 29/* PATHS definitions for PPP */ 30 31#define DIR_KEXT "/System/Library/Extensions/" 32#define DIR_LOGS "/var/log/ppp/" 33#define DIR_TTYS "/dev/" 34#define PATH_PPPD "/usr/sbin/pppd" 35#define PPPD_PRGM "pppd" 36 37/* Device default values */ 38 39#define OPT_DEV_NAME_DEF "modem" 40#define OPT_DEV_NAME_PPPoE_DEF "en0" 41#define OPT_DEV_SPEED_DEF 0 // use the default tty speed, CCL will set the speed 42#define OPT_DEV_CONNECTSCRIPT_DEF "Apple Internal 56K Modem (v.34)" 43#define OPT_DEV_SPEAKER_DEF 1 44#define OPT_DEV_DIALMODE_DEF 0 // Normal mode 45#define OPT_DEV_PULSE_DEF 0 46 47/* Comm default values */ 48 49#define OPT_COMM_IDLETIMER_DEF 0 // no idle timer 50#define OPT_COMM_SESSIONTIMER_DEF 0 // no session timer 51#define OPT_COMM_CONNECTDELAY_DEF 0 // delay to wait after link is connected (in seconds) 52#define OPT_COMM_REMINDERTIMER_DEF 0 // no reminder timer 53 54#define OPT_COMM_TERMINALMODE_DEF PPP_COMM_TERM_NONE 55 56/* LCP default values */ 57 58#define OPT_LCP_ACCOMP_DEF 1 // address and control fields compression activated 59#define OPT_LCP_PCOMP_DEF 1 // protocol field compression activated 60#define OPT_LCP_RCACCM_DEF PPP_LCP_ACCM_NONE // default asyncmap value 61#define OPT_LCP_TXACCM_DEF PPP_LCP_ACCM_NONE // default asyncmap value 62#define OPT_LCP_MRU_DEF 1500 63#define OPT_LCP_MRU_PPPoE_DEF 1492 /* use standart PPPoE MTU */ 64#define OPT_LCP_MRU_PPTP_DEF 1500 /* use standart PPP MTU */ 65#define OPT_LCP_MRU_L2TP_DEF 1500 /* use standart PPP MTU */ 66#define OPT_LCP_MTU_DEF 1500 67#define OPT_LCP_MTU_PPPoE_DEF 1492 /* use standart PPPoE MTU */ 68#define OPT_LCP_MTU_PPTP_DEF 1448 /* avoid fragmentation */ 69 /* 1500-IPHdr(20)-GRE(16)-PPP/MPPE(8)-PPPoE(8) */ 70#define OPT_LCP_MTU_L2TP_DEF 1280 /* avoid fragmentation */ 71#define OPT_LCP_ECHOINTERVAL_DEF 10 72#define OPT_LCP_ECHOFAILURE_DEF 4 73 74/* IPCP default values */ 75 76#define OPT_IPCP_HDRCOMP_DEF PPP_IPCP_HDRCOMP_VJ // tcp vj compression activated 77#define OPT_IPCP_USESERVERDNS_DEF 1 // acquire DNS from server 78#define OPT_HOSTNAME_DEF "localhost" 79#define OPT_ALERT_DEF PPP_ALERT_ENABLEALL 80 81/* AUTH default values */ 82 83#define OPT_AUTH_PROTO_DEF PPP_AUTH_PAPCHAP // do any auth proposed by server 84 85/* Misc default values */ 86 87#define OPT_VERBOSELOG_DEF 0 // quiet log by default 88#define OPT_LOGFILE_DEF "" // no logs by default (suggested name "ppp.log") 89#define OPT_AUTOCONNECT_DEF 0 // dial on demand not activated 90#define OPT_DISCLOGOUT_DEF 1 // disconnect on logout by default 91 92// pppd error codes (bits 0..7 of lastcause key) 93// error codes are in pppd/pppd.h 94 95// ppp serial error codes (bits 8..15 of last cause key) 96#define EXIT_PPPSERIAL_NOCARRIER 1 97#define EXIT_PPPSERIAL_NONUMBER 2 98#define EXIT_PPPSERIAL_BUSY 3 99#define EXIT_PPPSERIAL_NODIALTONE 4 100#define EXIT_PPPSERIAL_ERROR 5 101#define EXIT_PPPSERIAL_NOANSWER 6 102#define EXIT_PPPSERIAL_HANGUP 7 103#define EXIT_PPPSERIAL_MODEMSCRIPTNOTFOUND 8 104#define EXIT_PPPSERIAL_BADSCRIPT 9 105 106 107#define OPT_STR_LEN 256 108 109 110int ppp_getoptval(struct service *serv, CFDictionaryRef opts, CFDictionaryRef setup, 111 u_int32_t otype, void *pdata, u_int32_t pdatasiz, u_int32_t *plen); 112u_long get_addr_option (struct service *serv, CFStringRef entity, CFStringRef property, 113 CFDictionaryRef optsdict, CFDictionaryRef setupdict, u_int32_t *opt, u_int32_t defaultval); 114u_long get_int_option (struct service *serv, CFStringRef entity, CFStringRef property, 115 CFDictionaryRef optsdict, CFDictionaryRef setupdict, u_int32_t *opt, u_int32_t defaultval); 116int get_str_option (struct service *serv, CFStringRef entity, CFStringRef property, 117 CFDictionaryRef optsdict, CFDictionaryRef setupdict, u_char *opt, u_int32_t optsiz, u_int32_t *outlen, u_char *defaultval); 118CFTypeRef get_cf_option (CFStringRef entity, CFStringRef property, CFTypeID type, 119 CFDictionaryRef options, CFDictionaryRef setup, CFTypeRef defaultval); 120 121 122#endif 123