1/*
2 * Copyright (c) 2007 Apple 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//  cclkeys.h
25//
26//  Created by kevine on 3/1/06.
27//  Recreated by sspies 15 January 2007
28// *****************************************************************************
29
30
31#ifndef CCLKEYS_H
32#define CCLKEYS_H
33
34#include <SystemConfiguration/SCSchemaDefinitions.h>
35
36// CCL bundles ...
37#define kCCLFileExtension       CFSTR("ccl")
38
39// top-level structure for bundle dictionary
40#define kCCLPersonalitiesKey    CFSTR("CCL Personalities")      // dict
41// personality names are keys; -> kSCPropNetModemConnectionPersonality
42#define kCCLDefaultPersonalityKey CFSTR("Default Personality")  // dict
43#define kCCLVersionKey          CFSTR("CCL Version")            // integer
44#define kCCLBundleVersion       1
45
46// Personality's type
47#define kCCLConnectTypeKey      CFSTR("Connect Type")       // string
48#define kCCLConnectGPRS             CFSTR("GPRS")
49#define kCCLConnectDialup           CFSTR("Dialup")
50
51// flat scripts that this personality obsoletes
52#define kCCLSupersedesKey    CFSTR("Supersedes")            // array of str
53
54// How personality is described in the UI
55#define kCCLDeviceNamesKey      CFSTR("Device Names")       // array
56#define kCCLVendorKey  kSCPropNetModemDeviceVendor /*("DeviceVendor")*/ // str
57#define kCCLModelKey   kSCPropNetModemDeviceModel  /*("DeviceModel")*/  // str
58
59// Device capabilities assumed by personality
60#define kCCLGPRSCapabilitiesKey CFSTR("GPRS Capabilities")  // dict
61#define kCCLSupportsCIDQueryKey     CFSTR("CID Query")         // bool
62#define kCCLSupportsDataModeKey     CFSTR("Data Mode")         //bool(AT+CGDATA)
63#define kCCLSupportsDialModeKey     CFSTR("Dial Mode")         // bool (ATD *99)
64#define kCCLMaximumCIDKey           CFSTR("Maximum CID")       // integer
65#define kCCLIndependentCIDs         CFSTR("Independent CIDs")  // bool
66#define kCCLIndependentCIDsKey      CFSTR("Independent CIDs")  // bool
67// Independent CIDs means that commands like AT+CGDCONT= won't override
68// APN valumes stored (by CID) in the device.
69
70// Parameters passed to the script for this personality
71#define kCCLScriptNameKey       CFSTR("Script Name")        // in Resources/
72#define kCCLParametersKey       CFSTR("CCLParameters")      // dict
73#define kCCLConnectSpeedKey         CFSTR("Connect Speed")     // string (^20)
74#define kCCLInitStringKey           CFSTR("Init String")       // string (^21)
75#define kCCLPreferredAPNKey         CFSTR("Preferred APN")     // str (-> ^22)
76#define kCCLPreferredCIDKey         CFSTR("Preferred CID")     // int (-> ^23)
77// Preferred CID w/o Preferred APN means use APN stored "at" that CID in phone
78// A Preferred CID with Preferred APN means assign the given APN to said CID
79
80// varStrings 23-26 reserved for future language-defined arguments
81
82// Four script-defined arguments to be used as seen fit
83#define kCCLVarString27Key          CFSTR("varString 27")   // string (^27)
84#define kCCLVarString28Key          CFSTR("varString 28")   // string (^28)
85#define kCCLVarString29Key          CFSTR("varString 29")   // string (^29)
86#define kCCLVarString30Key          CFSTR("varString 30")   // string (^30)
87
88// traditional argument now in the dict passed from pppd to CCLEngine
89#define kModemPhoneNumberKey    CFSTR("Phone Number")   // string (^1 & ^7-9)
90
91
92// CCLEngine control keys
93#define kCCLEngineDictKey           CFSTR("Engine Control") // control dict
94
95// engine control parameters
96#define kCCLEngineModeKey               CFSTR("Mode")               // str
97#define kCCLEngineModeConnect           CFSTR("Connect")
98#define kCCLEngineModeDisconnect        CFSTR("Disconnect")
99#define kCCLEngineBundlePathKey         CFSTR("Bundle Path")        // str
100#define kCCLEngineServiceIDKey          CFSTR("Service ID")         // str
101#define kCCLEngineAlertNameKey          CFSTR("Alert Name")         // str
102#define kCCLEngineIconPathKey           CFSTR("Icon Path")          // str
103#define kCCLEngineCancelNameKey         CFSTR("Cancel Name")        // str
104#define kCCLEngineSyslogLevelKey        CFSTR("Syslog Level")       // int
105#define kCCLEngineSyslogFacilityKey     CFSTR("Syslog Facility")    // int
106#define kCCLEngineVerboseLoggingKey     CFSTR("Verbose Logging")    // int
107#define kCCLEngineLogToStdErrKey        CFSTR("Log To Stderr")      // int
108
109// #define kCCLEngineLogFileKey         CFSTR("Log File")           // unused
110// #define kCCLEngineBundleIconURLKey      CFSTR("BundleIconURL")   // unused
111
112#endif      // CCLKEYS_H
113