aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Iis/ca/scaweb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Iis/ca/scaweb.h')
-rw-r--r--src/ext/Iis/ca/scaweb.h123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/ext/Iis/ca/scaweb.h b/src/ext/Iis/ca/scaweb.h
new file mode 100644
index 00000000..294030b4
--- /dev/null
+++ b/src/ext/Iis/ca/scaweb.h
@@ -0,0 +1,123 @@
1#pragma once
2// 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.
3
4
5#include "scawebapp.h"
6#include "scawebprop.h"
7#include "scahttpheader.h"
8#include "scaweberr.h"
9#include "scassl.h"
10#include "scaapppool.h"
11#include "scaweblog.h"
12#include "scamimemap.h"
13
14// globals
15#define MAX_ADDRESSES_PER_WEB 10
16
17enum eWebQuery { wqWeb = 1, wqComponent, wqId, wqDescription, wqConnectionTimeout, wqDirectory,
18 wqState, wqAttributes, wqProperties, wqApplication, wqAddress, wqIP, wqPort, wqHeader, wqSecure, wqLog, wqInstalled, wqAction, wqSourcePath, wqTargetPath};
19
20enum eWebAddressQuery { waqAddress = 1, waqWeb, waqIP, waqPort, waqHeader, waqSecure };
21
22enum SCA_WEB_ATTRIBUTES
23{
24 SWATTRIB_NOCONFIGUREIFEXISTS = 2
25};
26
27// structs
28struct SCA_WEB_ADDRESS
29{
30 WCHAR wzKey [MAX_DARWIN_KEY + 1];
31
32 WCHAR wzIP[MAX_DARWIN_COLUMN + 1];
33 int iPort;
34 WCHAR wzHeader[MAX_DARWIN_COLUMN + 1];
35 BOOL fSecure;
36};
37
38struct SCA_WEB
39{
40 // darwin information
41 WCHAR wzKey[MAX_DARWIN_KEY + 1];
42 WCHAR wzComponent[MAX_DARWIN_KEY + 1];
43 BOOL fHasComponent;
44 INSTALLSTATE isInstalled;
45 INSTALLSTATE isAction;
46
47 // metabase information
48 WCHAR wzWebBase[METADATA_MAX_NAME_LEN + 1];
49 BOOL fBaseExists;
50
51 // iis configuation information
52 SCA_WEB_ADDRESS swaKey;
53
54 SCA_WEB_ADDRESS swaExtraAddresses[MAX_ADDRESSES_PER_WEB + 1];
55 DWORD cExtraAddresses;
56
57 WCHAR wzDirectory[MAX_PATH];
58 WCHAR wzDescription[MAX_DARWIN_COLUMN + 1];
59
60 int iState;
61 int iAttributes;
62
63 BOOL fHasProperties;
64 SCA_WEB_PROPERTIES swp;
65
66 BOOL fHasApplication;
67 SCA_WEB_APPLICATION swapp;
68
69 BOOL fHasSecurity;
70 int dwAccessPermissions;
71 int iConnectionTimeout;
72
73 SCA_MIMEMAP* psmm; // mime mappings
74 SCA_WEB_SSL_CERTIFICATE* pswscList;
75 SCA_HTTP_HEADER* pshhList;
76 SCA_WEB_ERROR* psweList;
77
78 BOOL fHasLog;
79 SCA_WEB_LOG swl;
80
81 SCA_WEB* pswNext;
82};
83
84
85// prototypes
86HRESULT ScaWebsRead(
87 __in IMSAdminBase* piMetabase,
88 __in SCA_MIMEMAP** ppsmmList,
89 __in SCA_WEB** ppswList,
90 __in SCA_HTTP_HEADER** pshhList,
91 __in SCA_WEB_ERROR** psweList,
92 __in WCA_WRAPQUERY_HANDLE hUserQuery,
93 __in WCA_WRAPQUERY_HANDLE hWebDirPropQuery,
94 __in WCA_WRAPQUERY_HANDLE hSslCertQuery,
95 __in WCA_WRAPQUERY_HANDLE hWebLogQuery,
96 __in WCA_WRAPQUERY_HANDLE hWebAppQuery,
97 __in WCA_WRAPQUERY_HANDLE hWebAppExtQuery,
98 __inout LPWSTR *ppwzCustomActionData
99 );
100
101HRESULT ScaWebsGetBase(
102 __in IMSAdminBase* piMetabase,
103 __in SCA_WEB* pswList,
104 __in LPCWSTR wzWeb,
105 __out_ecount(cchWebBase) LPWSTR wzWebBase,
106 __in DWORD cchWebBase,
107 __in WCA_WRAPQUERY_HANDLE hWrapQuery
108 );
109
110HRESULT ScaWebsInstall(
111 __in IMSAdminBase* piMetabase,
112 __in SCA_WEB* pswList,
113 __in SCA_APPPOOL * psapList
114 );
115
116HRESULT ScaWebsUninstall(
117 __in IMSAdminBase* piMetabase,
118 __in SCA_WEB* pswList
119 );
120
121void ScaWebsFreeList(
122 __in SCA_WEB* pswHead
123 );