diff options
Diffstat (limited to 'packages/univint/src/SCDynamicStoreCopyDHCPInfos.pas')
-rw-r--r-- | packages/univint/src/SCDynamicStoreCopyDHCPInfos.pas | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/packages/univint/src/SCDynamicStoreCopyDHCPInfos.pas b/packages/univint/src/SCDynamicStoreCopyDHCPInfos.pas new file mode 100644 index 0000000000..6cccc44a87 --- /dev/null +++ b/packages/univint/src/SCDynamicStoreCopyDHCPInfos.pas @@ -0,0 +1,172 @@ +{ + * Copyright (c) 2001-2002 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The 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, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + } +{ Pascal Translation: Peter N Lewis, <peter@stairways.com.au>, 2004 } +{ Unit name changed to SCDynamicStoreCopyDHCPInfos to avoid conflict with + SCDynamicStoreCopyDHCPInfo function } + + +{ + Modified for use with Free Pascal + Version 200 + Please report any bugs to <gpc@microbizz.nl> +} + +{$mode macpas} +{$packenum 1} +{$macro on} +{$inline on} +{$CALLING MWPASCAL} + +unit SCDynamicStoreCopyDHCPInfos; +interface +{$setc UNIVERSAL_INTERFACES_VERSION := $0342} +{$setc GAP_INTERFACES_VERSION := $0200} + +{$ifc not defined USE_CFSTR_CONSTANT_MACROS} + {$setc USE_CFSTR_CONSTANT_MACROS := TRUE} +{$endc} + +{$ifc defined CPUPOWERPC and defined CPUI386} + {$error Conflicting initial definitions for CPUPOWERPC and CPUI386} +{$endc} +{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN} + {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN} +{$endc} + +{$ifc not defined __ppc__ and defined CPUPOWERPC} + {$setc __ppc__ := 1} +{$elsec} + {$setc __ppc__ := 0} +{$endc} +{$ifc not defined __i386__ and defined CPUI386} + {$setc __i386__ := 1} +{$elsec} + {$setc __i386__ := 0} +{$endc} + +{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__} + {$error Conflicting definitions for __ppc__ and __i386__} +{$endc} + +{$ifc defined __ppc__ and __ppc__} + {$setc TARGET_CPU_PPC := TRUE} + {$setc TARGET_CPU_X86 := FALSE} +{$elifc defined __i386__ and __i386__} + {$setc TARGET_CPU_PPC := FALSE} + {$setc TARGET_CPU_X86 := TRUE} +{$elsec} + {$error Neither __ppc__ nor __i386__ is defined.} +{$endc} +{$setc TARGET_CPU_PPC_64 := FALSE} + +{$ifc defined FPC_BIG_ENDIAN} + {$setc TARGET_RT_BIG_ENDIAN := TRUE} + {$setc TARGET_RT_LITTLE_ENDIAN := FALSE} +{$elifc defined FPC_LITTLE_ENDIAN} + {$setc TARGET_RT_BIG_ENDIAN := FALSE} + {$setc TARGET_RT_LITTLE_ENDIAN := TRUE} +{$elsec} + {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.} +{$endc} +{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE} +{$setc CALL_NOT_IN_CARBON := FALSE} +{$setc OLDROUTINENAMES := FALSE} +{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE} +{$setc OPAQUE_UPP_TYPES := TRUE} +{$setc OTCARBONAPPLICATION := TRUE} +{$setc OTKERNEL := FALSE} +{$setc PM_USE_SESSION_APIS := TRUE} +{$setc TARGET_API_MAC_CARBON := TRUE} +{$setc TARGET_API_MAC_OS8 := FALSE} +{$setc TARGET_API_MAC_OSX := TRUE} +{$setc TARGET_CARBON := TRUE} +{$setc TARGET_CPU_68K := FALSE} +{$setc TARGET_CPU_MIPS := FALSE} +{$setc TARGET_CPU_SPARC := FALSE} +{$setc TARGET_OS_MAC := TRUE} +{$setc TARGET_OS_UNIX := FALSE} +{$setc TARGET_OS_WIN32 := FALSE} +{$setc TARGET_RT_MAC_68881 := FALSE} +{$setc TARGET_RT_MAC_CFM := FALSE} +{$setc TARGET_RT_MAC_MACHO := TRUE} +{$setc TYPED_FUNCTION_POINTERS := TRUE} +{$setc TYPE_BOOL := FALSE} +{$setc TYPE_EXTENDED := FALSE} +{$setc TYPE_LONGLONG := TRUE} +uses MacTypes,CFBase,SCDynamicStore,CFDictionary,CFData,CFDate; +{$ALIGN MAC68K} + +{! + @header SCDynamicStoreCopyDHCPInfo.h + The following APIs allow an application to retrieve DHCP/BOOTP + information, in particular DHCP/BOOTP options. + } + +{! + @function SCDynamicStoreCopyDHCPInfo + @discussion Copies the DHCP/BOOTP information dictionary for the + requested serviceID, or the primary service if + serviceID == NULL. + @param store An SCDynamicStoreRef that should be used for communication + with the server. + If NULL, a temporary session will be used. + @param serviceID A CFStringRef containing the requested service. + If NULL, returns information for the primary service. + @result A dictionary containing DHCP/BOOTP information if successful, + NULL otherwise. + Use the DHCPInfoGetOption() to retrieve + individual options from the returned dictionary. + + A non-NULL return value must be released using CFRelease(). + } +function SCDynamicStoreCopyDHCPInfo( store: SCDynamicStoreRef; serviceID: CFStringRef ): CFDictionaryRef; external name '_SCDynamicStoreCopyDHCPInfo'; + +{! + @function DHCPInfoGetOptionData + @discussion Returns a non-NULL CFDataRef containing the BOOTP/DHCP + option data if present, NULL otherwise. + @param info The non-NULL DHCP information dictionary returned by + calling SCDynamicStoreCopyDHCPInfo. + @param code The DHCP/BOOTP option code (see RFC 2132) to return + data for. + @result A non-NULL CFDataRef containing the option data, + NULL otherwise. + + The return value must NOT be released. + } +function DHCPInfoGetOptionData( info: CFDictionaryRef; code: UInt8 ): CFDataRef; external name '_DHCPInfoGetOptionData'; + +{! + @function DHCPInfoGetLeaseStartTime + @discussion Returns a CFDateRef corresponding to the lease start time, + if present, NULL otherwise. A NULL return value is returned + if the configuration method is BOOTP. + @param info The non-NULL DHCP information dictionary returned by + calling SCDynamicStoreCopyDHCPInfo. + @result A non-NULL CFDateRef if present, NULL otherwise. + + The return value must NOT be released. + } +function DHCPInfoGetLeaseStartTime( info: CFDictionaryRef ): CFDateRef; external name '_DHCPInfoGetLeaseStartTime'; + +end. |