- Merge the remaining portion of the wlan-bringup branch
[reactos.git] / reactos / dll / win32 / userenv / internal.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2004 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 /* $Id$
20 *
21 * COPYRIGHT: See COPYING in the top level directory
22 * PROJECT: ReactOS system libraries
23 * FILE: lib/userenv/internal.h
24 * PURPOSE: internal stuff
25 * PROGRAMMER: Eric Kohl
26 */
27
28 #ifndef _INTERNAL_H
29 #define _INTERNAL_H
30
31 /* directory.c */
32 BOOL
33 CopyDirectory (LPCWSTR lpDestinationPath,
34 LPCWSTR lpSourcePath);
35
36 BOOL
37 CreateDirectoryPath (LPCWSTR lpPathName,
38 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
39
40 BOOL
41 RemoveDirectoryPath (LPCWSTR lpPathName);
42
43 /* misc.c */
44 typedef struct _DYN_FUNCS
45 {
46 HMODULE hModule;
47 union
48 {
49 PVOID foo;
50 struct
51 {
52 HRESULT (WINAPI *CoInitialize)(LPVOID pvReserved);
53 HRESULT (WINAPI *CoCreateInstance)(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID * ppv);
54 HRESULT (WINAPI *CoUninitialize)(VOID);
55 };
56 } fn;
57 } DYN_FUNCS, *PDYN_FUNCS;
58
59 typedef struct _DYN_MODULE
60 {
61 LPWSTR Library; /* dll file name */
62 LPSTR Functions[]; /* function names */
63 } DYN_MODULE, *PDYN_MODULE;
64
65 extern DYN_MODULE DynOle32;
66
67 BOOL
68 LoadDynamicImports(PDYN_MODULE Module, PDYN_FUNCS DynFuncs);
69
70 VOID
71 UnloadDynamicImports(PDYN_FUNCS DynFuncs);
72
73 LPWSTR
74 AppendBackslash (LPWSTR String);
75
76 BOOL
77 GetUserSidFromToken (HANDLE hToken,
78 PUNICODE_STRING SidString);
79
80 PSECURITY_DESCRIPTOR
81 CreateDefaultSecurityDescriptor(VOID);
82
83 /* profile.c */
84 BOOL
85 AppendSystemPostfix (LPWSTR lpName,
86 DWORD dwMaxLength);
87
88 /* registry.c */
89 BOOL
90 CreateUserHive (LPCWSTR lpKeyName,
91 LPCWSTR lpProfilePath);
92
93 /* setup.c */
94 BOOL
95 UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath,
96 HKEY hUserKey);
97
98 /* userenv.c */
99 extern HINSTANCE hInstance;
100
101 /* gpolicy.c */
102
103 VOID
104 InitializeGPNotifications(VOID);
105
106 VOID
107 UninitializeGPNotifications(VOID);
108
109 #endif /* _INTERNAL_H */
110
111 /* EOF */