Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygense.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 /* SID Authorities */ 00004 extern SID_IDENTIFIER_AUTHORITY SeNullSidAuthority; 00005 extern SID_IDENTIFIER_AUTHORITY SeWorldSidAuthority; 00006 extern SID_IDENTIFIER_AUTHORITY SeLocalSidAuthority; 00007 extern SID_IDENTIFIER_AUTHORITY SeCreatorSidAuthority; 00008 extern SID_IDENTIFIER_AUTHORITY SeNtSidAuthority; 00009 00010 /* SIDs */ 00011 extern PSID SeNullSid; 00012 extern PSID SeWorldSid; 00013 extern PSID SeLocalSid; 00014 extern PSID SeCreatorOwnerSid; 00015 extern PSID SeCreatorGroupSid; 00016 extern PSID SeCreatorOwnerServerSid; 00017 extern PSID SeCreatorGroupServerSid; 00018 extern PSID SeNtAuthoritySid; 00019 extern PSID SeDialupSid; 00020 extern PSID SeNetworkSid; 00021 extern PSID SeBatchSid; 00022 extern PSID SeInteractiveSid; 00023 extern PSID SeServiceSid; 00024 extern PSID SeAnonymousLogonSid; 00025 extern PSID SePrincipalSelfSid; 00026 extern PSID SeLocalSystemSid; 00027 extern PSID SeAuthenticatedUserSid; 00028 extern PSID SeRestrictedCodeSid; 00029 extern PSID SeAliasAdminsSid; 00030 extern PSID SeAliasUsersSid; 00031 extern PSID SeAliasGuestsSid; 00032 extern PSID SeAliasPowerUsersSid; 00033 extern PSID SeAliasAccountOpsSid; 00034 extern PSID SeAliasSystemOpsSid; 00035 extern PSID SeAliasPrintOpsSid; 00036 extern PSID SeAliasBackupOpsSid; 00037 extern PSID SeAuthenticatedUsersSid; 00038 extern PSID SeRestrictedSid; 00039 extern PSID SeAnonymousLogonSid; 00040 00041 /* Privileges */ 00042 extern LUID SeCreateTokenPrivilege; 00043 extern LUID SeAssignPrimaryTokenPrivilege; 00044 extern LUID SeLockMemoryPrivilege; 00045 extern LUID SeIncreaseQuotaPrivilege; 00046 extern LUID SeUnsolicitedInputPrivilege; 00047 extern LUID SeTcbPrivilege; 00048 extern LUID SeSecurityPrivilege; 00049 extern LUID SeTakeOwnershipPrivilege; 00050 extern LUID SeLoadDriverPrivilege; 00051 extern LUID SeCreatePagefilePrivilege; 00052 extern LUID SeIncreaseBasePriorityPrivilege; 00053 extern LUID SeSystemProfilePrivilege; 00054 extern LUID SeSystemtimePrivilege; 00055 extern LUID SeProfileSingleProcessPrivilege; 00056 extern LUID SeCreatePermanentPrivilege; 00057 extern LUID SeBackupPrivilege; 00058 extern LUID SeRestorePrivilege; 00059 extern LUID SeShutdownPrivilege; 00060 extern LUID SeDebugPrivilege; 00061 extern LUID SeAuditPrivilege; 00062 extern LUID SeSystemEnvironmentPrivilege; 00063 extern LUID SeChangeNotifyPrivilege; 00064 extern LUID SeRemoteShutdownPrivilege; 00065 extern LUID SeUndockPrivilege; 00066 extern LUID SeSyncAgentPrivilege; 00067 extern LUID SeEnableDelegationPrivilege; 00068 00069 /* DACLs */ 00070 extern PACL SePublicDefaultUnrestrictedDacl; 00071 extern PACL SePublicOpenDacl; 00072 extern PACL SePublicOpenUnrestrictedDacl; 00073 extern PACL SeUnrestrictedDacl; 00074 00075 /* SDs */ 00076 extern PSECURITY_DESCRIPTOR SePublicDefaultSd; 00077 extern PSECURITY_DESCRIPTOR SePublicDefaultUnrestrictedSd; 00078 extern PSECURITY_DESCRIPTOR SePublicOpenSd; 00079 extern PSECURITY_DESCRIPTOR SePublicOpenUnrestrictedSd; 00080 extern PSECURITY_DESCRIPTOR SeSystemDefaultSd; 00081 extern PSECURITY_DESCRIPTOR SeUnrestrictedSd; 00082 00083 /* Functions */ 00084 BOOLEAN 00085 NTAPI 00086 SeInitSystem(VOID); 00087 00088 BOOLEAN 00089 NTAPI 00090 SeInitSRM(VOID); 00091 00092 VOID 00093 NTAPI 00094 ExpInitLuid(VOID); 00095 00096 VOID 00097 NTAPI 00098 SepInitPrivileges(VOID); 00099 00100 BOOLEAN 00101 NTAPI 00102 SepInitSecurityIDs(VOID); 00103 00104 BOOLEAN 00105 NTAPI 00106 SepInitDACLs(VOID); 00107 00108 BOOLEAN 00109 NTAPI 00110 SepInitSDs(VOID); 00111 00112 VOID 00113 NTAPI 00114 SeDeassignPrimaryToken(struct _EPROCESS *Process); 00115 00116 NTSTATUS 00117 NTAPI 00118 SeSubProcessToken( 00119 IN PTOKEN Parent, 00120 OUT PTOKEN *Token, 00121 IN BOOLEAN InUse, 00122 IN ULONG SessionId 00123 ); 00124 00125 NTSTATUS 00126 NTAPI 00127 SeInitializeProcessAuditName( 00128 IN PFILE_OBJECT FileObject, 00129 IN BOOLEAN DoAudit, 00130 OUT POBJECT_NAME_INFORMATION *AuditInfo 00131 ); 00132 00133 NTSTATUS 00134 NTAPI 00135 SeCreateAccessStateEx( 00136 IN PETHREAD Thread, 00137 IN PEPROCESS Process, 00138 IN OUT PACCESS_STATE AccessState, 00139 IN PAUX_ACCESS_DATA AuxData, 00140 IN ACCESS_MASK Access, 00141 IN PGENERIC_MAPPING GenericMapping 00142 ); 00143 00144 NTSTATUS 00145 NTAPI 00146 SeIsTokenChild( 00147 IN PTOKEN Token, 00148 OUT PBOOLEAN IsChild 00149 ); 00150 00151 NTSTATUS 00152 NTAPI 00153 SepCreateImpersonationTokenDacl( 00154 PTOKEN Token, 00155 PTOKEN PrimaryToken, 00156 PACL *Dacl 00157 ); 00158 00159 VOID 00160 NTAPI 00161 SepInitializeTokenImplementation(VOID); 00162 00163 PTOKEN 00164 NTAPI 00165 SepCreateSystemProcessToken(VOID); 00166 00167 BOOLEAN 00168 NTAPI 00169 SeDetailedAuditingWithToken(IN PTOKEN Token); 00170 00171 VOID 00172 NTAPI 00173 SeAuditProcessExit(IN PEPROCESS Process); 00174 00175 VOID 00176 NTAPI 00177 SeAuditProcessCreate(IN PEPROCESS Process); 00178 00179 NTSTATUS 00180 NTAPI 00181 SeExchangePrimaryToken( 00182 struct _EPROCESS* Process, 00183 PACCESS_TOKEN NewToken, 00184 PACCESS_TOKEN* OldTokenP 00185 ); 00186 00187 VOID 00188 NTAPI 00189 SeCaptureSubjectContextEx( 00190 IN PETHREAD Thread, 00191 IN PEPROCESS Process, 00192 OUT PSECURITY_SUBJECT_CONTEXT SubjectContext 00193 ); 00194 00195 NTSTATUS 00196 NTAPI 00197 SeCaptureLuidAndAttributesArray( 00198 PLUID_AND_ATTRIBUTES Src, 00199 ULONG PrivilegeCount, 00200 KPROCESSOR_MODE PreviousMode, 00201 PLUID_AND_ATTRIBUTES AllocatedMem, 00202 ULONG AllocatedLength, 00203 POOL_TYPE PoolType, 00204 BOOLEAN CaptureIfKernel, 00205 PLUID_AND_ATTRIBUTES* Dest, 00206 PULONG Length 00207 ); 00208 00209 VOID 00210 NTAPI 00211 SeReleaseLuidAndAttributesArray( 00212 PLUID_AND_ATTRIBUTES Privilege, 00213 KPROCESSOR_MODE PreviousMode, 00214 BOOLEAN CaptureIfKernel 00215 ); 00216 00217 BOOLEAN 00218 NTAPI 00219 SepPrivilegeCheck( 00220 PTOKEN Token, 00221 PLUID_AND_ATTRIBUTES Privileges, 00222 ULONG PrivilegeCount, 00223 ULONG PrivilegeControl, 00224 KPROCESSOR_MODE PreviousMode 00225 ); 00226 00227 BOOLEAN 00228 NTAPI 00229 SeCheckPrivilegedObject( 00230 IN LUID PrivilegeValue, 00231 IN HANDLE ObjectHandle, 00232 IN ACCESS_MASK DesiredAccess, 00233 IN KPROCESSOR_MODE PreviousMode 00234 ); 00235 00236 NTSTATUS 00237 NTAPI 00238 SepDuplicateToken( 00239 PTOKEN Token, 00240 POBJECT_ATTRIBUTES ObjectAttributes, 00241 BOOLEAN EffectiveOnly, 00242 TOKEN_TYPE TokenType, 00243 SECURITY_IMPERSONATION_LEVEL Level, 00244 KPROCESSOR_MODE PreviousMode, 00245 PTOKEN* NewAccessToken 00246 ); 00247 00248 NTSTATUS 00249 NTAPI 00250 SepCaptureSecurityQualityOfService( 00251 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, 00252 IN KPROCESSOR_MODE AccessMode, 00253 IN POOL_TYPE PoolType, 00254 IN BOOLEAN CaptureIfKernel, 00255 OUT PSECURITY_QUALITY_OF_SERVICE *CapturedSecurityQualityOfService, 00256 OUT PBOOLEAN Present 00257 ); 00258 00259 VOID 00260 NTAPI 00261 SepReleaseSecurityQualityOfService( 00262 IN PSECURITY_QUALITY_OF_SERVICE CapturedSecurityQualityOfService OPTIONAL, 00263 IN KPROCESSOR_MODE AccessMode, 00264 IN BOOLEAN CaptureIfKernel 00265 ); 00266 00267 NTSTATUS 00268 NTAPI 00269 SepCaptureSid( 00270 IN PSID InputSid, 00271 IN KPROCESSOR_MODE AccessMode, 00272 IN POOL_TYPE PoolType, 00273 IN BOOLEAN CaptureIfKernel, 00274 OUT PSID *CapturedSid 00275 ); 00276 00277 VOID 00278 NTAPI 00279 SepReleaseSid( 00280 IN PSID CapturedSid, 00281 IN KPROCESSOR_MODE AccessMode, 00282 IN BOOLEAN CaptureIfKernel 00283 ); 00284 00285 NTSTATUS 00286 NTAPI 00287 SepCaptureAcl( 00288 IN PACL InputAcl, 00289 IN KPROCESSOR_MODE AccessMode, 00290 IN POOL_TYPE PoolType, 00291 IN BOOLEAN CaptureIfKernel, 00292 OUT PACL *CapturedAcl 00293 ); 00294 00295 VOID 00296 NTAPI 00297 SepReleaseAcl( 00298 IN PACL CapturedAcl, 00299 IN KPROCESSOR_MODE AccessMode, 00300 IN BOOLEAN CaptureIfKernel 00301 ); 00302 00303 NTSTATUS 00304 NTAPI 00305 SeDefaultObjectMethod( 00306 PVOID Object, 00307 SECURITY_OPERATION_CODE OperationType, 00308 PSECURITY_INFORMATION SecurityInformation, 00309 PSECURITY_DESCRIPTOR NewSecurityDescriptor, 00310 PULONG ReturnLength, 00311 PSECURITY_DESCRIPTOR *OldSecurityDescriptor, 00312 POOL_TYPE PoolType, 00313 PGENERIC_MAPPING GenericMapping 00314 ); 00315 00316 NTSTATUS 00317 NTAPI 00318 SeSetWorldSecurityDescriptor( 00319 SECURITY_INFORMATION SecurityInformation, 00320 PISECURITY_DESCRIPTOR SecurityDescriptor, 00321 PULONG BufferLength 00322 ); 00323 00324 NTSTATUS 00325 NTAPI 00326 SeCopyClientToken( 00327 IN PACCESS_TOKEN Token, 00328 IN SECURITY_IMPERSONATION_LEVEL Level, 00329 IN KPROCESSOR_MODE PreviousMode, 00330 OUT PACCESS_TOKEN* NewToken 00331 ); 00332 00333 #define SepAcquireTokenLockExclusive(Token) \ 00334 do { \ 00335 KeEnterCriticalRegion(); \ 00336 ExAcquireResourceExclusive(((PTOKEN)Token)->TokenLock, TRUE); \ 00337 while(0) 00338 00339 #define SepAcquireTokenLockShared(Token) \ 00340 do { \ 00341 KeEnterCriticalRegion(); \ 00342 ExAcquireResourceShared(((PTOKEN)Token)->TokenLock, TRUE); \ 00343 while(0) 00344 00345 #define SepReleaseTokenLock(Token) \ 00346 do { \ 00347 ExReleaseResource(((PTOKEN)Token)->TokenLock); \ 00348 KeLeaveCriticalRegion(); \ 00349 while(0) 00350 00351 VOID NTAPI 00352 SeQuerySecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation, 00353 OUT PACCESS_MASK DesiredAccess); 00354 00355 VOID NTAPI 00356 SeSetSecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation, 00357 OUT PACCESS_MASK DesiredAccess); 00358 00359 /* EOF */ Generated on Sat May 26 2012 04:36:08 for ReactOS by
1.7.6.1
|