Blame winpr/include/winpr/shell.h

Packit Service fa4841
/**
Packit Service fa4841
 * WinPR: Windows Portable Runtime
Packit Service fa4841
 * Shell Functions
Packit Service fa4841
 *
Packit Service fa4841
 * Copyright 2015 Dell Software <Mike.McDonald@software.dell.com>
Packit Service fa4841
 * Copyright 2016 David PHAM-VAN <d.phamvan@inuvika.com>
Packit Service fa4841
 *
Packit Service fa4841
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit Service fa4841
 * you may not use this file except in compliance with the License.
Packit Service fa4841
 * You may obtain a copy of the License at
Packit Service fa4841
 *
Packit Service fa4841
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit Service fa4841
 *
Packit Service fa4841
 * Unless required by applicable law or agreed to in writing, software
Packit Service fa4841
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit Service fa4841
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit Service fa4841
 * See the License for the specific language governing permissions and
Packit Service fa4841
 * limitations under the License.
Packit Service fa4841
 */
Packit Service fa4841
Packit Service fa4841
#ifndef WINPR_SHELL_H
Packit Service fa4841
#define WINPR_SHELL_H
Packit Service fa4841
Packit Service fa4841
#include <stdio.h>
Packit Service fa4841
#include <stdlib.h>
Packit Service fa4841
#include <string.h>
Packit Service fa4841
#include <winpr/winpr.h>
Packit Service fa4841
#include <winpr/wtypes.h>
Packit Service fa4841
Packit Service fa4841
#ifdef _WIN32
Packit Service fa4841
Packit Service fa4841
#include <shlobj.h>
Packit Service fa4841
#include <userenv.h>
Packit Service fa4841
Packit Service fa4841
#else
Packit Service fa4841
Packit Service fa4841
/* Shell clipboard formats */
Packit Service fa4841
Packit Service fa4841
struct _FILEDESCRIPTOR
Packit Service fa4841
{
Packit Service fa4841
	DWORD dwFlags;
Packit Service fa4841
	BYTE clsid[16];
Packit Service fa4841
	BYTE sizel[8];
Packit Service fa4841
	BYTE pointl[8];
Packit Service fa4841
	DWORD dwFileAttributes;
Packit Service fa4841
	FILETIME ftCreationTime;
Packit Service fa4841
	FILETIME ftLastAccessTime;
Packit Service fa4841
	FILETIME ftLastWriteTime;
Packit Service fa4841
	DWORD nFileSizeHigh;
Packit Service fa4841
	DWORD nFileSizeLow;
Packit Service fa4841
	WCHAR cFileName[260];
Packit Service fa4841
};
Packit Service fa4841
typedef struct _FILEDESCRIPTOR FILEDESCRIPTOR;
Packit Service fa4841
Packit Service fa4841
/* FILEDESCRIPTOR.dwFlags */
Packit Service fa4841
#define FD_ATTRIBUTES 0x00000004
Packit Service fa4841
#define FD_FILESIZE 0x00000040
Packit Service fa4841
#define FD_WRITESTIME 0x00000020
Packit Service fa4841
#define FD_SHOWPROGRESSUI 0x00004000
Packit Service fa4841
Packit Service fa4841
/* FILEDESCRIPTOR.dwFileAttributes */
Packit Service fa4841
#define FILE_ATTRIBUTE_READONLY 0x00000001
Packit Service fa4841
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
Packit Service fa4841
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
Packit Service fa4841
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
Packit Service fa4841
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
Packit Service fa4841
#define FILE_ATTRIBUTE_NORMAL 0x00000080
Packit Service fa4841
Packit Service fa4841
#ifdef __cplusplus
Packit Service fa4841
extern "C"
Packit Service fa4841
{
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service fa4841
	WINPR_API BOOL GetUserProfileDirectoryA(HANDLE hToken, LPSTR lpProfileDir, LPDWORD lpcchSize);
Packit Service fa4841
Packit Service fa4841
	WINPR_API BOOL GetUserProfileDirectoryW(HANDLE hToken, LPWSTR lpProfileDir, LPDWORD lpcchSize);
Packit Service fa4841
Packit Service fa4841
#ifdef __cplusplus
Packit Service fa4841
}
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service fa4841
#ifdef UNICODE
Packit Service fa4841
#define GetUserProfileDirectory GetUserProfileDirectoryW
Packit Service fa4841
#else
Packit Service fa4841
#define GetUserProfileDirectory GetUserProfileDirectoryA
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service fa4841
#endif
Packit Service fa4841
Packit Service fa4841
#endif /* WINPR_SHELL_H */