/*-- Copyright (c) 1996-1997 Microsoft Corporation Module Name: calcscom.h Abstract: Support routines for dacls/sacls exes Author: 14-Dec-1996 (macm) Environment: User mode only. Requires ANSI C extensions: slash-slash comments, long external names. Revision History: --*/ #ifndef __CACLSCOM_H__ #define __CACLSCON_H__ #include typedef struct _CACLS_STR_RIGHTS_ { CHAR szRightsTag[2]; DWORD Right; PSTR pszDisplayTag; } CACLS_STR_RIGHTS, *PCACLS_STR_RIGHTS; typedef struct _CACLS_CMDLINE { PSTR pszSwitch; INT iIndex; BOOL fFindNextSwitch; DWORD cValues; } CACLS_CMDLINE, *PCACLS_CMDLINE; // // Function prototypes // DWORD ConvertCmdlineRights ( IN PSTR pszCmdline, IN PCACLS_STR_RIGHTS pRightsTable, IN INT cRights, OUT DWORD *pConvertedRights ); DWORD ParseCmdline ( IN PSTR *ppszArgs, IN INT cArgs, IN INT cSkip, IN PCACLS_CMDLINE pCmdValues, IN INT cCmdValues ); DWORD ProcessOperation ( IN PSTR *ppszCmdline, IN PCACLS_CMDLINE pCmdInfo, IN ACCESS_MODE AccessMode, IN PCACLS_STR_RIGHTS pRightsTable, IN INT cRights, IN DWORD fInherit, IN PACL pOldAcl OPTIONAL, OUT PACL *ppNewAcl ); DWORD SetAndPropagateFileRights ( IN PSTR pszFilePath, IN PACL pAcl, IN SECURITY_INFORMATION SeInfo, IN BOOL fPropagate, IN BOOL fContinueOnDenied, IN BOOL fBreadthFirst, IN DWORD fInherit ); DWORD DisplayAcl ( IN PSTR pszPath, IN PACL pAcl, IN PCACLS_STR_RIGHTS pRightsTable, IN INT cRights ); DWORD TranslateAccountName ( IN PSID pSid, OUT PSTR *ppszName ); #endif