aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Util/ca/scasmb.h
blob: 7169cf2b89a813b16f07c3f4f81fc5b3e80d80ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.


#include "scauser.h"

// structs
// Structure used to hold and extra user/permission pairs from the Wix4FileSharePermissions Table
struct SCA_SMB_EX_USER_PERMS
{
	int nPermissions;
	ACCESS_MODE accessMode;
	SCA_USER scau;
	SCA_SMB_EX_USER_PERMS* pExUserPermsNext;
};

struct SCA_SMB  // hungarian ss
{
	WCHAR wzId[MAX_DARWIN_KEY + 1];
	WCHAR wzShareName[MAX_DARWIN_KEY + 1];
	WCHAR wzDescription[MAX_DARWIN_COLUMN + 1];
	WCHAR wzComponent[MAX_DARWIN_KEY + 1];
	WCHAR wzDirectory[MAX_PATH + 1];

	int nUserPermissionCount;
	SCA_SMB_EX_USER_PERMS* pExUserPerms;

	INSTALLSTATE isInstalled, isAction;

	BOOL fUseIntegratedAuth;

	struct SCA_SMB* pssNext;
};


#define RESERVED 0

// schedule prototypes
HRESULT ScaSmbRead(SCA_SMB** ppssList);
HRESULT ScaSmbExPermsRead(SCA_SMB* pss);
HRESULT ScaSmbUninstall(SCA_SMB* pssList);
HRESULT ScaSmbInstall(SCA_SMB* pssList);
void ScaSmbFreeList(SCA_SMB* pssList);