]> git.saurik.com Git - apple/configd.git/blobdiff - SystemConfiguration.fproj/LinkConfiguration.h
configd-53.1.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / LinkConfiguration.h
diff --git a/SystemConfiguration.fproj/LinkConfiguration.h b/SystemConfiguration.fproj/LinkConfiguration.h
new file mode 100644 (file)
index 0000000..b09ba78
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
+ *
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+
+
+#ifndef _LINKCONFIGURATION_H
+#define _LINKCONFIGURATION_H
+
+#include <sys/cdefs.h>
+#include <CoreFoundation/CoreFoundation.h>
+
+
+__BEGIN_DECLS
+
+/*!
+       @function NetworkInterfaceCopyMediaOptions
+       @discussion For the specified network interface, returns information
+               about the currently requested media options, the active media
+               options, and the media options which are available.
+       @param interface The desired network interface.
+       @param current A pointer to memory that will be filled with a CFDictionaryRef
+               representing the currently requested media options (subtype, options).
+               If NULL, the current options will not be returned.
+       @param active A pointer to memory that will be filled with a CFDictionaryRef
+               representing the active media options (subtype, options).
+               If NULL, the active options will not be returned.
+       @param available A pointer to memory that will be filled with a CFArrayRef
+               representing the possible media options (subtype, options).
+               If NULL, the available options will not be returned.
+       @param filter A boolean indicating whether the available options should be
+               filtered to exclude those options which would not normally be
+               requested by a user/admin (e.g. hw-loopback).
+       @result TRUE if requested information has been returned.
+
+ */
+Boolean
+NetworkInterfaceCopyMediaOptions(
+                                CFStringRef            interface,
+                                CFDictionaryRef        *current,
+                                CFDictionaryRef        *active,
+                                CFArrayRef             *available,
+                                Boolean                filter
+                                );
+
+/*!
+       @function NetworkInterfaceCopyMediaSubTypes
+       @discussion For the provided interface configuration options, return a list
+               of available media subtypes.
+       @param available The available options as returned by the
+               NetworkInterfaceCopyMediaOptions function.
+       @result An array of available media subtypes CFString's (e.g. 10BaseT/UTP,
+               100baseTX, etc).  NULL if no subtypes are available.
+ */
+CFArrayRef
+NetworkInterfaceCopyMediaSubTypes(
+                                 CFArrayRef            available
+                                 );
+
+/*!
+       @function NetworkInterfaceCopyMediaSubTypes
+       @discussion For the provided interface configuration options and specific
+               subtype, return a list of available media options.
+       @param available The available options as returned by the
+               NetworkInterfaceCopyMediaOptions function.
+       @param subType The subtype
+       @result An array of available media options.  Each of the available options
+               is returned as an array of CFString's (e.g. <half-duplex>,
+               <full-duplex,flow-control>).  NULL if no options are available.
+ */
+CFArrayRef
+NetworkInterfaceCopyMediaSubTypeOptions(
+                                       CFArrayRef              available,
+                                       CFStringRef             subType
+                                       );
+
+/*!
+       @function NetworkInterfaceCopyMTU
+       @discussion
+       @param interface The desired network interface.
+       @param mtu_cur A pointer to memory that will be filled with the current
+               MTU setting for the interface.
+       @param mtu_min A pointer to memory that will be filled with the minimum
+               MTU setting for the interface.  If negative, the minumum setting
+               could not be determined.
+       @param mtu_max A pointer to memory that will be filled with the maximum
+               MTU setting for the interface.  If negative, the maximum setting
+               could not be determined.
+       @result TRUE if requested information has been returned.
+
+ */
+Boolean
+NetworkInterfaceCopyMTU(
+                       CFStringRef     interface,
+                       int             *mtu_cur,
+                       int             *mtu_min,
+                       int             *mtu_max
+                       );
+
+
+__END_DECLS
+
+#endif /* _LINKCONFIGURATION_H */
+