1/*
2 * Copyright (c) 2000-2002, 2004, 2005, 2008 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#ifdef	USE_SYSTEMCONFIGURATION_PRIVATE_HEADERS
26#include <SystemConfiguration/_SCPreferencesSetSpecific.h>
27#else	/* USE_SYSTEMCONFIGURATION_PRIVATE_HEADERS */
28#define _SCPREFERENCESSETSPECIFIC_H
29
30#include <Availability.h>
31#include <sys/cdefs.h>
32#include <CoreFoundation/CoreFoundation.h>
33#include <SystemConfiguration/SCPreferences.h>
34
35
36/*!
37	@header SCPreferencesSetSpecific
38	@discussion The functions in the SCPreferencesSetSpecific API allow
39		an application to set specific configuration information
40		about the current system (for example, the computer or
41		sharing name).
42
43		To access configuration preferences, you must first establish
44		a preferences session using the SCPreferencesCreate function.
45 */
46
47
48__BEGIN_DECLS
49
50/*!
51	@function SCPreferencesSetComputerName
52	@discussion Updates the computer name preference.
53
54		Note: To commit these changes to permanent storage you must
55		call the SCPreferencesCommitChanges function.
56		In addition, you must call the SCPreferencesApplyChanges
57		function for the new name to become active.
58	@param prefs The preferences session.
59	@param name The computer name to be set.
60	@param nameEncoding The encoding associated with the computer name.
61	@result Returns TRUE if successful; FALSE otherwise.
62 */
63Boolean
64SCPreferencesSetComputerName		(
65					SCPreferencesRef	prefs,
66					CFStringRef		name,
67					CFStringEncoding	nameEncoding
68					)			__OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_2_0/*SPI*/);
69
70/*!
71	@function SCPreferencesSetLocalHostName
72	@discussion Updates the local host name.
73
74		Note: To commit these changes to permanent storage you must
75		call the SCPreferencesCommitChanges function.
76		In addition, you must call the SCPreferencesApplyChanges
77		function for the new name to become active.
78	@param prefs The preferences session.
79	@param name The local host name to be set.
80
81	Note: this string must conform to the naming conventions of a DNS host
82		name as specified in RFC 1034 (section 3.5).
83	@result Returns TRUE if successful; FALSE otherwise.
84 */
85Boolean
86SCPreferencesSetLocalHostName		(
87					SCPreferencesRef	prefs,
88					CFStringRef		name
89					)			__OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0/*SPI*/);
90
91__END_DECLS
92
93#endif	/* USE_SYSTEMCONFIGURATION_PRIVATE_HEADERS */
94#endif /* _SCPREFERENCESSETSPECIFIC_H */
95