this repo has no description
1/*
2 * Copyright (c) 2000-2019 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/*
25 * genSCPreferences.c
26 * - generates System Configuration header/cfile
27 * - invoke with "header" to generate the header
28 * - invoke with "cfile" to generate the cfile
29 */
30
31/*
32 * Modification History
33 *
34 * 12 March 2015 Sushant Chavan (sushant_chavan@apple.com)
35 * - cleanup of SC_SCHEMA_DECLARATION and SC_SCHEMA_KV macros.
36 *
37 * 4 March 2004 Allan Nathanson (ajn@apple.com)
38 * - an alternate scheme to help facilitate access to the schema
39 * definitions for cross-compilation to earlier releases AND
40 * access to CFM applications.
41 *
42 * 16 July 2003 Allan Nathanson (ajn@apple.com)
43 * - changes to facilitate cross-compilation to earlier releases
44 *
45 * 5 May 2003 Allan Nathanson (ajn@apple.com)
46 * - switch back to "extern const CFStringRef ..."
47 *
48 * 1 June 2001 Allan Nathanson <ajn@apple.com>
49 * - public API conversion
50 *
51 * 27 Apr 2001 Allan Nathanson (ajn@apple.com)
52 * - switch from "extern const CFStringRef ..." to "#define ..."
53 *
54 * 3 Nov 2000 Dieter Siegmund (dieter@apple)
55 * - created
56 */
57#include <stdio.h>
58#include <stdlib.h>
59#include <string.h>
60#include <unistd.h>
61#include <mach/boolean.h>
62
63char copyright_string[] =
64"/*\n"
65" * Copyright (c) 2000-2019 Apple Inc. All rights reserved.\n"
66" *\n"
67" * @APPLE_LICENSE_HEADER_START@\n"
68" *\n"
69" * This file contains Original Code and/or Modifications of Original Code\n"
70" * as defined in and that are subject to the Apple Public Source License\n"
71" * Version 2.0 (the 'License'). You may not use this file except in\n"
72" * compliance with the License. Please obtain a copy of the License at\n"
73" * http://www.opensource.apple.com/apsl/ and read it before using this\n"
74" * file.\n"
75" *\n"
76" * The Original Code and all software distributed under the License are\n"
77" * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER\n"
78" * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,\n"
79" * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,\n"
80" * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.\n"
81" * Please see the License for the specific language governing rights and\n"
82" * limitations under the License.\n"
83" *\n"
84" * @APPLE_LICENSE_HEADER_END@\n"
85" */\n";
86
87
88typedef enum {
89 DEFINE,
90 DEFINE_PRIVATE,
91 COMMENT,
92 GROUP,
93 SC_10_1,
94 SC_10_1_IPHONE_NA,
95 SC_10_2,
96 SC_10_3,
97 SC_10_1_10_4, // deprecated in 10.4
98 SC_10_4,
99 SC_10_5,
100 SC_10_5_IPHONE_NA,
101 SC_10_5_10_7_IPHONE_NA, // deprecated in 10.7
102 SC_10_1_10_9, // deprecated in 10.9
103 SC_10_2_10_9, // deprecated in 10.9
104 SC_10_2_10_13, // deprecated in 10.13
105 SC_10_2_10_15, // deprecated in 10.15
106 SC_10_3_10_9, // deprecated in 10.9
107 SC_10_3_10_15, // deprecated in 10.15
108 SC_10_4_10_9, // deprecated in 10.9
109 SC_10_6_IPHONE_2_0,
110 SC_10_6_IPHONE_3_0,
111 SC_10_7_IPHONE_4_0,
112 COMMENT_PRIVATE,
113 GROUP_PRIVATE,
114 SC_10_5_PRIVATE,
115 SC_10_2_10_12_IPHONE_2_0_10_0, // deprecated in OSX 10.12, iOS 10.0
116 SC_10_3_10_12_IPHONE_2_0_10_0, // deprecated in OSX 10.12, iOS 10.0
117 SC_10_6_IPHONE_2_0_PRIVATE,
118 SC_10_6_IPHONE_3_0_PRIVATE,
119 SC_10_7_IPHONE_4_0_PRIVATE,
120 SC_10_7_IPHONE_5_0_PRIVATE,
121 SC_10_8_IPHONE_6_0_PRIVATE,
122 SC_10_9_IPHONE_6_0_PRIVATE,
123 SC_10_9_IPHONE_7_0_PRIVATE,
124 SC_10_10_IPHONE_7_0_PRIVATE,
125 SC_10_10_IPHONE_8_0_PRIVATE,
126 SC_10_11_IPHONE_9_0_PRIVATE,
127 SC_10_12_IPHONE_10_0_PRIVATE,
128 SC_10_13_IPHONE_10_0_PRIVATE,
129 SC_10_13_IPHONE_11_0_PRIVATE,
130 SC_10_14_IPHONE_12_0_PRIVATE,
131 SC_10_15_IPHONE_13_0_PRIVATE,
132 SC_IPHONE_2_0_PRIVATE,
133 SC_IPHONE_7_0_PRIVATE,
134 SC_IPHONE_8_0_PRIVATE,
135 COMMENT_DEPRECATED,
136 GROUP_DEPRECATED,
137 COMMENT_DEPRECATED_NO_HEADER,
138 GROUP_DEPRECATED_NO_HEADER,
139 DEPRECATED_NO_HEADER,
140 END
141} controlType;
142
143#define SC_SCHEMA_DECLARATION "SC_SCHEMA_DECLARATION"
144#define SC_SCHEMA_KV "SC_SCHEMA_KV"
145
146#define KEY_PREFIX "kSC"
147
148#define COMP "Comp"
149#define DYNAMICSTORE "DynamicStore"
150#define PREF "Pref"
151#define PROP "Prop"
152#define PATH "Path"
153#define NETENT "EntNet"
154#define NETPROP "PropNet"
155#define NETVAL "ValNet"
156#define SETUPENT "EntSetup"
157#define SETUPPROP "PropSetup"
158#define SYSTEMENT "EntSystem"
159#define SYSTEMPROP "PropSystem"
160#define RESV "Resv"
161#define USERSENT "EntUsers"
162#define USERSPROP "PropUsers"
163#define VERSION "Version"
164#define VIRTUALPROP "PropVirtualNetworkInterfaces"
165
166#define CFARRAY_CFDICTIONARY "CFArray[CFDictionary]"
167#define CFARRAY_CFNUMBER "CFArray[CFNumber]"
168#define CFARRAY_CFSTRING "CFArray[CFString]"
169#define CFBOOLEAN "CFBoolean"
170#define CFDATA "CFData"
171#define CFDATE "CFDate"
172#define CFDICTIONARY "CFDictionary"
173#define CFNUMBER "CFNumber"
174#define CFNUMBER_BOOL "CFNumber (0 or 1)"
175#define CFSTRING "CFString"
176
177#define ACCESSPOINTNAME "AccessPointName"
178#define ACCOUNT "Account"
179#define ACSP "ACSP" // Apple Client Server Protocol
180#define ACTION "Action"
181#define ACTIVE "Active"
182#define ADDITIONAL "Additional"
183#define ADDRESS "Address"
184#define ADDRESSES "Addresses"
185#define AFTER "After"
186#define AGGRESSIVE "Aggressive"
187#define AIRPORT "AirPort"
188#define ALERT "Alert"
189#define ALIVE "Alive"
190#define ALLOW "Allow"
191#define ALLOWED "Allowed"
192#define ALLOWNETCREATION "AllowNetCreation"
193#define ALTERNATE "Alternate"
194#define ALWAYS "Always"
195#define ANYREGEX "AnyRegex"
196#define APP "App"
197#define APPLE "Apple"
198#define APPLETALK "AppleTalk"
199#define ARP "ARP"
200#define AUDIOVIDEOCALLS "AudioVideoCalls"
201#define AUTH "Auth"
202#define AUTHENTICATIONMETHOD "AuthenticationMethod"
203#define AUTOCONFIG "AutoConfig"
204#define AUTODISCOVERY "AutoDiscovery"
205#define AUTOMATIC "Automatic"
206#define AV "AV"
207#define BEFORE "Before"
208#define BINDINGMETHODS "BindingMethods"
209#define BOND "Bond"
210#define BOOTP "BOOTP"
211#define BRIDGE "Bridge"
212#define BROADCAST "Broadcast"
213#define BYPASS "Bypass"
214#define CALLWAITINGAUDIBLEALERT "CallWaitingAudibleAlert"
215#define CAPABILITIES "Capabilities"
216#define CAPABILITY "Capability"
217#define CAUSE "Cause"
218#define CCP "CCP"
219#define CELLULAR "Cellular"
220#define CERTIFICATE "Certificate"
221#define CGA "CGA"
222#define CHAP "CHAP"
223#define CLAT46 "CLAT46"
224#define COLLISION "Collision"
225#define COMM "Comm"
226#define COMPATIBLE "Compatible"
227#define COMPRESSIONACFIELD "CompressionACField"
228#define COMPRESSIONPFIELD "CompressionPField"
229#define COMPRESSIONVJ "CompressionVJ"
230#define COMPUTERNAME "ComputerName"
231#define COMPLETIONTIME "CompletionTime"
232#define CONFIGMETHOD "ConfigMethod"
233#define CONFIGURATION "Configuration"
234#define CONFIRMED "Confirmed"
235#define CONNECT "Connect"
236#define CONNECTDELAY "ConnectDelay"
237#define CONNECTION "Connection"
238#define CONNECTSPEED "ConnectSpeed"
239#define CONNECTTIME "ConnectTime"
240#define CONSERVATIVE "Conservative"
241#define CONSOLEUSER "ConsoleUser"
242#define CONTEXTID "ContextID"
243#define CREDENTIAL "Credential"
244#define CURRENTSET "CurrentSet"
245#define DATACOMPRESSION "DataCompression"
246#define DEFAULT "Default"
247#define DEFAULTZONE "DefaultZone"
248#define DELEGATION "Delegation"
249#define DESIGNATED "Designated"
250#define DEST "Dest"
251#define DESTINATION "Destination"
252#define DETACHING "Detaching"
253#define DEVICE "Device"
254#define DEVICENAME "DeviceName"
255#define DHCP "DHCP"
256#define DHCPCLIENTID "DHCPClientID"
257#define DIALMODE "DialMode"
258#define DIALONDEMAND "DialOnDemand"
259#define DISABLEUNTILNEEDED "DisableUntilNeeded"
260#define DISCONNECT "Disconnect"
261#define DISCONNECTONANSWER "DisconnectOnAnswer"
262#define DISCONNECTONFASTUSERSWITCH "DisconnectOnFastUserSwitch"
263#define DISCONNECTONIDLE "DisconnectOnIdle"
264#define DISCONNECTONIDLETIMER "DisconnectOnIdleTimer"
265#define DISCONNECTONLOGOUT "DisconnectOnLogout"
266#define DISCONNECTONSLEEP "DisconnectOnSleep"
267#define DISCONNECTONWAKE "DisconnectOnWake"
268#define DISCONNECTONWAKETIMER "DisconnectOnWakeTimer"
269#define DISCONNECTTIME "DisconnectTime"
270#define DISCOVERY "Discovery"
271#define DISPLAYTERMINALWINDOW "DisplayTerminalWindow"
272#define DNS "DNS"
273#define DOMAIN "Domain"
274#define DOMAINS "Domains"
275#define DURINGSLEEP "DuringSleep"
276#define EAP "EAP"
277#define EAPOL "EAPOL"
278#define ECHO "Echo"
279#define ECHOFAILURE "EchoFailure"
280#define ECHOINTERVAL "EchoInterval"
281#define ENABLE "Enable"
282#define ENABLED "Enabled"
283#define ENCODING "Encoding"
284#define ENCRYPTION "Encryption"
285#define ERRORCORRECTION "ErrorCorrection"
286#define ETHERNET "Ethernet"
287#define EVALUATE "Evaluate"
288#define EXCEPTIONSLIST "ExceptionsList"
289#define EXCLUDED "Excluded"
290#define EXCLUDESIMPLEHOSTNAMES "ExcludeSimpleHostnames"
291#define EXECUTABLE "Executable"
292#define EXPENSIVE "Expensive"
293#define EXPIRED "Expired"
294#define EXTERNAL "External"
295#define FAILOVER "Failover"
296#define FAILURE "Failure"
297#define FALLBACK "FallBack"
298#define FILE "File"
299#define FIREWIRE "FireWire"
300#define FIRST "First"
301#define FLAGS "Flags"
302#define FTP "FTP"
303#define GATEWAY "Gateway"
304#define GID "GID"
305#define GLOBAL "Global"
306#define GOPHER "Gopher"
307#define HARDWARE "Hardware"
308#define HIGH "High"
309#define HOLD "Hold"
310#define HOSTNAME "HostName"
311#define HOSTNAMES "HostNames"
312#define HTTP "HTTP"
313#define HTTPS "HTTPS"
314#define HYBRID "Hybrid"
315#define IDENTIFIER "Identifier"
316#define IDENTIFIERS "Identifiers"
317#define IDLE "Idle"
318#define IFNEEDED "IfNeeded"
319#define IGNORE "Ignore"
320#define IGNOREDIALTONE "IgnoreDialTone"
321#define IGNORELINKSTATUS "IgnoreLinkStatus"
322#define INACTIVE "Inactive"
323#define INCLUDED "Included"
324#define INFO "Info"
325#define INFORM "INFORM"
326#define INTERFACE "Interface"
327#define INTERFACENAME "InterfaceName"
328#define INTERFACES "Interfaces"
329#define IP "IP"
330#define IPCP "IPCP"
331#define IPSEC "IPSec"
332#define IPV4 "IPv4"
333#define IPV6 "IPv6"
334#define JAVASCRIPT "JavaScript"
335#define JOIN "Join"
336#define JUMBO_MTU "JUMBO_MTU"
337#define KEYCHAIN "Keychain"
338#define KEYID "KeyID"
339#define L2TP "L2TP"
340#define LAST "Last"
341#define LAYER "Layer"
342#define LCP "LCP"
343#define LINK "Link"
344#define LINKISSUES "LinkIssues"
345#define LINKLOCAL "LinkLocal"
346#define LINKQUALITY "LinkQuality"
347#define LOCALCERTIFICATE "LocalCertificate"
348#define LOCALHOSTNAME "LocalHostName"
349#define LOCALIDENTIFIER "LocalIdentifier"
350#define LOGFILE "Logfile"
351#define LOOPBACK "Loopback"
352#define LOW "Low"
353#define LRO "LRO"
354#define MACADDRESS "MACAddress"
355#define MANUAL "Manual"
356#define MATCH "Match"
357#define MEDIA "Media"
358#define MIXED "Mixed"
359#define MODE "Mode"
360#define MODEL "Model"
361#define MODEM "Modem"
362#define MODULEID "ModuleID"
363#define MPPE128 "MPPE128"
364#define MPPE40 "MPPE40"
365#define MRU "MRU"
366#define MSCHAP1 "MSCHAP1"
367#define MSCHAP2 "MSCHAP2"
368#define MTU "MTU"
369#define NAME "Name"
370#define NAT64 "NAT64"
371#define NETBIOS "NetBIOS"
372#define NETINFO "NetInfo"
373#define NETWORK "Network"
374#define NETWORKID "NetworkID"
375#define NETWORKRANGE "NetworkRange"
376#define NETWORKSERVICES "NetworkServices"
377#define NEVER "Never"
378#define NO "No"
379#define NODE "Node"
380#define NODEID "NodeID"
381#define NOTE "Note"
382#define ONDEMAND "OnDemand"
383#define ONRETRY "OnRetry"
384#define OPTIONS "Options"
385#define ORDER "Order"
386#define ORDERS "Orders"
387#define OVERRIDEPRIMARY "OverridePrimary"
388#define PAP "PAP"
389#define PARAMETERS "Parameters"
390#define PASSIVE "Passive"
391#define PASSWORD "Password"
392#define PEER "Peer"
393#define PERFORM "Perform"
394#define PERSONALITY "Personality"
395#define PLAT "PLAT"
396#define PLUGIN "Plugin"
397#define PLUGINS "Plugins"
398#define POLICY "Policy"
399#define PORT "Port"
400#define PORTINUSE "PortInUse"
401#define POWER "Power"
402#define PPP "PPP"
403#define PPPOE "PPPoE"
404#define PPPSERIAL "PPPSerial"
405#define PPTP "PPTP"
406#define PREFERRED "Preferred"
407#define PREFIX "Prefix"
408#define PREFIXLENGTH "PrefixLength"
409#define PREFIXLIST "PrefixList"
410#define PREFS "Prefs"
411#define PRIMARYINTERFACE "PrimaryInterface"
412#define PRIMARYRANK "PrimaryRank"
413#define PRIMARYSERVICE "PrimaryService"
414#define PRIORITY "Priority"
415#define PROBE "Probe"
416#define PROMPT "Prompt"
417#define PROTOCOL "Protocol"
418#define PROXIES "Proxies"
419#define PROXY "Proxy"
420#define PULSEDIAL "PulseDial"
421#define QOSMARKING "QoSMarking"
422#define RANKED "Ranked"
423#define RECEIVEACCM "ReceiveACCM"
424#define RECENT "Recent"
425#define REDIAL "Redial"
426#define REDIALCOUNT "RedialCount"
427#define REDIALINTERVAL "RedialInterval"
428#define REFRESH "Refresh"
429#define REGION "Region"
430#define RELAY "Relay"
431#define REMINDER "Reminder"
432#define REMINDERTIME "ReminderTime"
433#define REMOTEADDRESS "RemoteAddress"
434#define REQUEST "Request"
435#define REQUESTED "Requested"
436#define REQUIRED "Required"
437#define REQUIREMENT "Requirement"
438#define RESOLVED "Resolved"
439#define RETRYCONNECTTIME "RetryConnectTime"
440#define ROOTSEPARATOR "RootSeparator"
441#define ROUTE "Route"
442#define ROUTER "Router"
443#define ROUTERADVERTISEMENT "RouterAdvertisement"
444#define ROUTES "Routes"
445#define RTSP "RTSP"
446#define RULE "Rule"
447#define RULES "Rules"
448#define RXCSUM "RXCSUM"
449#define SAVEPASSWORDS "SavePasswords"
450#define SCOPE "Scope"
451#define SCOPED "Scoped"
452#define SCRIPT "Script"
453#define SEARCH "Search"
454#define SEEDNETWORKRANGE "SeedNetworkRange"
455#define SEEDROUTER "SeedRouter"
456#define SEEDZONES "SeedZones"
457#define SERVER "Server"
458#define SERVERS "Servers"
459#define SERVICE "Service"
460#define SERVICEID "ServiceID"
461#define SERVICEIDS "ServiceIDs"
462#define SERVICEINDEX "ServiceIndex"
463#define SERVICES "Services"
464#define SESSIONTIMER "SessionTimer"
465#define SETS "Sets"
466#define SETUP "Setup"
467#define SHAREDSECRET "SharedSecret"
468#define SIGNING "Signing"
469#define SMB "SMB"
470#define SOCKS "SOCKS"
471#define SORTLIST "SortList"
472#define SPEAKER "Speaker"
473#define SPECIFIC "Specific"
474#define SPEED "Speed"
475#define SSID "SSID"
476#define STARTTIME "StartTime"
477#define STATE "State"
478#define STATUS "Status"
479#define STF "6to4"
480#define STRONGEST "Strongest"
481#define SUBNETMASK "SubnetMask"
482#define SUBNETMASKS "SubnetMasks"
483#define SUBTYPE "SubType"
484#define SUPPLEMENTAL "Supplemental"
485#define SUPPORTED "Supported"
486#define SUPPORTSMODEMONHOLD "SupportsModemOnHold"
487#define SUSPENDED "Suspended"
488#define SYSTEM "System"
489#define TAG "Tag"
490#define TAGS "Tags"
491#define TERMINALSCRIPT "TerminalScript"
492#define TIMEOUT "Timeout"
493#define TIMER "Timer"
494#define TIMESTAMP "TimeStamp"
495#define TOKEN "Token"
496#define TRANSMITACCM "TransmitACCM"
497#define TRANSPORT "Transport"
498#define TSO "TSO"
499#define TSO4 "TSO4"
500#define TSO6 "TSO6"
501#define TXCSUM "TXCSUM"
502#define TYPE "Type"
503#define UID "UID"
504#define UPDATED "Updated"
505#define URLSTRING "URLString"
506#define USE "Use"
507#define USERDEFINEDNAME "UserDefinedName"
508#define USERS "Users"
509#define UUID "UUID"
510#define VENDOR "Vendor"
511#define VERBOSELOGGING "VerboseLogging"
512#define VIRTUALNETWORKINTERFACES "VirtualNetworkInterfaces"
513#define VLAN "VLAN"
514#define VLAN_HWTAGGING "VLAN_HWTAGGING"
515#define VLAN_MTU "VLAN_MTU"
516#define VPN "VPN"
517#define WAITFORDIALTONE "WaitForDialTone"
518#define WHITELISTED "Whitelisted"
519#define WIFI "WiFi"
520#define WINS "WINS"
521#define WORKGROUP "Workgroup"
522#define XAUTH "XAuth"
523
524
525typedef struct {
526 int control;
527 const char * prefix;
528 const char * key;
529 const char * value;
530 const char * type;
531} schemaDefinition;
532
533static schemaDefinition names[] = {
534
535 { GROUP, NULL, "Reserved Keys", NULL, NULL },
536
537 { SC_10_1, RESV, LINK, "__LINK__", CFSTRING },
538 { SC_10_1, RESV, INACTIVE, "__INACTIVE__", NULL },
539 { COMMENT, "", NULL, NULL, NULL },
540
541 { GROUP, NULL, "Generic Keys", NULL, NULL },
542
543 { SC_10_1, PROP, INTERFACENAME, NULL, CFSTRING },
544 { SC_10_1, PROP, MACADDRESS, NULL, CFSTRING },
545 { SC_10_1, PROP, USERDEFINEDNAME, NULL, CFSTRING },
546 { SC_10_1, PROP, VERSION, NULL, CFSTRING },
547 { COMMENT, "", NULL, NULL, NULL },
548
549 { GROUP_PRIVATE, NULL, "Generic Keys", NULL, NULL },
550 { SC_10_5_PRIVATE, NETPROP, IGNORELINKSTATUS, NULL, CFBOOLEAN },
551 { SC_10_10_IPHONE_8_0_PRIVATE, PROP, CONFIRMED INTERFACENAME, NULL, CFSTRING },
552 { SC_10_11_IPHONE_9_0_PRIVATE, PROP, DISABLEUNTILNEEDED, NULL, CFNUMBER_BOOL },
553 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
554
555
556 { GROUP, PREF, "Preference Keys", NULL, NULL },
557
558 { SC_10_1, PREF, CURRENTSET, NULL, CFSTRING },
559 { SC_10_1, PREF, NETWORKSERVICES, NULL, CFDICTIONARY },
560 { SC_10_1, PREF, SETS, NULL, CFDICTIONARY },
561 { SC_10_1, PREF, SYSTEM, NULL, CFDICTIONARY },
562 { COMMENT, "", NULL, NULL, NULL },
563
564 { GROUP_PRIVATE, PREF, "Preference Keys", NULL, NULL },
565
566 { SC_10_5_PRIVATE, PREF, VIRTUALNETWORKINTERFACES, NULL, CFDICTIONARY },
567 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
568
569 { GROUP, COMP, "Component Keys", NULL, NULL },
570
571 { SC_10_1, COMP, NETWORK, NULL, NULL },
572 { SC_10_1, COMP, SERVICE, NULL, NULL },
573 { SC_10_1, COMP, GLOBAL, NULL, NULL },
574 { SC_10_2, COMP, HOSTNAMES, NULL, NULL },
575 { SC_10_1, COMP, INTERFACE, NULL, NULL },
576 { SC_10_1, COMP, SYSTEM, NULL, NULL },
577 { SC_10_1, COMP, USERS, NULL, NULL },
578 { COMMENT, "", NULL, NULL, NULL },
579
580 { COMMENT, "--- Regex pattern which matches any component ---", NULL },
581 { SC_10_1, COMP, ANYREGEX, "[^/]+", NULL },
582 { COMMENT, "", NULL, NULL, NULL },
583
584 { GROUP, NETENT, "Network Entity Keys", NULL, NULL },
585
586 { SC_10_1, NETENT, AIRPORT, NULL, CFDICTIONARY },
587 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
588 { DEPRECATED_NO_HEADER, NETENT, APPLETALK, NULL, CFDICTIONARY },
589 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
590 { SC_10_1, NETENT, DHCP, NULL, CFDICTIONARY },
591 { SC_10_1, NETENT, DNS, NULL, CFDICTIONARY },
592 { SC_10_1, NETENT, ETHERNET, NULL, CFDICTIONARY },
593 { SC_10_3, NETENT, FIREWIRE, NULL, CFDICTIONARY },
594 { SC_10_1, NETENT, INTERFACE, NULL, CFDICTIONARY },
595 { SC_10_5, NETENT, IPSEC, NULL, CFDICTIONARY },
596 { SC_10_1, NETENT, IPV4, NULL, CFDICTIONARY },
597 { SC_10_1, NETENT, IPV6, NULL, CFDICTIONARY },
598 { SC_10_3, NETENT, L2TP, NULL, CFDICTIONARY },
599 { SC_10_1, NETENT, LINK, NULL, CFDICTIONARY },
600 { SC_10_1, NETENT, MODEM, NULL, CFDICTIONARY },
601 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
602 { DEPRECATED_NO_HEADER, NETENT, NETINFO, NULL, CFDICTIONARY },
603 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
604 { SC_10_1, NETENT, PPP, NULL, CFDICTIONARY },
605 { SC_10_1, NETENT, PPPOE, NULL, CFDICTIONARY },
606 { SC_10_3, NETENT, PPPSERIAL, NULL, CFDICTIONARY },
607 { SC_10_3_10_12_IPHONE_2_0_10_0, NETENT, PPTP, NULL, CFDICTIONARY },
608 { SC_10_1, NETENT, PROXIES, NULL, CFDICTIONARY },
609 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
610 { SC_10_5_IPHONE_NA, NETENT, SMB, NULL, CFDICTIONARY },
611 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
612 { SC_10_3, NETENT, STF, NULL, CFDICTIONARY },
613 { COMMENT, "", NULL, NULL, NULL },
614
615 { GROUP_PRIVATE, NETENT, "Network Entity Keys", NULL, NULL },
616
617 { SC_10_9_IPHONE_7_0_PRIVATE, NETENT, APP LAYER, NULL, CFDICTIONARY},
618 { SC_10_5_PRIVATE, NETENT, EAPOL, NULL, CFDICTIONARY },
619 { SC_10_7_IPHONE_5_0_PRIVATE, NETENT, IDLE ROUTE, NULL, NULL}, // notification
620 { SC_10_10_IPHONE_7_0_PRIVATE, NETENT, INTERFACE ACTIVE DURINGSLEEP REQUESTED, ACTIVE DURINGSLEEP REQUESTED, CFDICTIONARY},
621 { SC_10_10_IPHONE_7_0_PRIVATE, NETENT, INTERFACE ACTIVE DURINGSLEEP SUPPORTED, ACTIVE DURINGSLEEP SUPPORTED, CFDICTIONARY},
622 { SC_10_15_IPHONE_13_0_PRIVATE, NETENT, INTERFACE DELEGATION, NULL, NULL}, // notification
623 { SC_10_6_IPHONE_2_0_PRIVATE, NETENT, IPV4 ARP COLLISION, NULL, NULL}, // notification
624 { SC_10_6_IPHONE_2_0_PRIVATE, NETENT, IPV4 PORTINUSE, PORTINUSE, NULL}, // notification
625 { SC_10_10_IPHONE_8_0_PRIVATE, NETENT, IPV4 ROUTER ARP FAILURE, NULL, NULL}, // notification
626 { SC_10_10_IPHONE_8_0_PRIVATE, NETENT, IPV4 ROUTER ARP ALIVE, NULL, NULL}, // notification
627 { SC_10_13_IPHONE_11_0_PRIVATE, NETENT, IPV6 ROUTER EXPIRED, NULL, NULL}, // notification
628 { SC_10_9_IPHONE_7_0_PRIVATE, NETENT, LINKISSUES, NULL, CFDICTIONARY},
629 { SC_10_7_IPHONE_5_0_PRIVATE, NETENT, LINKQUALITY, NULL, CFDICTIONARY},
630 { SC_10_7_IPHONE_4_0_PRIVATE, NETENT, LOOPBACK, NULL, CFDICTIONARY },
631 { SC_10_14_IPHONE_12_0_PRIVATE, NETENT, NAT64, NULL, CFDICTIONARY },
632 { SC_10_13_IPHONE_11_0_PRIVATE, NETENT, NAT64 PREFIX REQUEST, NULL, NULL}, // notification
633 { SC_10_6_IPHONE_3_0_PRIVATE, NETENT, ONDEMAND, NULL, CFDICTIONARY },
634 { SC_10_13_IPHONE_10_0_PRIVATE, NETENT, QOSMARKING POLICY, NULL, CFDICTIONARY },
635 { SC_10_5_PRIVATE, NETENT, REFRESH CONFIGURATION, NULL, NULL }, // notification
636 { SC_10_6_IPHONE_2_0_PRIVATE, NETENT, SERVICE, "__SERVICE__", CFDICTIONARY },
637 { SC_10_7_IPHONE_4_0_PRIVATE, NETENT, VPN, NULL, CFDICTIONARY },
638 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
639
640 { GROUP, NETPROP, KEY_PREFIX COMP NETWORK " Properties", NULL, NULL },
641
642 { SC_10_2, NETPROP, OVERRIDEPRIMARY, NULL, CFNUMBER_BOOL },
643 { SC_10_1, NETPROP, SERVICE ORDER, NULL, CFARRAY_CFSTRING },
644 { SC_10_1, NETPROP, PPP OVERRIDEPRIMARY, NULL, CFNUMBER_BOOL },
645 { COMMENT, "", NULL, NULL, NULL },
646
647 { GROUP, NETPROP INTERFACES, KEY_PREFIX COMP NETWORK INTERFACE " Properties", NULL, NULL },
648
649 { SC_10_2, NETPROP, INTERFACES, NULL, CFARRAY_CFSTRING },
650 { COMMENT, "", NULL, NULL, NULL },
651
652 { GROUP, NETPROP LOCALHOSTNAME, KEY_PREFIX COMP NETWORK HOSTNAMES " Properties", NULL, NULL },
653
654 { SC_10_2, NETPROP, LOCALHOSTNAME, NULL, CFSTRING },
655 { COMMENT, "", NULL, NULL, NULL },
656
657 { GROUP_DEPRECATED, NETPROP AIRPORT, KEY_PREFIX NETENT AIRPORT " (Hardware) Entity Keys", NULL, NULL },
658
659 { SC_10_2_10_9, NETPROP AIRPORT, ALLOWNETCREATION, NULL, CFNUMBER_BOOL },
660 { SC_10_1_10_9, NETPROP AIRPORT, AUTH PASSWORD, NULL, CFDATA },
661 { SC_10_1_10_9, NETPROP AIRPORT, AUTH PASSWORD ENCRYPTION, NULL, CFSTRING },
662 { SC_10_2_10_9, NETPROP AIRPORT, JOIN MODE, NULL, CFSTRING },
663 { SC_10_1_10_9, NETPROP AIRPORT, POWER ENABLED, NULL, CFNUMBER_BOOL },
664 { SC_10_1_10_9, NETPROP AIRPORT, PREFERRED NETWORK, NULL, CFSTRING },
665 { SC_10_2_10_9, NETPROP AIRPORT, SAVEPASSWORDS, NULL, CFNUMBER_BOOL },
666 { COMMENT_DEPRECATED, "", NULL, NULL, NULL },
667 { COMMENT_DEPRECATED, "--- " KEY_PREFIX NETPROP AIRPORT JOIN MODE " values ---", NULL, NULL, NULL },
668 { SC_10_3_10_9, NETVAL AIRPORT JOIN MODE, AUTOMATIC, NULL, NULL },
669 { SC_10_2_10_9, NETVAL AIRPORT JOIN MODE, PREFERRED, NULL, NULL },
670 { SC_10_4_10_9, NETVAL AIRPORT JOIN MODE, RANKED, NULL, NULL },
671 { SC_10_2_10_9, NETVAL AIRPORT JOIN MODE, RECENT, NULL, NULL },
672 { SC_10_2_10_9, NETVAL AIRPORT JOIN MODE, STRONGEST, NULL, NULL },
673 { COMMENT_DEPRECATED, "", NULL, NULL, NULL },
674 { COMMENT_DEPRECATED, "--- " KEY_PREFIX NETPROP AIRPORT PASSWORD ENCRYPTION " values ---", NULL, NULL, NULL },
675 { SC_10_3_10_9, NETVAL AIRPORT AUTH PASSWORD ENCRYPTION, KEYCHAIN, NULL, NULL },
676 { COMMENT_DEPRECATED, "", NULL, NULL, NULL },
677
678 { GROUP_DEPRECATED_NO_HEADER, NETPROP APPLETALK, KEY_PREFIX NETENT APPLETALK " Entity Keys", NULL, NULL },
679
680 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
681// { DEPRECATED_NO_HEADER, NETPROP APPLETALK, COMPUTERNAME, NULL, CFSTRING },
682// { DEPRECATED_NO_HEADER, NETPROP APPLETALK, COMPUTERNAME ENCODING, NULL, CFNUMBER },
683 { DEPRECATED_NO_HEADER, NETPROP APPLETALK, CONFIGMETHOD, NULL, CFSTRING },
684 { DEPRECATED_NO_HEADER, NETPROP APPLETALK, DEFAULTZONE, NULL, CFSTRING },
685 { DEPRECATED_NO_HEADER, NETPROP APPLETALK, NETWORKID, NULL, CFNUMBER },
686// { DEPRECATED_NO_HEADER, NETPROP APPLETALK, NETWORKRANGE, NULL, CFARRAY_CFNUMBER },
687 { DEPRECATED_NO_HEADER, NETPROP APPLETALK, NODEID, NULL, CFNUMBER },
688// { DEPRECATED_NO_HEADER, NETPROP APPLETALK, SEEDNETWORKRANGE, NULL, CFARRAY_CFNUMBER },
689// { DEPRECATED_NO_HEADER, NETPROP APPLETALK, SEEDZONES, NULL, CFARRAY_CFSTRING },
690 { COMMENT_DEPRECATED_NO_HEADER, "", NULL, NULL, NULL },
691 { COMMENT_DEPRECATED_NO_HEADER, "--- " KEY_PREFIX NETPROP APPLETALK CONFIGMETHOD " values ---", NULL, NULL, NULL },
692 { DEPRECATED_NO_HEADER, NETVAL APPLETALK CONFIGMETHOD, NODE, NULL, NULL },
693// { DEPRECATED_NO_HEADER, NETVAL APPLETALK CONFIGMETHOD, ROUTER, NULL, NULL },
694// { DEPRECATED_NO_HEADER, NETVAL APPLETALK CONFIGMETHOD, SEEDROUTER, NULL, NULL },
695 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
696 { COMMENT_DEPRECATED_NO_HEADER, "", NULL, NULL, NULL },
697
698
699 { GROUP, NETPROP DNS, KEY_PREFIX NETENT DNS " Entity Keys", NULL, NULL },
700
701 { SC_10_1, NETPROP DNS, DOMAIN NAME, NULL, CFSTRING },
702 { SC_10_4, NETPROP DNS, OPTIONS, NULL, CFSTRING },
703 { SC_10_1, NETPROP DNS, SEARCH DOMAINS, NULL, CFARRAY_CFSTRING},
704 { SC_10_4, NETPROP DNS, SEARCH ORDER, NULL, CFNUMBER},
705 { SC_10_1, NETPROP DNS, SERVER ADDRESSES, NULL, CFARRAY_CFSTRING },
706 { SC_10_4, NETPROP DNS, SERVER PORT, NULL, CFNUMBER },
707 { SC_10_4, NETPROP DNS, SERVER TIMEOUT, NULL, CFNUMBER },
708 { SC_10_1, NETPROP DNS, SORTLIST, NULL, CFARRAY_CFSTRING },
709 { SC_10_4, NETPROP DNS, SUPPLEMENTAL MATCH DOMAINS, NULL, CFARRAY_CFSTRING},
710 { SC_10_4, NETPROP DNS, SUPPLEMENTAL MATCH ORDERS, NULL, CFARRAY_CFNUMBER},
711 { COMMENT, "", NULL, NULL, NULL },
712
713 { GROUP_PRIVATE, NETPROP DNS, KEY_PREFIX NETENT DNS " Entity Keys", NULL, NULL },
714
715 { SC_10_11_IPHONE_9_0_PRIVATE, NETPROP DNS, CONFIRMED SERVICEID, NULL, CFSTRING },
716 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP DNS, SERVICE IDENTIFIER, NULL, CFNUMBER },
717 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP DNS, SUPPLEMENTAL MATCH DOMAINS NO SEARCH, NULL, CFNUMBER_BOOL},
718 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
719
720 { GROUP, NETPROP ETHERNET, KEY_PREFIX NETENT ETHERNET " (Hardware) Entity Keys", NULL, NULL },
721
722 { SC_10_2, NETPROP ETHERNET, MEDIA SUBTYPE, NULL, CFSTRING },
723 { SC_10_2, NETPROP ETHERNET, MEDIA OPTIONS, NULL, CFARRAY_CFSTRING },
724 { SC_10_2, NETPROP ETHERNET, MTU, NULL, CFNUMBER },
725 { COMMENT, "", NULL, NULL, NULL },
726
727 { GROUP_PRIVATE, NETPROP ETHERNET, KEY_PREFIX NETENT ETHERNET " (Hardware) Entity Keys", NULL, NULL },
728
729 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY AV, AV, CFNUMBER_BOOL },
730 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY JUMBO_MTU, JUMBO_MTU, CFNUMBER_BOOL },
731 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY LRO, LRO, CFNUMBER_BOOL },
732 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY RXCSUM, RXCSUM, CFNUMBER_BOOL },
733 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY TSO, TSO, CFNUMBER_BOOL },
734 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY TSO4, TSO4, CFNUMBER_BOOL },
735 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY TSO6, TSO6, CFNUMBER_BOOL },
736 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY TXCSUM, TXCSUM, CFNUMBER_BOOL },
737 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY VLAN_HWTAGGING, VLAN_HWTAGGING, CFNUMBER_BOOL },
738 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP ETHERNET, CAPABILITY VLAN_MTU, VLAN_MTU, CFNUMBER_BOOL },
739 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
740
741 { GROUP, NETPROP FIREWIRE, KEY_PREFIX NETENT FIREWIRE " (Hardware) Entity Keys", NULL, NULL },
742
743 { COMMENT, "* RESERVED FOR FUTURE USE *", NULL, NULL, NULL },
744 { COMMENT, "", NULL, NULL, NULL },
745
746 { GROUP, NETPROP INTERFACE, KEY_PREFIX NETENT INTERFACE " Entity Keys", NULL, NULL },
747
748 { SC_10_1, NETPROP INTERFACE, DEVICENAME, NULL, CFSTRING },
749 { SC_10_1, NETPROP INTERFACE, HARDWARE, NULL, CFSTRING },
750 { SC_10_1, NETPROP INTERFACE, TYPE, NULL, CFSTRING },
751 { SC_10_1, NETPROP INTERFACE, SUBTYPE, NULL, CFSTRING },
752 { SC_10_2_10_13, NETPROP INTERFACE, SUPPORTSMODEMONHOLD, NULL, CFNUMBER_BOOL },
753 { COMMENT, "", NULL, NULL, NULL },
754 { COMMENT, "--- " KEY_PREFIX NETPROP INTERFACE TYPE " values ---", NULL, NULL, NULL },
755 { SC_10_1, NETVAL INTERFACE TYPE, ETHERNET, NULL, NULL },
756 { SC_10_3, NETVAL INTERFACE TYPE, FIREWIRE, NULL, NULL },
757 { SC_10_1, NETVAL INTERFACE TYPE, PPP, NULL, NULL },
758 { SC_10_3, NETVAL INTERFACE TYPE, STF, NULL, NULL },
759 { SC_10_6_IPHONE_2_0, NETVAL INTERFACE TYPE, IPSEC, NULL, NULL },
760 { COMMENT, "", NULL, NULL, NULL },
761 { COMMENT, "--- " KEY_PREFIX NETPROP SERVICE SUBTYPE " values (for " PPP ") ---", NULL, NULL, NULL },
762 { SC_10_1, NETVAL INTERFACE SUBTYPE, PPPOE, NULL, NULL },
763 { SC_10_1, NETVAL INTERFACE SUBTYPE, PPPSERIAL, NULL, NULL },
764 { SC_10_2_10_12_IPHONE_2_0_10_0, NETVAL INTERFACE SUBTYPE, PPTP, NULL, NULL },
765 { SC_10_3, NETVAL INTERFACE SUBTYPE, L2TP, NULL, NULL },
766 { COMMENT, "", NULL, NULL, NULL },
767
768 { GROUP_PRIVATE, NETPROP INTERFACE, KEY_PREFIX NETENT INTERFACE " Entity Keys", NULL, NULL },
769
770 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP INTERFACE TYPE " values ---", NULL, NULL, NULL },
771 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL INTERFACE TYPE, LOOPBACK, NULL, NULL },
772 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL INTERFACE TYPE, VPN, NULL, NULL },
773 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
774
775 { GROUP, NETPROP IPSEC, KEY_PREFIX NETENT IPSEC " Entity Keys", NULL, NULL },
776
777 { SC_10_5, NETPROP IPSEC, AUTHENTICATIONMETHOD, NULL, CFSTRING },
778 { SC_10_5, NETPROP IPSEC, LOCALCERTIFICATE, NULL, CFDATA },
779 { SC_10_5, NETPROP IPSEC, LOCALIDENTIFIER, NULL, CFSTRING },
780 { SC_10_5, NETPROP IPSEC, LOCALIDENTIFIER TYPE, NULL, CFSTRING },
781 { SC_10_5, NETPROP IPSEC, SHAREDSECRET, NULL, CFSTRING },
782 { SC_10_5, NETPROP IPSEC, SHAREDSECRET ENCRYPTION, NULL, CFSTRING },
783 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, CONNECTTIME, NULL, CFNUMBER },
784 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, REMOTEADDRESS, NULL, CFSTRING },
785 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, STATUS, STATUS, CFNUMBER },
786 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, XAUTH ENABLED, NULL, CFNUMBER_BOOL },
787 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, XAUTH NAME, NULL, CFSTRING },
788 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, XAUTH PASSWORD, NULL, CFSTRING },
789 { SC_10_6_IPHONE_2_0, NETPROP IPSEC, XAUTH PASSWORD ENCRYPTION, NULL, CFSTRING },
790 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP IPSEC, DISCONNECTONWAKE, NULL, CFNUMBER_BOOL },
791 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP IPSEC, DISCONNECTONWAKETIMER, NULL, CFNUMBER },
792 { COMMENT, "", NULL, NULL, NULL },
793 { COMMENT, "--- " KEY_PREFIX NETPROP IPSEC AUTHENTICATIONMETHOD " values ---", NULL, NULL, NULL },
794 { SC_10_5, NETVAL IPSEC AUTHENTICATIONMETHOD, SHAREDSECRET, NULL, NULL },
795 { SC_10_5, NETVAL IPSEC AUTHENTICATIONMETHOD, CERTIFICATE, NULL, NULL },
796 { SC_10_5, NETVAL IPSEC AUTHENTICATIONMETHOD, HYBRID, NULL, NULL },
797 { COMMENT, "", NULL, NULL, NULL },
798 { COMMENT, "--- " KEY_PREFIX NETPROP IPSEC LOCALIDENTIFIER TYPE " values ---", NULL, NULL, NULL },
799 { SC_10_5, NETVAL IPSEC LOCALIDENTIFIER TYPE, KEYID, NULL, NULL },
800 { COMMENT, "", NULL, NULL, NULL },
801 { COMMENT, "--- " KEY_PREFIX NETPROP IPSEC SHAREDSECRET ENCRYPTION " values ---", NULL, NULL, NULL },
802 { SC_10_5, NETVAL IPSEC SHAREDSECRET ENCRYPTION, KEYCHAIN, NULL, NULL },
803 { COMMENT, "", NULL, NULL, NULL },
804 { COMMENT, "--- " KEY_PREFIX NETPROP IPSEC XAUTH PASSWORD ENCRYPTION " values ---", NULL, NULL, NULL },
805 { SC_10_6_IPHONE_2_0, NETVAL IPSEC XAUTH PASSWORD ENCRYPTION, KEYCHAIN, NULL, NULL },
806 { SC_10_6_IPHONE_3_0, NETVAL IPSEC XAUTH PASSWORD ENCRYPTION, PROMPT, NULL, NULL },
807 { COMMENT, "", NULL, NULL, NULL },
808
809 { GROUP_PRIVATE, NETPROP IPSEC, KEY_PREFIX NETENT IPSEC " Entity Keys", NULL, NULL },
810
811 { SC_10_6_IPHONE_3_0_PRIVATE, NETPROP IPSEC, LAST CAUSE, NULL, CFNUMBER },
812 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
813 { COMMENT_PRIVATE, "--- " ONDEMAND ": ---", NULL, NULL, NULL },
814 { SC_10_6_IPHONE_3_0_PRIVATE, NETPROP IPSEC, ONDEMAND ENABLED, NULL, CFNUMBER_BOOL },
815 { SC_10_6_IPHONE_3_0_PRIVATE, NETPROP IPSEC, ONDEMAND MATCH DOMAINS ALWAYS, NULL, CFARRAY_CFSTRING },
816 { SC_10_6_IPHONE_3_0_PRIVATE, NETPROP IPSEC, ONDEMAND MATCH DOMAINS ONRETRY, NULL, CFARRAY_CFSTRING },
817 { SC_10_6_IPHONE_3_0_PRIVATE, NETPROP IPSEC, ONDEMAND MATCH DOMAINS NEVER, NULL, CFARRAY_CFSTRING },
818 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
819
820 { GROUP, NETPROP IPV4, KEY_PREFIX NETENT IPV4 " Entity Keys", NULL, NULL },
821
822 { SC_10_1, NETPROP IPV4, ADDRESSES, NULL, CFARRAY_CFSTRING },
823 { SC_10_1, NETPROP IPV4, CONFIGMETHOD, NULL, CFSTRING },
824 { SC_10_1, NETPROP IPV4, DHCPCLIENTID, NULL, CFSTRING },
825 { SC_10_1, NETPROP IPV4, ROUTER, NULL, CFSTRING },
826 { SC_10_1, NETPROP IPV4, SUBNETMASKS, NULL, CFARRAY_CFSTRING },
827 { SC_10_1, NETPROP IPV4, DEST ADDRESSES, NULL, CFARRAY_CFSTRING },
828 { SC_10_1, NETPROP IPV4, BROADCAST ADDRESSES, NULL, CFARRAY_CFSTRING },
829 { COMMENT, "", NULL, NULL, NULL },
830 { COMMENT, "--- " KEY_PREFIX NETPROP IPV4 CONFIGMETHOD " values ---", NULL, NULL, NULL },
831 { SC_10_6_IPHONE_2_0, NETVAL IPV4 CONFIGMETHOD, AUTOMATIC, NULL, NULL },
832 { SC_10_1, NETVAL IPV4 CONFIGMETHOD, BOOTP, NULL, NULL },
833 { SC_10_1, NETVAL IPV4 CONFIGMETHOD, DHCP, NULL, NULL },
834 { SC_10_1, NETVAL IPV4 CONFIGMETHOD, INFORM, NULL, NULL },
835 { SC_10_2, NETVAL IPV4 CONFIGMETHOD, LINKLOCAL, NULL, NULL },
836 { SC_10_1, NETVAL IPV4 CONFIGMETHOD, MANUAL, NULL, NULL },
837 { SC_10_1, NETVAL IPV4 CONFIGMETHOD, PPP, NULL, NULL },
838 { COMMENT, "", NULL, NULL, NULL },
839
840 { GROUP_PRIVATE, NETPROP IPV4, KEY_PREFIX NETENT IPV4 " Entity Keys", NULL, NULL },
841 { SC_10_10_IPHONE_8_0_PRIVATE, NETPROP IPV4, ADDITIONAL ROUTES, NULL, CFARRAY_CFDICTIONARY },
842 { SC_10_14_IPHONE_12_0_PRIVATE, NETPROP IPV4, CLAT46, NULL, CFBOOLEAN },
843 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV4, EXCLUDED ROUTES, NULL, CFARRAY_CFDICTIONARY },
844 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV4, INCLUDED ROUTES, NULL, CFARRAY_CFDICTIONARY },
845 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
846 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP IPV4 CONFIGMETHOD " values ---", NULL, NULL, NULL },
847 { SC_10_5_PRIVATE, NETVAL IPV4 CONFIGMETHOD, FAILOVER, NULL, NULL },
848 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
849 { COMMENT_PRIVATE,
850 "--- "
851 KEY_PREFIX NETPROP IPV4 ADDITIONAL ROUTES ", "
852 KEY_PREFIX NETPROP IPV4 EXCLUDED ROUTES ", "
853 KEY_PREFIX NETPROP IPV4 INCLUDED ROUTES
854 " [CFDictionary] keys ---", NULL, NULL, NULL },
855 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV4 ROUTE, DESTINATION ADDRESS, NULL, CFSTRING },
856 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV4 ROUTE, SUBNETMASK, NULL, CFSTRING },
857 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV4 ROUTE, GATEWAY ADDRESS, NULL, CFSTRING },
858 { SC_10_10_IPHONE_8_0_PRIVATE, NETPROP IPV4 ROUTE, INTERFACENAME, NULL, CFSTRING },
859 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
860 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP IPV4, ARP RESOLVED HARDWARE ADDRESS, NULL, CFSTRING },
861 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP IPV4, ARP RESOLVED IP ADDRESS, NULL, CFSTRING },
862 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
863
864 { GROUP, NETPROP IPV6, KEY_PREFIX NETENT IPV6 " Entity Keys", NULL, NULL },
865
866 { SC_10_1, NETPROP IPV6, ADDRESSES, NULL, CFARRAY_CFSTRING },
867 { SC_10_1, NETPROP IPV6, CONFIGMETHOD, NULL, CFSTRING },
868 { SC_10_3, NETPROP IPV6, DEST ADDRESSES, NULL, CFARRAY_CFSTRING },
869 { SC_10_3, NETPROP IPV6, FLAGS, NULL, CFNUMBER },
870 { SC_10_3, NETPROP IPV6, PREFIXLENGTH, NULL, CFARRAY_CFNUMBER },
871 { SC_10_3, NETPROP IPV6, ROUTER, NULL, CFSTRING },
872 { COMMENT, "", NULL, NULL, NULL },
873 { COMMENT, "--- " KEY_PREFIX NETPROP IPV6 CONFIGMETHOD " values ---", NULL, NULL, NULL },
874 { SC_10_3, NETVAL IPV6 CONFIGMETHOD, AUTOMATIC, NULL, NULL },
875 { SC_10_7_IPHONE_4_0, NETVAL IPV6 CONFIGMETHOD, LINKLOCAL, NULL, NULL },
876 { SC_10_3, NETVAL IPV6 CONFIGMETHOD, MANUAL, NULL, NULL },
877 { SC_10_3, NETVAL IPV6 CONFIGMETHOD, ROUTERADVERTISEMENT, NULL, NULL },
878 { SC_10_3, NETVAL IPV6 CONFIGMETHOD, STF, NULL, NULL },
879 { COMMENT, "", NULL, NULL, NULL },
880
881 { GROUP_PRIVATE, NETPROP IPV6, KEY_PREFIX NETENT IPV6 " Entity Keys", NULL, NULL },
882 { SC_10_10_IPHONE_8_0_PRIVATE, NETPROP IPV6, ADDITIONAL ROUTES, NULL, CFARRAY_CFDICTIONARY },
883 { SC_10_12_IPHONE_10_0_PRIVATE, NETPROP IPV6, ENABLE CGA, NULL, CFNUMBER_BOOL },
884 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV6, EXCLUDED ROUTES, NULL, CFARRAY_CFDICTIONARY },
885 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV6, INCLUDED ROUTES, NULL, CFARRAY_CFDICTIONARY },
886 { SC_10_12_IPHONE_10_0_PRIVATE, NETPROP IPV6, LINKLOCAL ADDRESS, NULL, CFSTRING },
887 { SC_10_14_IPHONE_12_0_PRIVATE, NETPROP IPV6, PERFORM PLAT DISCOVERY, NULL, CFBOOLEAN },
888 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
889 { COMMENT_PRIVATE,
890 "--- "
891 KEY_PREFIX NETPROP IPV6 ADDITIONAL ROUTES ", "
892 KEY_PREFIX NETPROP IPV6 INCLUDED ROUTES ", "
893 KEY_PREFIX NETPROP IPV6 EXCLUDED ROUTES
894 " [CFDictionary] keys ---", NULL, NULL, NULL },
895 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV6 ROUTE, DESTINATION ADDRESS, NULL, CFSTRING },
896 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV6 ROUTE, PREFIXLENGTH, NULL, CFNUMBER },
897 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP IPV6 ROUTE, GATEWAY ADDRESS, NULL, CFSTRING },
898 { SC_10_10_IPHONE_8_0_PRIVATE, NETPROP IPV6 ROUTE, INTERFACENAME, NULL, CFSTRING },
899 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
900
901 { GROUP, NETPROP STF, KEY_PREFIX NETENT STF " Entity Keys", NULL, NULL },
902
903 { SC_10_3, NETPROP STF, RELAY, NULL, CFSTRING },
904 { COMMENT, "", NULL, NULL, NULL },
905
906 { GROUP, NETPROP LINK, KEY_PREFIX NETENT LINK " Entity Keys", NULL, NULL },
907
908 { SC_10_1, NETPROP LINK, ACTIVE, NULL, CFBOOLEAN },
909 { SC_10_2, NETPROP LINK, DETACHING, NULL, CFBOOLEAN },
910 { COMMENT, "", NULL, NULL, NULL },
911
912 { GROUP_PRIVATE, NETPROP LINK, KEY_PREFIX NETENT LINK " Entity Keys", NULL, NULL },
913 { SC_10_10_IPHONE_8_0_PRIVATE, NETPROP LINK, EXPENSIVE, NULL, CFBOOLEAN },
914 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
915
916 { GROUP_PRIVATE, NETPROP LINK, KEY_PREFIX NETENT LINKISSUES " Entity Keys", NULL, NULL },
917
918 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP LINKISSUES, MODULEID, NULL, CFDATA },
919 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP LINKISSUES, INFO, NULL, CFDATA },
920 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP LINKISSUES, TIMESTAMP, NULL, CFDATE },
921 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
922
923 { GROUP_PRIVATE, NETPROP LINK, KEY_PREFIX NETENT LINKQUALITY " Entity Keys", NULL, NULL },
924
925 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP, LINKQUALITY, NULL, CFNUMBER},
926 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
927
928 { GROUP, NETPROP MODEM, KEY_PREFIX NETENT MODEM " (Hardware) Entity Keys", NULL, NULL },
929
930 { SC_10_5, NETPROP MODEM, ACCESSPOINTNAME, NULL, CFSTRING },
931 { SC_10_5, NETPROP MODEM, CONNECTION PERSONALITY, NULL, CFSTRING },
932 { SC_10_1, NETPROP MODEM, CONNECTION SCRIPT, NULL, CFSTRING },
933 { SC_10_2, NETPROP MODEM, CONNECTSPEED, NULL, CFNUMBER },
934 { SC_10_1, NETPROP MODEM, DATACOMPRESSION, NULL, CFNUMBER_BOOL },
935 { SC_10_5, NETPROP MODEM, DEVICE CONTEXTID, NULL, CFSTRING },
936 { SC_10_5, NETPROP MODEM, DEVICE MODEL, NULL, CFSTRING },
937 { SC_10_5, NETPROP MODEM, DEVICE VENDOR, NULL, CFSTRING },
938 { SC_10_1, NETPROP MODEM, DIALMODE, NULL, CFSTRING },
939 { SC_10_1, NETPROP MODEM, ERRORCORRECTION, NULL, CFNUMBER_BOOL },
940 { SC_10_2, NETPROP MODEM, HOLD CALLWAITINGAUDIBLEALERT, NULL, CFNUMBER_BOOL },
941 { SC_10_2, NETPROP MODEM, HOLD DISCONNECTONANSWER, NULL, CFNUMBER_BOOL },
942 { SC_10_2, NETPROP MODEM, HOLD ENABLED, NULL, CFNUMBER_BOOL },
943 { SC_10_2, NETPROP MODEM, HOLD REMINDER, NULL, CFNUMBER_BOOL },
944 { SC_10_2, NETPROP MODEM, HOLD REMINDERTIME, NULL, CFNUMBER },
945 { SC_10_2, NETPROP MODEM, NOTE, NULL, CFSTRING },
946 { SC_10_1, NETPROP MODEM, PULSEDIAL, NULL, CFNUMBER_BOOL },
947 { SC_10_1, NETPROP MODEM, SPEAKER, NULL, CFNUMBER_BOOL },
948 { SC_10_1, NETPROP MODEM, SPEED, NULL, CFNUMBER },
949 { COMMENT, "", NULL, NULL, NULL },
950 { COMMENT, "--- " KEY_PREFIX NETPROP MODEM DIALMODE " values ---", NULL, NULL, NULL },
951 { SC_10_1, NETVAL MODEM DIALMODE, IGNOREDIALTONE, NULL, NULL },
952 { SC_10_1, NETVAL MODEM DIALMODE, MANUAL, NULL, NULL },
953 { SC_10_1, NETVAL MODEM DIALMODE, WAITFORDIALTONE, NULL, NULL },
954 { COMMENT, "", NULL, NULL, NULL },
955
956//{ GROUP_DEPRECATED_NO_HEADER, NETPROP NETINFO, KEY_PREFIX NETENT NETINFO " Entity Keys", NULL, NULL },
957//
958// { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
959// { DEPRECATED_NO_HEADER, NETPROP NETINFO, BINDINGMETHODS, NULL, CFSTRING },
960// { DEPRECATED_NO_HEADER, NETPROP NETINFO, SERVER ADDRESSES, NULL, CFARRAY_CFSTRING },
961// { DEPRECATED_NO_HEADER, NETPROP NETINFO, SERVER TAGS, NULL, CFARRAY_CFSTRING },
962// { DEPRECATED_NO_HEADER, NETPROP NETINFO, BROADCAST SERVER TAG, NULL, CFSTRING },
963// { COMMENT_DEPRECATED_NO_HEADER, "", NULL, NULL, NULL },
964// { COMMENT_DEPRECATED_NO_HEADER, "--- " KEY_PREFIX NETPROP NETINFO BINDINGMETHODS " values ---", NULL, NULL, NULL },
965// { DEPRECATED_NO_HEADER, NETVAL NETINFO BINDINGMETHODS, BROADCAST, NULL, NULL },
966// { DEPRECATED_NO_HEADER, NETVAL NETINFO BINDINGMETHODS, DHCP, NULL, NULL },
967// { DEPRECATED_NO_HEADER, NETVAL NETINFO BINDINGMETHODS, MANUAL, NULL, NULL },
968// { COMMENT_DEPRECATED_NO_HEADER, "", NULL, NULL, NULL },
969// { COMMENT_DEPRECATED_NO_HEADER, "--- " KEY_PREFIX NETPROP NETINFO BROADCAST SERVER TAG " default value ---", NULL, NULL, NULL },
970// { DEPRECATED_NO_HEADER, NETVAL NETINFO, DEFAULT SERVER TAG, "network", NULL },
971// { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
972// { COMMENT_DEPRECATED_NO_HEADER, "", NULL, NULL, NULL },
973
974 { GROUP, NETPROP PPP, KEY_PREFIX NETENT PPP " Entity Keys", NULL, NULL },
975
976 { SC_10_3, NETPROP PPP, ACSP ENABLED, NULL, CFNUMBER_BOOL },
977 { SC_10_2, NETPROP PPP, CONNECTTIME, NULL, CFNUMBER },
978 { SC_10_2, NETPROP PPP, DEVICE LAST CAUSE, NULL, CFNUMBER },
979 { SC_10_1, NETPROP PPP, DIALONDEMAND, NULL, CFNUMBER_BOOL },
980 { SC_10_4, NETPROP PPP, DISCONNECTONFASTUSERSWITCH, NULL, CFNUMBER_BOOL },
981 { SC_10_1, NETPROP PPP, DISCONNECTONIDLE, NULL, CFNUMBER_BOOL },
982 { SC_10_1, NETPROP PPP, DISCONNECTONIDLETIMER, NULL, CFNUMBER },
983 { SC_10_1, NETPROP PPP, DISCONNECTONLOGOUT, NULL, CFNUMBER_BOOL },
984 { SC_10_2, NETPROP PPP, DISCONNECTONSLEEP, NULL, CFNUMBER_BOOL },
985 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP PPP, DISCONNECTONWAKE, NULL, CFNUMBER_BOOL },
986 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP PPP, DISCONNECTONWAKETIMER, NULL, CFNUMBER },
987 { SC_10_3, NETPROP PPP, DISCONNECTTIME, NULL, CFNUMBER },
988 { SC_10_1, NETPROP PPP, IDLE REMINDER, NULL, CFNUMBER_BOOL },
989 { SC_10_1, NETPROP PPP, IDLE REMINDER TIMER, NULL, CFNUMBER },
990 { SC_10_2, NETPROP PPP, LAST CAUSE, NULL, CFNUMBER },
991 { SC_10_1, NETPROP PPP, LOGFILE, NULL, CFSTRING },
992 { SC_10_2_10_15, NETPROP PPP, PLUGINS, NULL, CFARRAY_CFSTRING },
993 { SC_10_3, NETPROP PPP, RETRYCONNECTTIME, NULL, CFNUMBER },
994 { SC_10_1, NETPROP PPP, SESSIONTIMER, NULL, CFNUMBER },
995 { SC_10_2, NETPROP PPP, STATUS, NULL, CFNUMBER },
996 { SC_10_2, NETPROP PPP, USE SESSIONTIMER, NULL, CFNUMBER_BOOL },
997 { SC_10_1, NETPROP PPP, VERBOSELOGGING, NULL, CFNUMBER_BOOL },
998 { COMMENT, "", NULL, NULL, NULL },
999
1000 { COMMENT, "--- " AUTH ": ---", NULL, NULL, NULL },
1001 { SC_10_3_10_15, NETPROP PPP, AUTH EAP PLUGINS, NULL, CFARRAY_CFSTRING },
1002 { SC_10_1, NETPROP PPP, AUTH NAME, NULL, CFSTRING },
1003 { SC_10_1, NETPROP PPP, AUTH PASSWORD, NULL, CFSTRING },
1004 { SC_10_1, NETPROP PPP, AUTH PASSWORD ENCRYPTION, NULL, CFSTRING },
1005 { SC_10_3, NETPROP PPP, AUTH PROMPT, NULL, CFSTRING },
1006 { SC_10_1, NETPROP PPP, AUTH PROTOCOL, NULL, CFARRAY_CFSTRING },
1007 { COMMENT, "", NULL, NULL, NULL },
1008 { COMMENT, "--- " KEY_PREFIX NETPROP PPP AUTH PASSWORD ENCRYPTION " values ---", NULL, NULL, NULL },
1009 { SC_10_3, NETVAL PPP AUTH PASSWORD ENCRYPTION, KEYCHAIN, NULL, NULL },
1010 { SC_10_5, NETVAL PPP AUTH PASSWORD ENCRYPTION, TOKEN, NULL, NULL },
1011 { COMMENT, "", NULL, NULL, NULL },
1012 { COMMENT, "--- " KEY_PREFIX NETPROP PPP AUTH PROMPT " values ---", NULL, NULL, NULL },
1013 { SC_10_3, NETVAL PPP AUTH PROMPT, BEFORE, NULL, CFSTRING },
1014 { SC_10_3, NETVAL PPP AUTH PROMPT, AFTER, NULL, CFSTRING },
1015 { COMMENT, "", NULL, NULL, NULL },
1016 { COMMENT, "--- " KEY_PREFIX NETPROP PPP AUTH PROTOCOL " values ---", NULL, NULL, NULL },
1017 { SC_10_1, NETVAL PPP AUTH PROTOCOL, CHAP, NULL, CFSTRING },
1018 { SC_10_3, NETVAL PPP AUTH PROTOCOL, EAP, NULL, CFSTRING },
1019 { SC_10_3, NETVAL PPP AUTH PROTOCOL, MSCHAP1, NULL, CFSTRING },
1020 { SC_10_3, NETVAL PPP AUTH PROTOCOL, MSCHAP2, NULL, CFSTRING },
1021 { SC_10_1, NETVAL PPP AUTH PROTOCOL, PAP, NULL, CFSTRING },
1022 { COMMENT, "", NULL, NULL, NULL },
1023
1024 { COMMENT, "--- " COMM ": ---", NULL, NULL, NULL },
1025 { SC_10_1, NETPROP PPP, COMM ALTERNATE REMOTEADDRESS, NULL, CFSTRING },
1026 { SC_10_1, NETPROP PPP, COMM CONNECTDELAY, NULL, CFNUMBER },
1027 { SC_10_1, NETPROP PPP, COMM DISPLAYTERMINALWINDOW, NULL, CFNUMBER_BOOL },
1028 { SC_10_1, NETPROP PPP, COMM REDIALCOUNT, NULL, CFNUMBER },
1029 { SC_10_1, NETPROP PPP, COMM REDIAL ENABLED, NULL, CFNUMBER_BOOL },
1030 { SC_10_1, NETPROP PPP, COMM REDIALINTERVAL, NULL, CFNUMBER },
1031 { SC_10_1, NETPROP PPP, COMM REMOTEADDRESS, NULL, CFSTRING },
1032 { SC_10_1, NETPROP PPP, COMM TERMINALSCRIPT, NULL, CFSTRING },
1033 { SC_10_2, NETPROP PPP, COMM USE TERMINALSCRIPT, NULL, CFNUMBER_BOOL },
1034 { COMMENT, "", NULL, NULL, NULL },
1035
1036 { COMMENT, "--- " CCP ": ---", NULL, NULL, NULL },
1037 { SC_10_2, NETPROP PPP, CCP ENABLED, NULL, CFNUMBER_BOOL },
1038 { SC_10_4, NETPROP PPP, CCP MPPE40 ENABLED, NULL, CFNUMBER_BOOL },
1039 { SC_10_4, NETPROP PPP, CCP MPPE128 ENABLED, NULL, CFNUMBER_BOOL },
1040 { COMMENT, "", NULL, NULL, NULL },
1041
1042 { COMMENT, "--- " IPCP ": ---", NULL, NULL, NULL },
1043 { SC_10_1, NETPROP PPP, IPCP COMPRESSIONVJ, NULL, CFNUMBER_BOOL },
1044 { SC_10_4, NETPROP PPP, IPCP USE PEER DNS, NULL, CFNUMBER_BOOL },
1045 { COMMENT, "", NULL, NULL, NULL },
1046
1047 { COMMENT, "--- " LCP ": ---", NULL, NULL, NULL },
1048 { SC_10_1, NETPROP PPP, LCP ECHO ENABLED, NULL, CFNUMBER_BOOL },
1049 { SC_10_1, NETPROP PPP, LCP ECHOFAILURE, NULL, CFNUMBER },
1050 { SC_10_1, NETPROP PPP, LCP ECHOINTERVAL, NULL, CFNUMBER },
1051 { SC_10_1, NETPROP PPP, LCP COMPRESSIONACFIELD, NULL, CFNUMBER_BOOL },
1052 { SC_10_1, NETPROP PPP, LCP COMPRESSIONPFIELD, NULL, CFNUMBER_BOOL },
1053 { SC_10_1, NETPROP PPP, LCP MRU, NULL, CFNUMBER },
1054 { SC_10_1, NETPROP PPP, LCP MTU, NULL, CFNUMBER },
1055 { SC_10_1, NETPROP PPP, LCP RECEIVEACCM, NULL, CFNUMBER },
1056 { SC_10_1, NETPROP PPP, LCP TRANSMITACCM, NULL, CFNUMBER },
1057 { COMMENT, "", NULL, NULL, NULL },
1058
1059 { GROUP_PRIVATE, NETPROP PPP, KEY_PREFIX NETENT PPP " Entity Keys", NULL, NULL },
1060
1061 { COMMENT_PRIVATE, "--- " ONDEMAND ": ---", NULL, NULL, NULL },
1062 { SC_10_5_PRIVATE, NETPROP PPP, ONDEMAND DOMAINS, NULL, CFARRAY_CFSTRING },
1063 { SC_10_5_PRIVATE, NETPROP PPP, ONDEMAND ENABLED, NULL, CFNUMBER_BOOL },
1064 { SC_10_5_PRIVATE, NETPROP PPP, ONDEMAND HOSTNAME, NULL, CFSTRING }, // DEPRECATED, use kSCNetworkConnectionSelectionOptionOnDemandHostName
1065 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PPP, ONDEMAND MATCH DOMAINS ALWAYS, NULL, CFARRAY_CFSTRING },
1066 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PPP, ONDEMAND MATCH DOMAINS ONRETRY, NULL, CFARRAY_CFSTRING },
1067 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PPP, ONDEMAND MATCH DOMAINS NEVER, NULL, CFARRAY_CFSTRING },
1068 { SC_10_5_PRIVATE, NETPROP PPP, ONDEMAND MODE, NULL, CFSTRING },
1069 { SC_10_5_PRIVATE, NETPROP PPP, ONDEMAND PRIORITY, NULL, CFSTRING },
1070 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1071 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP PPP ONDEMAND MODE " values ---", NULL, NULL, NULL },
1072 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND MODE, AGGRESSIVE, NULL, NULL },
1073 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND MODE, CONSERVATIVE, NULL, NULL },
1074 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND MODE, COMPATIBLE, NULL, NULL },
1075 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1076 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP PPP ONDEMAND PRIORITY " values ---", NULL, NULL, NULL },
1077 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND PRIORITY, DEFAULT, NULL, NULL },
1078 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND PRIORITY, HIGH, NULL, NULL },
1079 { SC_10_5_PRIVATE, NETVAL PPP ONDEMAND PRIORITY, LOW, NULL, NULL },
1080 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1081
1082 { GROUP, NETPROP PPPOE, KEY_PREFIX NETENT PPPOE " Entity Keys", NULL, NULL },
1083
1084 { COMMENT, "* RESERVED FOR FUTURE USE *", NULL, NULL, NULL },
1085 { COMMENT, "", NULL, NULL, NULL },
1086
1087 { GROUP, NETPROP PPPSERIAL, KEY_PREFIX NETENT PPPSERIAL " Entity Keys", NULL, NULL },
1088
1089 { COMMENT, "* RESERVED FOR FUTURE USE *", NULL, NULL, NULL },
1090 { COMMENT, "", NULL, NULL, NULL },
1091
1092 { GROUP, NETPROP L2TP, KEY_PREFIX NETENT L2TP " Entity Keys", NULL, NULL },
1093
1094 { SC_10_3, NETPROP L2TP, IPSEC SHAREDSECRET, NULL, CFSTRING },
1095 { SC_10_3, NETPROP L2TP, IPSEC SHAREDSECRET ENCRYPTION, NULL, CFSTRING },
1096 { SC_10_3, NETPROP L2TP, TRANSPORT, NULL, CFSTRING },
1097 { COMMENT, "", NULL, NULL, NULL },
1098 { COMMENT, "--- " KEY_PREFIX NETPROP L2TP IPSEC SHAREDSECRET ENCRYPTION " values ---", NULL, NULL, NULL },
1099 { SC_10_3, NETVAL L2TP IPSEC SHAREDSECRET ENCRYPTION, KEYCHAIN, NULL, NULL },
1100 { COMMENT, "", NULL, NULL, NULL },
1101 { COMMENT, "--- " KEY_PREFIX NETPROP L2TP TRANSPORT " values ---", NULL, NULL, NULL },
1102 { SC_10_3, NETVAL L2TP TRANSPORT, IP, NULL, NULL },
1103 { SC_10_3, NETVAL L2TP TRANSPORT, IPSEC, NULL, NULL },
1104 { COMMENT, "", NULL, NULL, NULL },
1105
1106 { GROUP_PRIVATE, NETPROP LINK, KEY_PREFIX NETENT NAT64 " Entity Keys", NULL, NULL },
1107
1108 { SC_10_14_IPHONE_12_0_PRIVATE, NETPROP NAT64, PREFIXLIST, NULL, CFARRAY_CFSTRING },
1109 { SC_10_14_IPHONE_12_0_PRIVATE, NETPROP NAT64, PLAT DISCOVERY STARTTIME, NULL, CFDATE },
1110 { SC_10_14_IPHONE_12_0_PRIVATE, NETPROP NAT64, PLAT DISCOVERY COMPLETIONTIME, NULL, CFDATE },
1111 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1112
1113 { GROUP, NETPROP PROXIES, KEY_PREFIX NETENT PROXIES " Entity Keys", NULL, NULL },
1114
1115 { SC_10_1, NETPROP PROXIES, EXCEPTIONSLIST, NULL, CFARRAY_CFSTRING },
1116 { SC_10_4, NETPROP PROXIES, EXCLUDESIMPLEHOSTNAMES, NULL, CFNUMBER_BOOL },
1117 { SC_10_1, NETPROP PROXIES, FTP ENABLE, NULL, CFNUMBER_BOOL },
1118 { SC_10_1, NETPROP PROXIES, FTP PASSIVE, NULL, CFNUMBER_BOOL },
1119 { SC_10_1, NETPROP PROXIES, FTP PORT, NULL, CFNUMBER },
1120 { SC_10_1, NETPROP PROXIES, FTP PROXY, NULL, CFSTRING },
1121 { SC_10_1, NETPROP PROXIES, GOPHER ENABLE, NULL, CFNUMBER_BOOL },
1122 { SC_10_1, NETPROP PROXIES, GOPHER PORT, NULL, CFNUMBER },
1123 { SC_10_1, NETPROP PROXIES, GOPHER PROXY, NULL, CFSTRING },
1124 { SC_10_1, NETPROP PROXIES, HTTP ENABLE, NULL, CFNUMBER_BOOL },
1125 { SC_10_1, NETPROP PROXIES, HTTP PORT, NULL, CFNUMBER },
1126 { SC_10_1, NETPROP PROXIES, HTTP PROXY, NULL, CFSTRING },
1127 { SC_10_1, NETPROP PROXIES, HTTPS ENABLE, NULL, CFNUMBER_BOOL },
1128 { SC_10_1, NETPROP PROXIES, HTTPS PORT, NULL, CFNUMBER },
1129 { SC_10_1, NETPROP PROXIES, HTTPS PROXY, NULL, CFSTRING },
1130 { SC_10_1, NETPROP PROXIES, RTSP ENABLE, NULL, CFNUMBER_BOOL },
1131 { SC_10_1, NETPROP PROXIES, RTSP PORT, NULL, CFNUMBER },
1132 { SC_10_1, NETPROP PROXIES, RTSP PROXY, NULL, CFSTRING },
1133 { SC_10_1, NETPROP PROXIES, SOCKS ENABLE, NULL, CFNUMBER_BOOL },
1134 { SC_10_1, NETPROP PROXIES, SOCKS PORT, NULL, CFNUMBER },
1135 { SC_10_1, NETPROP PROXIES, SOCKS PROXY, NULL, CFSTRING },
1136 { SC_10_4, NETPROP PROXIES, PROXY AUTOCONFIG ENABLE, NULL, CFNUMBER_BOOL },
1137 { SC_10_7_IPHONE_4_0, NETPROP PROXIES, PROXY AUTOCONFIG JAVASCRIPT, NULL, CFSTRING },
1138 { SC_10_4, NETPROP PROXIES, PROXY AUTOCONFIG URLSTRING, NULL, CFSTRING },
1139 { SC_10_4, NETPROP PROXIES, PROXY AUTODISCOVERY ENABLE, NULL, CFNUMBER_BOOL },
1140 { COMMENT, "", NULL, NULL, NULL },
1141
1142 { GROUP_PRIVATE, NETPROP PROXIES, KEY_PREFIX NETENT PROXIES " Entity Keys", NULL, NULL },
1143
1144 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP PROXIES, BYPASS ALLOWED, NULL, CFNUMBER_BOOL },
1145 { SC_10_9_IPHONE_6_0_PRIVATE, NETPROP PROXIES, FALLBACK ALLOWED, NULL, CFNUMBER_BOOL },
1146 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PROXIES, SUPPLEMENTAL MATCH DOMAINS, NULL, CFARRAY_CFSTRING},
1147 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PROXIES, SUPPLEMENTAL MATCH ORDERS, NULL, CFARRAY_CFNUMBER},
1148 { SC_10_11_IPHONE_9_0_PRIVATE, NETPROP PROXIES, SERVICE SPECIFIC, NULL, CFNUMBER_BOOL },
1149 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1150 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PROXIES, SCOPED, "__SCOPED__", CFDICTIONARY},
1151 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP PROXIES, SERVICES, "__SERVICES__", CFDICTIONARY},
1152 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PROXIES, SUPPLEMENTAL, "__SUPPLEMENTAL__", CFARRAY_CFDICTIONARY},
1153 { SC_10_7_IPHONE_5_0_PRIVATE, NETPROP PROXIES, SUPPLEMENTAL MATCH DOMAIN, "__MATCH_DOMAIN__", CFSTRING},
1154 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1155
1156 { GROUP_PRIVATE, NETPROP LINK, KEY_PREFIX NETENT QOSMARKING POLICY " Entity Keys", NULL, NULL },
1157
1158 { SC_10_13_IPHONE_10_0_PRIVATE, NETPROP QOSMARKING, APPLE AUDIOVIDEOCALLS,
1159 QOSMARKING APPLE AUDIOVIDEOCALLS,
1160 CFBOOLEAN},
1161 { SC_10_13_IPHONE_10_0_PRIVATE, NETPROP QOSMARKING, ENABLED,
1162 QOSMARKING ENABLED,
1163 CFBOOLEAN},
1164 { SC_10_13_IPHONE_10_0_PRIVATE, NETPROP QOSMARKING, WHITELISTED APP IDENTIFIERS,
1165 QOSMARKING WHITELISTED APP IDENTIFIERS,
1166 CFARRAY_CFSTRING},
1167 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1168
1169 { GROUP_PRIVATE, NETPROP SERVICE, KEY_PREFIX NETENT SERVICE " Entity Keys", NULL, NULL },
1170
1171 { SC_10_6_IPHONE_2_0_PRIVATE, NETPROP SERVICE, PRIMARYRANK, NULL, CFSTRING },
1172 { SC_10_12_IPHONE_10_0_PRIVATE, NETPROP SERVICE, SERVICEINDEX, NULL, CFNUMBER },
1173 { SC_10_6_IPHONE_2_0_PRIVATE, NETPROP SERVICE, USERDEFINEDNAME, NULL, CFSTRING },
1174 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1175 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP SERVICE PRIMARYRANK " values ---", NULL, NULL, NULL },
1176 { SC_10_6_IPHONE_2_0_PRIVATE, NETVAL SERVICE PRIMARYRANK, FIRST, NULL },
1177 { SC_10_6_IPHONE_2_0_PRIVATE, NETVAL SERVICE PRIMARYRANK, LAST, NULL },
1178 { SC_10_6_IPHONE_2_0_PRIVATE, NETVAL SERVICE PRIMARYRANK, NEVER, NULL },
1179 { SC_10_10_IPHONE_8_0_PRIVATE, NETVAL SERVICE PRIMARYRANK, SCOPED, NULL },
1180 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1181
1182 { GROUP, NETPROP SMB, KEY_PREFIX NETENT SMB " Entity Keys", NULL, NULL },
1183
1184 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
1185 { SC_10_5_IPHONE_NA, NETPROP SMB, NETBIOS NAME, NULL, CFSTRING },
1186 { SC_10_5_IPHONE_NA, NETPROP SMB, NETBIOS NODE TYPE, NULL, CFSTRING },
1187 { SC_10_5_10_7_IPHONE_NA, NETPROP SMB, NETBIOS SCOPE, NULL, CFSTRING },
1188 { SC_10_5_IPHONE_NA, NETPROP SMB, WINS ADDRESSES, NULL, CFARRAY_CFSTRING },
1189 { SC_10_5_IPHONE_NA, NETPROP SMB, WORKGROUP, NULL, CFSTRING },
1190 { COMMENT, "", NULL, NULL, NULL },
1191 { COMMENT, "--- " KEY_PREFIX NETPROP SMB NETBIOS NODE TYPE " values ---", NULL, NULL, NULL },
1192 { SC_10_5_IPHONE_NA, NETVAL SMB NETBIOS NODE TYPE, BROADCAST, NULL },
1193 { SC_10_5_IPHONE_NA, NETVAL SMB NETBIOS NODE TYPE, PEER, NULL },
1194 { SC_10_5_IPHONE_NA, NETVAL SMB NETBIOS NODE TYPE, MIXED, NULL },
1195 { SC_10_5_IPHONE_NA, NETVAL SMB NETBIOS NODE TYPE, HYBRID, NULL },
1196 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
1197 { COMMENT, "", NULL, NULL, NULL },
1198
1199 { GROUP_PRIVATE, NETPROP VPN, KEY_PREFIX NETENT VPN " Entity Keys", NULL, NULL },
1200
1201 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, APP RULES, NULL, CFARRAY_CFDICTIONARY },
1202 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, AUTH CREDENTIAL PASSWORD, NULL, CFSTRING },
1203 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, AUTH NAME, NULL, CFSTRING },
1204 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, AUTH PASSWORD, NULL, CFSTRING },
1205 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, AUTH PASSWORD ENCRYPTION, NULL, CFSTRING },
1206 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, AUTH PASSWORD PLUGIN TYPE, NULL, CFSTRING },
1207 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, AUTHENTICATIONMETHOD, NULL, CFSTRING },
1208 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, CONNECTTIME, NULL, CFSTRING },
1209 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, DISCONNECTONFASTUSERSWITCH, NULL, CFNUMBER_BOOL },
1210 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, DISCONNECTONIDLE, NULL, CFNUMBER_BOOL },
1211 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, DISCONNECTONIDLETIMER, NULL, CFNUMBER },
1212 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, DISCONNECTONLOGOUT, NULL, CFNUMBER_BOOL },
1213 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, DISCONNECTONSLEEP, NULL, CFNUMBER_BOOL },
1214 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, DISCONNECTONWAKE, NULL, CFNUMBER_BOOL },
1215 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, DISCONNECTONWAKETIMER, NULL, CFNUMBER },
1216 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, LOCALCERTIFICATE, NULL, CFDATA },
1217 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, LOGFILE, NULL, CFSTRING },
1218 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, MTU, NULL, CFNUMBER },
1219 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, ONDEMAND ENABLED, NULL, CFNUMBER_BOOL },
1220 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, ONDEMAND MATCH APP ENABLED, NULL, CFBOOLEAN },
1221 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, ONDEMAND MATCH DOMAINS ALWAYS, NULL, CFARRAY_CFSTRING },
1222 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, ONDEMAND MATCH DOMAINS ONRETRY, NULL, CFARRAY_CFSTRING },
1223 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, ONDEMAND MATCH DOMAINS NEVER, NULL, CFARRAY_CFSTRING },
1224 { SC_10_8_IPHONE_6_0_PRIVATE, NETPROP VPN, ONDEMAND RULES, NULL, CFARRAY_CFDICTIONARY },
1225 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, ONDEMAND SUSPENDED, NULL, CFNUMBER },
1226 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN, PLUGIN CAPABILITY, NULL, CFSTRING },
1227 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, REMOTEADDRESS, NULL, CFSTRING },
1228 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, STATUS, NULL, CFNUMBER },
1229 { SC_10_7_IPHONE_4_0_PRIVATE, NETPROP VPN, VERBOSELOGGING, NULL, CFNUMBER_BOOL },
1230 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1231 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN APP RULES " [CFDictionary] keys ---", NULL, NULL, NULL },
1232 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE, ACCOUNT IDENTIFIER MATCH, NULL, CFARRAY_CFSTRING },
1233 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE, DNS DOMAIN MATCH, NULL, CFARRAY_CFSTRING },
1234 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE, EXECUTABLE MATCH, NULL, CFARRAY_CFDICTIONARY },
1235 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE, IDENTIFIER, NULL, CFSTRING },
1236 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1237 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETVAL VPN APP RULE EXECUTABLE MATCH " [CFDictionary] keys ---", NULL, NULL, NULL },
1238 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE EXECUTABLE, DESIGNATED REQUIREMENT, NULL, CFSTRING },
1239 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE EXECUTABLE, SIGNING IDENTIFIER, NULL, CFSTRING },
1240 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN APP RULE EXECUTABLE, UUID, NULL, CFSTRING },
1241 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1242 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN AUTHENTICATIONMETHOD " values ---", NULL, NULL, NULL },
1243 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL VPN AUTHENTICATIONMETHOD, PASSWORD, NULL, NULL },
1244 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL VPN AUTHENTICATIONMETHOD, CERTIFICATE, NULL, NULL },
1245 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1246 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN AUTH PASSWORD ENCRYPTION " values ---", NULL, NULL, NULL },
1247 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN AUTH PASSWORD ENCRYPTION, EXTERNAL, NULL, NULL },
1248 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL VPN AUTH PASSWORD ENCRYPTION, KEYCHAIN, NULL, NULL },
1249 { SC_10_7_IPHONE_4_0_PRIVATE, NETVAL VPN AUTH PASSWORD ENCRYPTION, PROMPT, NULL, NULL },
1250 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1251 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN ONDEMAND RULES " [CFDictionary] keys ---", NULL, NULL, NULL },
1252 { SC_10_8_IPHONE_6_0_PRIVATE, NETPROP VPN ONDEMAND RULE, ACTION, NULL, CFSTRING },
1253 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE, ACTION PARAMETERS, NULL, CFARRAY_CFDICTIONARY },
1254 { SC_10_8_IPHONE_6_0_PRIVATE, NETPROP VPN ONDEMAND RULE, DNS DOMAIN MATCH, NULL, CFARRAY_CFSTRING },
1255 { SC_10_8_IPHONE_6_0_PRIVATE, NETPROP VPN ONDEMAND RULE, DNS SERVER ADDRESS MATCH, NULL, CFARRAY_CFSTRING },
1256 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE, SSID MATCH, NULL, CFARRAY_CFSTRING },
1257 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE, INTERFACE TYPE MATCH, NULL, CFSTRING },
1258 { SC_10_8_IPHONE_6_0_PRIVATE, NETPROP VPN ONDEMAND RULE, URLSTRING PROBE, NULL, CFSTRING },
1259 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1260 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN ONDEMAND RULE ACTION " values ---", NULL, NULL, NULL },
1261 { SC_10_8_IPHONE_6_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION, ALLOW, NULL, NULL },
1262 { SC_10_8_IPHONE_6_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION, IGNORE, NULL, NULL },
1263 { SC_10_8_IPHONE_6_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION, CONNECT, NULL, NULL },
1264 { SC_10_8_IPHONE_6_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION, DISCONNECT, NULL, NULL },
1265 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION, EVALUATE CONNECTION, NULL, NULL },
1266 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1267 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN ONDEMAND RULE ACTION PARAMETERS " [CFDictionary] keys ---", NULL, NULL, NULL },
1268 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE ACTION PARAMETERS, DOMAIN ACTION, NULL, CFSTRING },
1269 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE ACTION PARAMETERS, DOMAINS, NULL, CFARRAY_CFSTRING },
1270 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE ACTION PARAMETERS, REQUIRED DNS SERVERS, NULL, CFARRAY_CFSTRING },
1271 { SC_10_9_IPHONE_7_0_PRIVATE, NETPROP VPN ONDEMAND RULE ACTION PARAMETERS, REQUIRED URLSTRING PROBE, NULL, CFSTRING },
1272 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1273 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN ONDEMAND RULE ACTION PARAMETERS DOMAIN ACTION " values ---", NULL, NULL, NULL },
1274 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION PARAMETERS DOMAIN ACTION, CONNECT IFNEEDED, NULL, NULL },
1275 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN ONDEMAND RULE ACTION PARAMETERS DOMAIN ACTION, NEVER CONNECT, NULL, NULL },
1276 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1277 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN ONDEMAND RULE INTERFACE TYPE MATCH " values ---", NULL, NULL, NULL },
1278 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN ONDEMAND RULE INTERFACE TYPE MATCH, ETHERNET, NULL, NULL },
1279 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN ONDEMAND RULE INTERFACE TYPE MATCH, WIFI, NULL, NULL },
1280 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1281 { COMMENT_PRIVATE, "--- " KEY_PREFIX NETPROP VPN PLUGIN CAPABILITY " values ---", NULL, NULL, NULL },
1282 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN PLUGIN CAPABILITY, AUTH, NULL, NULL },
1283 { SC_10_9_IPHONE_7_0_PRIVATE, NETVAL VPN PLUGIN CAPABILITY, CONNECT, NULL, NULL },
1284 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1285
1286 { GROUP, USERSENT CONSOLEUSER, KEY_PREFIX COMP USERS " Entity Keys", NULL, NULL },
1287
1288 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
1289 { SC_10_1_IPHONE_NA, USERSENT, CONSOLEUSER, NULL, NULL },
1290 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
1291 { COMMENT, "", NULL, NULL, NULL },
1292
1293 { GROUP, SYSTEMPROP COMPUTERNAME, KEY_PREFIX COMP SYSTEM " Properties", NULL, NULL },
1294
1295 { SC_10_1, SYSTEMPROP, COMPUTERNAME, NULL, CFSTRING },
1296 { SC_10_1, SYSTEMPROP, COMPUTERNAME ENCODING, NULL, CFNUMBER },
1297 { COMMENT, "", NULL, NULL, NULL },
1298
1299 { GROUP_PRIVATE, SYSTEMPROP COMPUTERNAME, KEY_PREFIX COMP SYSTEM " Properties", NULL, NULL },
1300
1301 { SC_10_5_PRIVATE, SYSTEMPROP, COMPUTERNAME REGION, NULL, CFNUMBER },
1302 { SC_10_5_PRIVATE, SYSTEMPROP, HOSTNAME, NULL, CFSTRING },
1303 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1304
1305 { GROUP, DYNAMICSTORE DOMAIN, "SCDynamicStore \"domain\" prefixes", NULL, NULL },
1306
1307 { SC_10_1, DYNAMICSTORE DOMAIN, FILE, "File:", NULL },
1308 { SC_10_1, DYNAMICSTORE DOMAIN, PLUGIN, "Plugin:", NULL },
1309 { SC_10_1, DYNAMICSTORE DOMAIN, SETUP, "Setup:", NULL },
1310 { SC_10_1, DYNAMICSTORE DOMAIN, STATE, "State:", NULL },
1311 { SC_10_1, DYNAMICSTORE DOMAIN, PREFS, "Prefs:", NULL },
1312 { COMMENT, "", NULL, NULL, NULL },
1313
1314 { GROUP, DYNAMICSTORE SETUPPROP, "Preference (\"location\") Keys", NULL, NULL },
1315
1316 { SC_10_1, DYNAMICSTORE SETUPPROP, CURRENTSET, NULL, CFSTRING },
1317 { SC_10_1, DYNAMICSTORE SETUPPROP, LAST UPDATED, NULL, NULL },
1318 { COMMENT, "", NULL, NULL, NULL },
1319
1320 { GROUP, DYNAMICSTORE NETPROP, "Common/shared Keys", NULL, NULL },
1321
1322 { SC_10_1, DYNAMICSTORE NETPROP, INTERFACES, NULL, CFARRAY_CFSTRING },
1323 { SC_10_1, DYNAMICSTORE NETPROP, PRIMARYINTERFACE, NULL, CFSTRING },
1324 { SC_10_1, DYNAMICSTORE NETPROP, PRIMARYSERVICE, NULL, CFSTRING },
1325 { SC_10_1, DYNAMICSTORE NETPROP, SERVICEIDS, NULL, CFARRAY_CFSTRING },
1326// { COMMENT, "", NULL, NULL, NULL },
1327
1328 { GROUP_PRIVATE, VIRTUALNETWORKINTERFACES, "Virtual Network Interface Keys", NULL, NULL },
1329
1330 { SC_10_5_PRIVATE, VIRTUALPROP BOND, INTERFACES, NULL, CFARRAY_CFSTRING },
1331 { SC_10_5_PRIVATE, VIRTUALPROP BOND, MODE, NULL, CFNUMBER },
1332 { SC_10_5_PRIVATE, VIRTUALPROP BOND, OPTIONS, NULL, CFDICTIONARY },
1333 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1334 { SC_10_7_IPHONE_4_0_PRIVATE, VIRTUALPROP BRIDGE, INTERFACES, NULL, CFARRAY_CFSTRING },
1335 { SC_10_7_IPHONE_4_0_PRIVATE, VIRTUALPROP BRIDGE, OPTIONS, NULL, CFDICTIONARY },
1336 { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1337 { SC_10_5_PRIVATE, VIRTUALPROP VLAN, INTERFACE, NULL, CFSTRING },
1338 { SC_10_5_PRIVATE, VIRTUALPROP VLAN, TAG, NULL, CFNUMBER },
1339 { SC_10_5_PRIVATE, VIRTUALPROP VLAN, OPTIONS, NULL, CFDICTIONARY },
1340// { COMMENT_PRIVATE, "", NULL, NULL, NULL },
1341
1342//{ GROUP, "DEPRECATED", "Deprecated schema definition keys", NULL, NULL },
1343
1344 { DEFINE, "#if", "!TARGET_OS_IPHONE", NULL, NULL },
1345 { SC_10_1_10_4, USERSPROP CONSOLEUSER, NAME, NULL, CFSTRING },
1346 { SC_10_1_10_4, USERSPROP CONSOLEUSER, UID, NULL, CFNUMBER },
1347 { SC_10_1_10_4, USERSPROP CONSOLEUSER, GID, NULL, CFNUMBER },
1348 { DEFINE, "#endif", "// !TARGET_OS_IPHONE", NULL, NULL },
1349// { COMMENT, "", NULL, NULL, NULL },
1350
1351 { END, NULL, NULL, NULL, NULL },
1352};
1353
1354enum {
1355 gen_header_e,
1356 gen_comments_e,
1357 gen_comments_private_e,
1358 gen_headerdoc_e,
1359 gen_headerdoc_private_e,
1360 gen_cfile_e,
1361};
1362
1363void
1364print_comment(schemaDefinition *def)
1365{
1366 char kbuf[256];
1367 char vbuf[256];
1368
1369 snprintf(kbuf, sizeof(kbuf), KEY_PREFIX "%s%s",
1370 def->prefix, def->key);
1371 snprintf(vbuf, sizeof(vbuf), "\"%s\"",
1372 def->value ? def->value : def->key);
1373
1374 if (def->type)
1375 printf(" * %-50s %-30s %s\n",
1376 kbuf, vbuf, def->type);
1377 else
1378 printf(" * %-50s %s\n",
1379 kbuf, vbuf);
1380
1381 return;
1382}
1383
1384void
1385print_define(schemaDefinition *def)
1386{
1387 printf("%s\t%s\n", def->prefix, def->key);
1388 return;
1389}
1390
1391void
1392print_headerdoc(schemaDefinition *def)
1393{
1394 char kbuf[256];
1395 char vbuf[256];
1396
1397 snprintf(kbuf, sizeof(kbuf), KEY_PREFIX "%s%s",
1398 def->prefix, def->key);
1399
1400 snprintf(vbuf, sizeof(vbuf), "\"%s\"",
1401 def->value ? def->value : def->key);
1402
1403
1404 printf("\n");
1405 printf("/*!\n");
1406 printf(" @const %s\n", kbuf);
1407 if (def->type) {
1408 printf(" @discussion Value is a %s\n", def->type);
1409 }
1410 printf(" */\n");
1411 printf("extern const CFStringRef %-49s", kbuf);
1412 switch (def->control) {
1413 case SC_10_1:
1414 printf(" API_AVAILABLE(macos(10.1)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1415 break;
1416 case SC_10_1_IPHONE_NA:
1417 printf(" API_AVAILABLE(macos(10.1)) API_UNAVAILABLE(ios, tvos, watchos, bridgeos);\n");
1418 break;
1419 case SC_10_2:
1420 printf(" API_AVAILABLE(macos(10.2)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1421 break;
1422 case SC_10_3:
1423 printf(" API_AVAILABLE(macos(10.3)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1424 break;
1425 case SC_10_1_10_4:
1426 printf(" API_DEPRECATED(\"No longer supported\", macos(10.1,10.4)) API_UNAVAILABLE(ios, tvos, watchos, bridgeos);\n");
1427 break;
1428 case SC_10_4:
1429 printf(" API_AVAILABLE(macos(10.4)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1430 break;
1431 case SC_10_5:
1432 printf(" API_AVAILABLE(macos(10.5)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1433 break;
1434 case SC_10_5_IPHONE_NA:
1435 printf(" API_AVAILABLE(macos(10.5)) API_UNAVAILABLE(ios, tvos, watchos, bridgeos);\n");
1436 break;
1437 case SC_10_5_10_7_IPHONE_NA:
1438 printf(" API_DEPRECATED(\"No longer supported\", macos(10.5,10.7)) API_UNAVAILABLE(ios, tvos, watchos, bridgeos);\n");
1439 break;
1440 case SC_10_5_PRIVATE:
1441 printf(" API_AVAILABLE(macos(10.5)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1442 break;
1443 case SC_10_1_10_9:
1444 printf(" API_DEPRECATED(\"No longer supported\", macos(10.1,10.9)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1445 break;
1446 case SC_10_2_10_9:
1447 printf(" API_DEPRECATED(\"No longer supported\", macos(10.2,10.9)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1448 break;
1449 case SC_10_2_10_13:
1450 printf(" API_DEPRECATED(\"No longer supported\", macos(10.2,10.13)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1451 break;
1452 case SC_10_2_10_15:
1453 printf(" API_DEPRECATED(\"No longer supported\", macos(10.2,10.15)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1454 break;
1455 case SC_10_3_10_9:
1456 printf(" API_DEPRECATED(\"No longer supported\", macos(10.3,10.9)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1457 break;
1458 case SC_10_3_10_15:
1459 printf(" API_DEPRECATED(\"No longer supported\", macos(10.3,10.15)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1460 break;
1461 case SC_10_4_10_9:
1462 printf(" API_DEPRECATED(\"No longer supported\", macos(10.4,10.9)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1463 break;
1464 case SC_10_2_10_12_IPHONE_2_0_10_0:
1465 printf(" "
1466 " API_DEPRECATED(\"No longer supported\", macos(10.2,10.12))"
1467 " SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n"); // Note: really want SPI_DEPRECATED
1468 break;
1469 case SC_10_3_10_12_IPHONE_2_0_10_0:
1470 printf(" "
1471 " API_DEPRECATED(\"No longer supported\", macos(10.3,10.12))"
1472 " SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n"); // Note: really want SPI_DEPRECATED
1473 break;
1474 case SC_10_6_IPHONE_2_0:
1475 case SC_10_6_IPHONE_2_0_PRIVATE:
1476 printf(" API_AVAILABLE(macos(10.6)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1477 break;
1478 case SC_10_6_IPHONE_3_0:
1479 case SC_10_6_IPHONE_3_0_PRIVATE:
1480 printf(" API_AVAILABLE(macos(10.6)) SPI_AVAILABLE(ios(3.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1481 break;
1482 case SC_10_7_IPHONE_4_0:
1483 case SC_10_7_IPHONE_4_0_PRIVATE:
1484 printf(" API_AVAILABLE(macos(10.7)) SPI_AVAILABLE(ios(4.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1485 break;
1486 case SC_10_7_IPHONE_5_0_PRIVATE:
1487 printf(" API_AVAILABLE(macos(10.7)) SPI_AVAILABLE(ios(5.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1488 break;
1489 case SC_10_8_IPHONE_6_0_PRIVATE:
1490 printf(" API_AVAILABLE(macos(10.8)) SPI_AVAILABLE(ios(6.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1491 break;
1492 case SC_10_9_IPHONE_6_0_PRIVATE:
1493 printf(" API_AVAILABLE(macos(10.9)) SPI_AVAILABLE(ios(6.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1494 break;
1495 case SC_10_9_IPHONE_7_0_PRIVATE:
1496 printf(" API_AVAILABLE(macos(10.9)) SPI_AVAILABLE(ios(7.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1497 break;
1498 case SC_10_10_IPHONE_7_0_PRIVATE:
1499 printf(" API_AVAILABLE(macos(10.10)) SPI_AVAILABLE(ios(7.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1500 break;
1501 case SC_10_10_IPHONE_8_0_PRIVATE:
1502 printf(" API_AVAILABLE(macos(10.10)) SPI_AVAILABLE(ios(8.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1503 break;
1504 case SC_10_11_IPHONE_9_0_PRIVATE:
1505 printf(" API_AVAILABLE(macos(10.11)) SPI_AVAILABLE(ios(9.0), tvos(9.0), watchos(2.0), bridgeos(2.0));\n");
1506 break;
1507 case SC_10_12_IPHONE_10_0_PRIVATE:
1508 printf(" API_AVAILABLE(macos(10.12)) SPI_AVAILABLE(ios(10.0), tvos(10.0), watchos(3.0), bridgeos(2.0));\n");
1509 break;
1510 case SC_10_13_IPHONE_10_0_PRIVATE:
1511 printf(" API_AVAILABLE(macos(10.13)) SPI_AVAILABLE(ios(10.0), tvos(10.0), watchos(3.0), bridgeos(2.0));\n");
1512 break;
1513 case SC_10_13_IPHONE_11_0_PRIVATE:
1514 printf(" API_AVAILABLE(macos(10.13)) SPI_AVAILABLE(ios(11.0), tvos(11.0), watchos(4.0), bridgeos(2.0));\n");
1515 break;
1516 case SC_10_14_IPHONE_12_0_PRIVATE:
1517 printf(" API_AVAILABLE(macos(10.14)) SPI_AVAILABLE(ios(12.0), tvos(12.0), watchos(5.0), bridgeos(3.0));\n");
1518 break;
1519 case SC_10_15_IPHONE_13_0_PRIVATE:
1520 printf(" API_AVAILABLE(macos(10.15)) SPI_AVAILABLE(ios(13.0), tvos(13.0), watchos(6.0), bridgeos(4.0));\n");
1521 break;
1522 case SC_IPHONE_2_0_PRIVATE:
1523 printf(" SPI_AVAILABLE(macos(10.6), ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1524 break;
1525 case SC_IPHONE_7_0_PRIVATE:
1526 printf(" SPI_AVAILABLE(macos(9.0), ios(7.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1527 break;
1528 case SC_IPHONE_8_0_PRIVATE:
1529 printf(" SPI_AVAILABLE(macos(10.0), ios(8.0), tvos(9.0), watchos(1.0), bridgeos(1.0));\n");
1530 break;
1531 default:
1532 printf("\n");
1533 break;
1534 }
1535
1536 printf("#define %s %s\n", kbuf, kbuf);
1537 return;
1538}
1539
1540void
1541dump_names(int type)
1542{
1543 int i;
1544
1545 for (i = 0; TRUE; i++) {
1546 switch (names[i].control) {
1547 case END: {
1548 goto done;
1549 }
1550
1551 case COMMENT: {
1552 switch (type) {
1553 case gen_comments_e:
1554 if (names[i].prefix) {
1555 if (strlen(names[i].prefix) > 0)
1556 printf(" * %s\n", names[i].prefix);
1557 else
1558 printf(" *\n");
1559 }
1560 break;
1561 default:
1562 break;
1563 }
1564 break;
1565 }
1566
1567 case COMMENT_PRIVATE: {
1568 switch (type) {
1569 case gen_comments_private_e:
1570 if (names[i].prefix) {
1571 if (strlen(names[i].prefix) > 0)
1572 printf(" * %s\n", names[i].prefix);
1573 else
1574 printf(" *\n");
1575 }
1576 break;
1577 default:
1578 break;
1579 }
1580 break;
1581 }
1582
1583 case COMMENT_DEPRECATED:
1584 case COMMENT_DEPRECATED_NO_HEADER: {
1585 break;
1586 }
1587
1588 case DEFINE: {
1589 switch (type) {
1590 case gen_cfile_e:
1591 if ((strcmp(names[i].prefix, "#if") == 0) ||
1592 (strcmp(names[i].prefix, "#ifdef") == 0) ||
1593 (strcmp(names[i].prefix, "#ifndef") == 0))
1594 printf("\n");
1595 print_define(&names[i]);
1596 if (strcmp(names[i].prefix, "#endif") == 0)
1597 printf("\n");
1598 break;
1599 default:
1600 break;
1601 }
1602 break;
1603 }
1604
1605 case DEFINE_PRIVATE: {
1606 switch (type) {
1607 case gen_cfile_e:
1608 if ((strcmp(names[i].prefix, "#if") == 0) ||
1609 (strcmp(names[i].prefix, "#ifdef") == 0) ||
1610 (strcmp(names[i].prefix, "#ifndef") == 0))
1611 printf("\n");
1612 print_define(&names[i]);
1613 if (strcmp(names[i].prefix, "#endif") == 0)
1614 printf("\n");
1615 break;
1616 default:
1617 break;
1618 }
1619 break;
1620 }
1621
1622 case GROUP:
1623 case GROUP_DEPRECATED: {
1624 switch (type) {
1625 case gen_comments_e:
1626 if (names[i].control == GROUP) {
1627 if (names[i].key)
1628 printf(" * %s\n *\n", names[i].key);
1629 }
1630 break;
1631 case gen_headerdoc_e:
1632 if (names[i].prefix)
1633 printf("\n/*!\n @group %s\n */\n", names[i].key);
1634 break;
1635 default:
1636 break;
1637 }
1638 break;
1639 }
1640
1641 case GROUP_DEPRECATED_NO_HEADER: {
1642 break;
1643 }
1644
1645 case GROUP_PRIVATE: {
1646 switch (type) {
1647 case gen_comments_private_e:
1648 if (names[i].key)
1649 printf(" * %s\n *\n", names[i].key);
1650 break;
1651 case gen_headerdoc_private_e:
1652 if (names[i].prefix)
1653 printf("\n/*!\n @group %s\n */\n", names[i].key);
1654 break;
1655 default:
1656 break;
1657 }
1658 break;
1659 }
1660
1661 default: {
1662 char kbuf[256];
1663 char vbuf[256];
1664
1665 switch (type) {
1666 case gen_header_e:
1667 snprintf(kbuf, sizeof(kbuf), KEY_PREFIX "%s%s",
1668 names[i].prefix, names[i].key);
1669
1670 if (names[i].value)
1671 snprintf(vbuf, sizeof(vbuf), "SCSTR(\"%s\")",
1672 names[i].value);
1673 else
1674 snprintf(vbuf, sizeof(vbuf), "SCSTR(\"%s\")",
1675 names[i].key);
1676
1677 printf("#define %-50s %s\n",
1678 kbuf, vbuf);
1679 break;
1680
1681 case gen_comments_e:
1682 switch (names[i].control) {
1683 case DEPRECATED_NO_HEADER:
1684 case SC_10_1_10_4:
1685 case SC_10_1_10_9:
1686 case SC_10_2_10_9:
1687 case SC_10_2_10_13:
1688 case SC_10_2_10_15:
1689 case SC_10_3_10_9:
1690 case SC_10_3_10_15:
1691 case SC_10_4_10_9:
1692 // don't report deprecated keys
1693 break;
1694 case SC_10_5_PRIVATE:
1695 case SC_10_6_IPHONE_2_0_PRIVATE:
1696 case SC_10_6_IPHONE_3_0_PRIVATE:
1697 case SC_10_7_IPHONE_4_0_PRIVATE:
1698 case SC_10_7_IPHONE_5_0_PRIVATE:
1699 case SC_10_8_IPHONE_6_0_PRIVATE:
1700 case SC_10_9_IPHONE_6_0_PRIVATE:
1701 case SC_10_9_IPHONE_7_0_PRIVATE:
1702 case SC_10_10_IPHONE_7_0_PRIVATE:
1703 case SC_10_10_IPHONE_8_0_PRIVATE:
1704 case SC_10_11_IPHONE_9_0_PRIVATE:
1705 case SC_10_12_IPHONE_10_0_PRIVATE:
1706 case SC_10_13_IPHONE_10_0_PRIVATE:
1707 case SC_10_13_IPHONE_11_0_PRIVATE:
1708 case SC_10_14_IPHONE_12_0_PRIVATE:
1709 case SC_10_15_IPHONE_13_0_PRIVATE:
1710 case SC_IPHONE_2_0_PRIVATE:
1711 case SC_IPHONE_7_0_PRIVATE:
1712 case SC_IPHONE_8_0_PRIVATE:
1713 // don't report private definitions
1714 break;
1715 default:
1716 print_comment(&names[i]);
1717 break;
1718 }
1719 break;
1720 case gen_comments_private_e:
1721 switch (names[i].control) {
1722 case DEPRECATED_NO_HEADER:
1723 case SC_10_1_10_4:
1724 case SC_10_1_10_9:
1725 case SC_10_2_10_9:
1726 case SC_10_2_10_13:
1727 case SC_10_2_10_15:
1728 case SC_10_3_10_9:
1729 case SC_10_3_10_15:
1730 case SC_10_4_10_9:
1731 // don't report deprecated keys
1732 break;
1733 case SC_10_5_PRIVATE:
1734 case SC_10_6_IPHONE_2_0_PRIVATE:
1735 case SC_10_6_IPHONE_3_0_PRIVATE:
1736 case SC_10_7_IPHONE_4_0_PRIVATE:
1737 case SC_10_7_IPHONE_5_0_PRIVATE:
1738 case SC_10_8_IPHONE_6_0_PRIVATE:
1739 case SC_10_9_IPHONE_6_0_PRIVATE:
1740 case SC_10_9_IPHONE_7_0_PRIVATE:
1741 case SC_10_10_IPHONE_7_0_PRIVATE:
1742 case SC_10_10_IPHONE_8_0_PRIVATE:
1743 case SC_10_11_IPHONE_9_0_PRIVATE:
1744 case SC_10_12_IPHONE_10_0_PRIVATE:
1745 case SC_10_13_IPHONE_10_0_PRIVATE:
1746 case SC_10_13_IPHONE_11_0_PRIVATE:
1747 case SC_10_14_IPHONE_12_0_PRIVATE:
1748 case SC_10_15_IPHONE_13_0_PRIVATE:
1749 case SC_IPHONE_2_0_PRIVATE:
1750 case SC_IPHONE_7_0_PRIVATE:
1751 case SC_IPHONE_8_0_PRIVATE:
1752 print_comment(&names[i]);
1753 break;
1754 default:
1755 // don't report public definitions
1756 break;
1757 }
1758 break;
1759
1760 case gen_headerdoc_e:
1761 switch (names[i].control) {
1762 case DEPRECATED_NO_HEADER:
1763 case SC_10_5_PRIVATE:
1764 case SC_10_6_IPHONE_2_0_PRIVATE:
1765 case SC_10_6_IPHONE_3_0_PRIVATE:
1766 case SC_10_7_IPHONE_4_0_PRIVATE:
1767 case SC_10_7_IPHONE_5_0_PRIVATE:
1768 case SC_10_8_IPHONE_6_0_PRIVATE:
1769 case SC_10_9_IPHONE_6_0_PRIVATE:
1770 case SC_10_9_IPHONE_7_0_PRIVATE:
1771 case SC_10_10_IPHONE_7_0_PRIVATE:
1772 case SC_10_10_IPHONE_8_0_PRIVATE:
1773 case SC_10_11_IPHONE_9_0_PRIVATE:
1774 case SC_10_12_IPHONE_10_0_PRIVATE:
1775 case SC_10_13_IPHONE_10_0_PRIVATE:
1776 case SC_10_13_IPHONE_11_0_PRIVATE:
1777 case SC_10_14_IPHONE_12_0_PRIVATE:
1778 case SC_10_15_IPHONE_13_0_PRIVATE:
1779 case SC_IPHONE_2_0_PRIVATE:
1780 case SC_IPHONE_7_0_PRIVATE:
1781 case SC_IPHONE_8_0_PRIVATE:
1782 // don't report private definitions
1783 break;
1784 default:
1785 print_headerdoc(&names[i]);
1786 break;
1787 }
1788 break;
1789 case gen_headerdoc_private_e:
1790 switch (names[i].control) {
1791 case SC_10_5_PRIVATE:
1792 case SC_10_6_IPHONE_2_0_PRIVATE:
1793 case SC_10_6_IPHONE_3_0_PRIVATE:
1794 case SC_10_7_IPHONE_4_0_PRIVATE:
1795 case SC_10_7_IPHONE_5_0_PRIVATE:
1796 case SC_10_8_IPHONE_6_0_PRIVATE:
1797 case SC_10_9_IPHONE_6_0_PRIVATE:
1798 case SC_10_9_IPHONE_7_0_PRIVATE:
1799 case SC_10_10_IPHONE_7_0_PRIVATE:
1800 case SC_10_10_IPHONE_8_0_PRIVATE:
1801 case SC_10_11_IPHONE_9_0_PRIVATE:
1802 case SC_10_12_IPHONE_10_0_PRIVATE:
1803 case SC_10_13_IPHONE_10_0_PRIVATE:
1804 case SC_10_13_IPHONE_11_0_PRIVATE:
1805 case SC_10_14_IPHONE_12_0_PRIVATE:
1806 case SC_10_15_IPHONE_13_0_PRIVATE:
1807 case SC_IPHONE_2_0_PRIVATE:
1808 case SC_IPHONE_7_0_PRIVATE:
1809 case SC_IPHONE_8_0_PRIVATE:
1810 print_headerdoc(&names[i]);
1811 break;
1812 default:
1813 // don't report public definitions
1814 break;
1815 }
1816 break;
1817 case gen_cfile_e:
1818 snprintf(kbuf, sizeof(kbuf), KEY_PREFIX "%s%s",
1819 names[i].prefix, names[i].key);
1820
1821 if (names[i].value)
1822 printf("const CFStringRef %-48s = CFSTR(\"%s\");\n",
1823 kbuf, names[i].value);
1824 else
1825 printf("const CFStringRef %-48s = CFSTR(\"%s\");\n",
1826 kbuf, names[i].key);
1827 break;
1828 default:
1829 break;
1830 }
1831 break;
1832 }
1833 }
1834 }
1835 done:
1836 return;
1837}
1838
1839int
1840main(int argc, char * argv[])
1841{
1842 char * type = "";
1843
1844 if (argc >= 2)
1845 type = argv[1];
1846
1847 if (strcmp(type, "header") == 0) {
1848 printf("%s\n", copyright_string);
1849 printf("/*\n * This file is automatically generated\n * DO NOT EDIT!\n */\n\n");
1850
1851 printf("/*\n");
1852 dump_names(gen_comments_e);
1853 printf(" */\n\n\n");
1854
1855 printf("#ifndef\t_SCSCHEMADEFINITIONS_H\n");
1856 printf("#define\t_SCSCHEMADEFINITIONS_H\n");
1857 printf("\n");
1858
1859 printf("#include <os/availability.h>\n");
1860 printf("#include <TargetConditionals.h>\n");
1861 printf("#include <CoreFoundation/CFString.h>\n");
1862 printf("\n");
1863
1864 printf("/*!\n");
1865 printf(" *\t@header SCSchemaDefinitions\n");
1866 printf(" */\n\n");
1867
1868 printf("\n");
1869 printf("CF_ASSUME_NONNULL_BEGIN\n");
1870
1871 dump_names(gen_headerdoc_e);
1872
1873 printf("\n");
1874 printf("CF_ASSUME_NONNULL_END");
1875 printf("\n\n");
1876
1877 printf("#endif\t/* _SCSCHEMADEFINITIONS_H */\n");
1878 }
1879 else if (strcmp(type, "private") == 0) {
1880 printf("%s\n", copyright_string);
1881 printf("/*\n * This file is automatically generated\n * DO NOT EDIT!\n */\n\n");
1882
1883 printf("/*\n");
1884 dump_names(gen_comments_private_e);
1885 printf(" */\n\n\n");
1886
1887 printf("#ifndef _SCSCHEMADEFINITIONSPRIVATE_H\n");
1888 printf("#define _SCSCHEMADEFINITIONSPRIVATE_H\n");
1889 printf("\n");
1890
1891 printf("#include <SystemConfiguration/SCSchemaDefinitions.h>\n\n");
1892
1893 printf("/*!\n");
1894 printf(" *\t@header SCSchemaDefinitionsPrivate\n");
1895 printf(" */\n");
1896 dump_names(gen_headerdoc_private_e);
1897 printf("\n\n");
1898
1899 printf("#endif\t/* _SCSCHEMADEFINITIONSPRIVATE_H */\n");
1900 }
1901 else if (strcmp(type, "cfile") == 0) {
1902 printf("/*\n");
1903 printf(" * This file is automatically generated\n");
1904 printf(" * DO NOT EDIT!\n");
1905 printf(" */\n");
1906 printf("\n");
1907 printf("#include <TargetConditionals.h>\n");
1908 printf("#include <CoreFoundation/CFString.h>\n");
1909 printf("\n");
1910 dump_names(gen_cfile_e);
1911 }
1912 exit(0);
1913 return (0);
1914}
1915