1/*
2 * Copyright (c) 2001, 2003-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 _SCDYNAMICSTORESETSPECIFICPRIVATE_H
25#define _SCDYNAMICSTORESETSPECIFICPRIVATE_H
26
27#include <Availability.h>
28#include <sys/cdefs.h>
29#include <SystemConfiguration/SCDynamicStore.h>
30
31
32/*!
33	@header SCDynamicStoreSetSpecificPrivate
34 */
35
36__BEGIN_DECLS
37
38/*!
39	@function SCDynamicStoreSetConsoleInformation
40	@discussion Returns information about all console users on the system.
41	@param store An SCDynamicStoreRef that should be used for communication
42		with the server.
43		If NULL, a temporary session will be used.
44	@param user A pointer to a character buffer containing the name of
45		the current/primary "Console" session. If NULL, any current
46		"Console" session information will be reset.
47	@param uid The user ID of the current/primary "Console" user.
48	@param gid The group ID of the current/primary "Console" user.
49	@param sessions An array of dictionaries containing information about
50		each console session on the system; NULL if no sessions are
51		defined.
52
53		The contents of this array should match that of the CoreGraphics
54		CGSCopySessionList() SPI.
55
56	@result A boolean indicating the success (or failure) of the call.
57 */
58Boolean
59SCDynamicStoreSetConsoleInformation	(
60					SCDynamicStoreRef	store,
61					const char		*user,
62					uid_t			uid,
63					gid_t			gid,
64					CFArrayRef		sessions
65					)			__OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA);
66
67/*!
68	@function SCDynamicStoreSetConsoleUser
69	@discussion Sets the name, user ID, and group ID of the currently
70		logged in user.
71	@param store An SCDynamicStoreRef that should be used for communication
72		with the server.
73		If NULL, a temporary session will be used.
74	@param user A pointer to a character buffer containing the name of
75		the current "Console" user. If NULL, any current "Console"
76		user information will be reset.
77	@param uid The user ID of the current "Console" user.
78	@param gid The group ID of the current "Console" user.
79	@result A boolean indicating the success (or failure) of the call.
80 */
81Boolean
82SCDynamicStoreSetConsoleUser		(
83					SCDynamicStoreRef	store,
84					const char		*user,
85					uid_t			uid,
86					gid_t			gid
87					)			__OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA);
88
89__END_DECLS
90
91#endif /* _SCDYNAMICSTORESETSPECIFICPRIVATE_H */
92