]> git.saurik.com Git - apple/configd.git/blobdiff - SystemConfiguration.fproj/DHCP.c
configd-699.1.5.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / DHCP.c
index 2adc1949a17fbccd84d31c3ebfd8e8e5689bee76..aaf1ba0d5ac01575d02fc703e958b719b0fa69c3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2001, 2003-2005, 2011, 2013 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -42,9 +42,9 @@ static UInt8 *
 S_get_char_array(CFArrayRef arr, CFIndex * len)
 {
     UInt8 *    buf = NULL;
-    int                count = 0;
-    int        i;
-    int        real_count;
+    CFIndex    count = 0;
+    CFIndex    i;
+    CFIndex    real_count;
 
     if (arr) {
        count = CFArrayGetCount(arr);
@@ -77,8 +77,8 @@ S_get_char_array(CFArrayRef arr, CFIndex * len)
 static void
 my_CFArrayAppendUniqueValue(CFMutableArrayRef arr, CFTypeRef new)
 {
-    int i;
-    int n = CFArrayGetCount(arr);
+    CFIndex i;
+    CFIndex n = CFArrayGetCount(arr);
 
     for (i = 0; i < n; i++) {
        CFStringRef element = CFArrayGetValueAtIndex(arr, i);
@@ -90,7 +90,7 @@ my_CFArrayAppendUniqueValue(CFMutableArrayRef arr, CFTypeRef new)
     return;
 }
 
-static __inline__ CFStringRef
+static __inline__ CF_RETURNS_RETAINED CFStringRef
 S_application_path(CFStringRef applicationID)
 {
     return (CFStringCreateWithFormat(NULL, NULL,
@@ -240,19 +240,8 @@ SCDynamicStoreCopyDHCPInfo(SCDynamicStoreRef store, CFStringRef serviceID)
 {
     CFDictionaryRef    dhcp_dict = NULL;
     CFStringRef                key = NULL;
-    boolean_t          needs_close = FALSE;
     CFDictionaryRef    primary_dict = NULL;
 
-    if (store == NULL) {
-       needs_close = TRUE;
-       store = SCDynamicStoreCreate(NULL,
-                                    CFSTR("SCDynamicStoreCopyDHCPInfo"),
-                                    NULL, NULL);
-       if (store == NULL) {
-           goto done;
-       }
-    }
-
     if (serviceID == NULL) {
        /* get the primary service name */
        key = SCDynamicStoreKeyCreateNetworkGlobalEntity(NULL,
@@ -287,9 +276,6 @@ SCDynamicStoreCopyDHCPInfo(SCDynamicStoreRef store, CFStringRef serviceID)
     if (primary_dict) {
        CFRelease(primary_dict);
     }
-    if (needs_close == TRUE && store != NULL) {
-       CFRelease(store);
-    }
     return (dhcp_dict);
 }
 
@@ -319,6 +305,12 @@ DHCPInfoGetLeaseStartTime(CFDictionaryRef dhcp_dict)
     return (CFDictionaryGetValue(dhcp_dict, CFSTR("LeaseStartTime")));
 }
 
+CFDateRef
+DHCPInfoGetLeaseExpirationTime(CFDictionaryRef dhcp_dict)
+{
+    return (CFDictionaryGetValue(dhcp_dict, CFSTR("LeaseExpirationTime")));
+}
+
 #ifdef TEST_DHCPCLIENT_PREFERENCES
 void
 print_data(u_char * data_p, int n_bytes)
@@ -626,5 +618,5 @@ main(int argc, char * argv[])
     exit(0);
     return(0);
 }
-#endif TEST_DHCPCLIENT_PREFERENCES
+#endif // TEST_DHCPCLIENT_PREFERENCES