--- /dev/null
+/*
+ * 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 */
+