summaryrefslogtreecommitdiffstats
path: root/private/net/svcdlls/srvsvc/server/sssec.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/net/svcdlls/srvsvc/server/sssec.h')
-rw-r--r--private/net/svcdlls/srvsvc/server/sssec.h174
1 files changed, 174 insertions, 0 deletions
diff --git a/private/net/svcdlls/srvsvc/server/sssec.h b/private/net/svcdlls/srvsvc/server/sssec.h
new file mode 100644
index 000000000..10e4266b8
--- /dev/null
+++ b/private/net/svcdlls/srvsvc/server/sssec.h
@@ -0,0 +1,174 @@
+/*++
+
+Copyright (c) 1991 Microsoft Corporation
+
+Module Name:
+
+ SsSec.h
+
+Abstract:
+
+ Manifests for API security in the server service.
+
+Author:
+
+ David Treadwell (davidtr) 28-Aug-1991
+
+Revision History:
+
+--*/
+
+#ifndef _SSSEC_
+#define _SSSEC_
+
+//
+// Structure that holds all security information for a single server
+// service security object.
+//
+
+typedef struct _SRVSVC_SECURITY_OBJECT {
+ LPTSTR ObjectName;
+ PGENERIC_MAPPING Mapping;
+ PSECURITY_DESCRIPTOR SecurityDescriptor;
+} SRVSVC_SECURITY_OBJECT, *PSRVSVC_SECURITY_OBJECT;
+
+//
+// Security objects used by the server service.
+//
+
+#ifdef SRV_COMM_DEVICES
+extern SRVSVC_SECURITY_OBJECT SsCharDevSecurityObject;
+#endif
+extern SRVSVC_SECURITY_OBJECT SsConfigInfoSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsConnectionSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsDiskSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsFileSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsSessionSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsShareFileSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsSharePrintSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsShareAdminSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsShareConnectSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsShareAdmConnectSecurityObject;
+extern SRVSVC_SECURITY_OBJECT SsStatisticsSecurityObject;
+
+//
+// Object type names for audit alarm tracking.
+//
+
+#ifdef SRV_COMM_DEVICES
+#define SRVSVC_CHARDEV_OBJECT TEXT( "SrvsvcCharDev" )
+#endif
+#define SRVSVC_CONFIG_INFO_OBJECT TEXT( "SrvsvcConfigInfo" )
+#define SRVSVC_CONNECTION_OBJECT TEXT( "SrvsvcConnection" )
+#define SRVSVC_DISK_OBJECT TEXT( "SrvsvcServerDiskEnum" )
+#define SRVSVC_FILE_OBJECT TEXT( "SrvsvcFile" )
+#define SRVSVC_SESSION_OBJECT TEXT( "SrvsvcSessionInfo" )
+#define SRVSVC_SHARE_FILE_OBJECT TEXT( "SrvsvcShareFileInfo" )
+#define SRVSVC_SHARE_PRINT_OBJECT TEXT( "SrvsvcSharePrintInfo" )
+#define SRVSVC_SHARE_ADMIN_OBJECT TEXT( "SrvsvcShareAdminInfo" )
+#define SRVSVC_SHARE_CONNECT_OBJECT TEXT( "SrvsvcShareConnect" )
+#define SRVSVC_SHARE_ADM_CONNECT_OBJECT TEXT( "SrvsvcShareAdminConnect" )
+#define SRVSVC_STATISTICS_OBJECT TEXT( "SrvsvcStatisticsInfo" )
+
+#ifdef SRV_COMM_DEVICES
+//
+// Access masks for character device APIs.
+//
+
+#define SRVSVC_CHARDEV_USER_INFO_GET 0x0001
+#define SRVSVC_CHARDEV_ADMIN_INFO_GET 0x0002
+#define SRVSVC_CHARDEV_INFO_SET 0x0010
+
+#define SRVSVC_CHARDEV_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_CHARDEV_USER_INFO_GET | \
+ SRVSVC_CHARDEV_ADMIN_INFO_GET | \
+ SRVSVC_CHARDEV_INFO_SET )
+#endif // def SRV_COMM_DEVICES
+
+//
+// Access masks for configuration information (NetServer{Get,Set}Info).
+//
+
+#define SRVSVC_CONFIG_USER_INFO_GET 0x0001
+#define SRVSVC_CONFIG_POWER_INFO_GET 0x0002
+#define SRVSVC_CONFIG_ADMIN_INFO_GET 0x0004
+#define SRVSVC_CONFIG_INFO_SET 0x0010
+
+#define SRVSVC_CONFIG_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_CONFIG_USER_INFO_GET | \
+ SRVSVC_CONFIG_POWER_INFO_GET | \
+ SRVSVC_CONFIG_ADMIN_INFO_GET | \
+ SRVSVC_CONFIG_INFO_SET )
+
+//
+// Access masks for connection information (NetConnectionEnum).
+//
+
+#define SRVSVC_CONNECTION_INFO_GET 0x0001
+
+#define SRVSVC_CONNECTION_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_CONNECTION_INFO_GET )
+
+//
+// Access masks for disk information (NetServerDiskEnum).
+//
+
+#define SRVSVC_DISK_ENUM 0x0001
+
+#define SRVSVC_DISK_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_DISK_ENUM )
+
+//
+// Access masks for file information (NetFileEnum, NetFileGetInfo,
+// NetFileClose).
+//
+
+#define SRVSVC_FILE_INFO_GET 0x0001
+#define SRVSVC_FILE_CLOSE 0x0010
+
+#define SRVSVC_FILE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_FILE_INFO_GET | \
+ SRVSVC_FILE_CLOSE )
+
+//
+// Access masks for session information (NetSessionEnum,
+// NetSessionGetInfo, NetSessionDel).
+//
+
+#define SRVSVC_SESSION_USER_INFO_GET 0x0001
+#define SRVSVC_SESSION_ADMIN_INFO_GET 0x0002
+#define SRVSVC_SESSION_DELETE 0x0010
+
+#define SRVSVC_SESSION_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_SESSION_USER_INFO_GET | \
+ SRVSVC_SESSION_ADMIN_INFO_GET | \
+ SRVSVC_SESSION_DELETE )
+
+//
+// Access masks for share information (NetShareAdd, NetShareDel,
+// NetShareEnum, NetShareGetInfo, NetShareCheck, NetShareSetInfo).
+//
+// Access masks for connecting to shares are defined in srvfsctl.h,
+// since they must be shared between the server and server service.
+//
+
+#define SRVSVC_SHARE_USER_INFO_GET 0x0001
+#define SRVSVC_SHARE_ADMIN_INFO_GET 0x0002
+#define SRVSVC_SHARE_INFO_SET 0x0010
+
+#define SRVSVC_SHARE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_SHARE_USER_INFO_GET | \
+ SRVSVC_SHARE_ADMIN_INFO_GET | \
+ SRVSVC_SHARE_INFO_SET )
+
+//
+// Access masks for statistics information (NetStatisticsGet,
+// NetStatisticsClear).
+//
+
+#define SRVSVC_STATISTICS_GET 0x0001
+
+#define SRVSVC_STATISTICS_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
+ SRVSVC_STATISTICS_GET )
+
+#endif // _SSSEC_