ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

se.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.