]> git.saurik.com Git - apple/configd.git/blob - SystemConfiguration.fproj/SCPreferencesSetSpecific.h
configd-1061.101.1.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / SCPreferencesSetSpecific.h
1 /*
2 * Copyright (c) 2000-2002, 2004, 2005, 2008, 2015, 2018 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
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
11 * file.
12 *
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.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24 #ifndef _SCPREFERENCESSETSPECIFIC_H
25 #define _SCPREFERENCESSETSPECIFIC_H
26
27 #include <os/availability.h>
28 #include <sys/cdefs.h>
29 #include <CoreFoundation/CoreFoundation.h>
30 #include <SystemConfiguration/SCPreferences.h>
31
32 CF_IMPLICIT_BRIDGING_ENABLED
33 CF_ASSUME_NONNULL_BEGIN
34
35 /*!
36 @header SCPreferencesSetSpecific
37 @discussion The functions in the SCPreferencesSetSpecific API allow
38 an application to set specific configuration information
39 about the current system (for example, the computer or
40 sharing name).
41
42 To access configuration preferences, you must first establish
43 a preferences session using the SCPreferencesCreate function.
44 */
45
46
47 __BEGIN_DECLS
48
49 /*!
50 @function SCPreferencesSetComputerName
51 @discussion Updates the computer name preference.
52
53 Note: To commit these changes to permanent storage you must
54 call the SCPreferencesCommitChanges function.
55 In addition, you must call the SCPreferencesApplyChanges
56 function for the new name to become active.
57 @param prefs The preferences session.
58 @param name The computer name to be set.
59 @param nameEncoding The encoding associated with the computer name.
60 @result Returns TRUE if successful; FALSE otherwise.
61 */
62 Boolean
63 SCPreferencesSetComputerName (
64 SCPreferencesRef prefs,
65 CFStringRef __nullable name,
66 CFStringEncoding nameEncoding
67 ) API_AVAILABLE(macos(10.1)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));
68
69 /*!
70 @function SCPreferencesSetLocalHostName
71 @discussion Updates the local host name.
72
73 Note: To commit these changes to permanent storage you must
74 call the SCPreferencesCommitChanges function.
75 In addition, you must call the SCPreferencesApplyChanges
76 function for the new name to become active.
77 @param prefs The preferences session.
78 @param name The local host name to be set.
79
80 Note: this string must conform to the naming conventions of a DNS host
81 name as specified in RFC 1034 (section 3.5).
82 @result Returns TRUE if successful; FALSE otherwise.
83 */
84 Boolean
85 SCPreferencesSetLocalHostName (
86 SCPreferencesRef prefs,
87 CFStringRef __nullable name
88 ) API_AVAILABLE(macos(10.2)) SPI_AVAILABLE(ios(2.0), tvos(9.0), watchos(1.0), bridgeos(1.0));
89
90 __END_DECLS
91
92 CF_ASSUME_NONNULL_END
93 CF_IMPLICIT_BRIDGING_DISABLED
94
95 #endif /* _SCPREFERENCESSETSPECIFIC_H */