2  * Copyright (c) 2004, 2006 Apple Computer, Inc. All rights reserved. 
   4  * @APPLE_LICENSE_HEADER_START@ 
   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 
  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. 
  21  * @APPLE_LICENSE_HEADER_END@ 
  25  * Modification History 
  27  * August 5, 2004                       Allan Nathanson <ajn@apple.com> 
  34 #include <sys/cdefs.h> 
  36 #include <CoreFoundation/CoreFoundation.h> 
  37 #include <SystemConfiguration/SystemConfiguration.h> 
  40 typedef int (*optionHandler
) (CFStringRef               key
, 
  41                               const char                *description
, 
  45                               CFMutableDictionaryRef    newConfiguration
); 
  48         isOther
,                // use "only" handler function for processing 
  58 typedef const struct { 
  59         const CFStringRef       selection
; 
  60         const CFStringRef       
*key
; 
  61         const unsigned int      flags
; 
  63 #define selectionNotAvailable   1<<0    // if you can't "choose" this selection 
  65 typedef const struct { 
  67         const char              *description
; 
  69         const CFStringRef       
*key
; 
  70         optionHandler           handler
; 
  72 } options
, *optionsRef
; 
  75 extern CFMutableArrayRef        new_interfaces
; 
  77 extern CFArrayRef               interfaces
; 
  78 extern CFArrayRef               services
; 
  79 extern CFArrayRef               protocols
; 
  80 extern CFArrayRef               sets
; 
  82 extern SCNetworkInterfaceRef    net_interface
; 
  83 extern SCNetworkServiceRef      net_service
; 
  84 extern SCNetworkProtocolRef     net_protocol
; 
  85 extern SCNetworkSetRef          net_set
; 
  87 extern CFNumberRef              CFNumberRef_0
; 
  88 extern CFNumberRef              CFNumberRef_1
; 
  93 Boolean         
_process_options(optionsRef             options
, 
  97                                  CFMutableDictionaryRef newConfiguration
); 
  99 CFNumberRef     
_copy_number    (const char *arg
); 
 101 CFIndex         
_find_option    (const char     *option
, 
 105 CFIndex         
_find_selection (CFStringRef    choice
, 
 106                                  selections     choises
[], 
 107                                  unsigned int   *flags
); 
 109 void            _show_entity    (CFDictionaryRef entity
, CFStringRef prefix
); 
 111 void    do_net_init             (void); 
 112 void    do_net_quit             (int argc
, char **argv
); 
 114 void    do_net_open             (int argc
, char **argv
); 
 115 void    do_net_commit           (int argc
, char **argv
); 
 116 void    do_net_apply            (int argc
, char **argv
); 
 117 void    do_net_close            (int argc
, char **argv
); 
 119 void    do_net_create           (int argc
, char **argv
); 
 120 void    do_net_disable          (int argc
, char **argv
); 
 121 void    do_net_enable           (int argc
, char **argv
); 
 122 void    do_net_remove           (int argc
, char **argv
); 
 123 void    do_net_select           (int argc
, char **argv
); 
 124 void    do_net_set              (int argc
, char **argv
); 
 125 void    do_net_show             (int argc
, char **argv
); 
 126 void    do_net_update           (int argc
, char **argv
); 
 128 void    do_net_snapshot         (int argc
, char **argv
);