Previous Topic: Directory APINext Topic: Event Log Formats


Common Data Types and Structure

This section contains the following topics:

Exported Enumerations

Common Structure

Exported Enumerations

The following enumerations in SmApi.h are used by more than one SiteMinder API:

Sm_Api_DisabledReason_t

Enumerates the reasons that a user account can be disabled.

The following APIs use Sm_Api_DisabledReason_t:

Note: A user account can be disabled for multiple reasons. For example, if the User must change password at next login checkbox is checked and the administrator clicks Disable, an nDisabledReason parameter holds both the Sm_Api_Disabled_PWMustChange bit and the Sm_Api_Disabled_AdminDisabled bit.

For examples of using Sm_Api_DisabledReason_t, see the examples under Sm_PolicyApi_SetDisabledUserState().

The following table shows the bits that can be set for disabled reason. A brief explanation of each reason, organized by reason type, follows the table.

Disabled Reason

Type

Value

Sm_Api_Disabled_DisabledMask

Mask

0x00ffffff

Sm_Api_Disabled_Enabled

Mask

0

Sm_Api_Disabled_AdminDisabled

Bits

0x00000001

Sm_Api_Disabled_MaxLoginFail

Bits

0x00000002

Sm_Api_Disabled_Inactivity

Bits

0x00000004

Sm_Api_Disabled_PWExpired

Bits

0x00000008

Sm_Api_Disabled_DirNativeDisabled

Bits

0x00000010

Sm_Api_Disabled_PWMustChange

Qualifier

0x01000000

Disabled Mask

Disabled Bits

A user account can be disabled for one or more of the following reasons:

Qualifier

Sm_Api_Reason_t

Enumerates the reasons for an access event, such as an authentication failure or session logout.

When an authentication scheme fails to authenticate, it may send back a reason status code. The status code returned from the authentication function is constructed using the SM_MAKEAUTH_STATUSVALUE macro (see Returns on page 10).

The Policy server sends the reason to the agent. The SiteMinder Web Agent exposes the reason so that Web applications can use it in their logic.

The following APIs use Sm_Api_Reason_t:

The following table shows the bits that can be set for access events.

Note: Values 0 through 31999 are reserved for use by SiteMinder. Values 32000 through 32767 are available for user-defined reasons.

Authentication Reason

Value

Sm_Api_Reason_None

0

Sm_Api_Reason_PwMustChange

1

Sm_Api_Reason_InvalidSession

2

Sm_Api_Reason_RevokedSession

3

Sm_Api_Reason_ExpiredSession

4

Sm_Api_Reason_AuthLevelTooLow

5

Sm_Api_Reason_UnknownUser

6

Sm_Api_Reason_UserDisabled

7

Sm_Api_Reason_InvalidSessionId

8

Sm_Api_Reason_InvalidSessionIp

9

Sm_Api_Reason_CertificateRevoked

10

Sm_Api_Reason_CRLOutOfDate

11

Sm_Api_Reason_CertRevokedKeyCompromised

12

Sm_Api_Reason_CertRevokedAffiliationChange

13

Sm_Api_Reason_CertOnHold

14

Sm_Api_Reason_TokenCardChallenge

15

Sm_Api_Reason_ImpersonatedUserNotInDir

16

Sm_Api_Reason_Anonymous

17

Sm_Api_Reason_PwWillExpire

18

Sm_Api_Reason_PwExpired

19

Sm_Api_Reason_ImmedPWChangeRequired

20

Sm_Api_Reason_PWChangeFailed

21

Sm_Api_Reason_BadPWChange

22

Sm_Api_Reason_PWChangeAccepted

23

Sm_Api_Reason_ExcessiveFailedLoginAttempts

24

Sm_Api_Reason_AccountInactivity

25

Sm_Api_Reason_NoRedirectConfigured

26

Sm_Api_Reason_ErrorMessageIsRedirect

27

Sm_Api_Reason_Next_Tokencode

28

Sm_Api_Reason_New_PIN_Select

29

Sm_Api_Reason_New_PIN_Sys_Tokencode

30

Sm_Api_Reason_New_User_PIN_Tokencode

31

Sm_Api_Reason_New_PIN_Accepted

32

Sm_Api_Reason_Guest

33

Sm_Api_Reason_PWSelfChange

34

Sm_Api_Reason_ServerException

35

Sm_Api_Reason_UnknownScheme

36

Sm_Api_Reason_UnsupportedScheme

37

Sm_Api_Reason_Misconfigured

38

Sm_Api_Reason_BufferOverflow

39

Sm_Api_Reason_SetPersistentSessionFailed

40

Sm_Api_Reason_UserLogout

41

Sm_Api_Reason_IdleSession

42

Sm_Api_Reason_PolicyServerEnforcedTimeout

43

Sm_Api_Reason_PolicyServerEnforcedIdle

44

Sm_Api_Reason_ImpersonationNotAllowed

45

Sm_Api_Reason_ImpersonationNotAllowedUser

46

Sm_Api_Reason_FederationNoLoginID

47

Sm_Api_Reason_FederationUserNotInDir

48

Sm_Api_Reason_FederationInvalidMessage

49

Sm_Api_Reason_FederationUnacceptedMessage

50

Sm_PolicyResolution_t

Sm_PolicyResolution_t, defined in SmApi.h, enumerates values that describe how one policy object, such as a user, is related to another policy object, such as a group.

The following APIs use the enumeration Sm_PolicyResolution_t:

The following table lists the supported policy resolutions. A brief description of each resolution follows the table.

Policy Resolution

Value

Sm_PolicyResolution_Unknown

0

Sm_PolicyResolution_User

1

Sm_PolicyResolution_UserGroup

2

Sm_PolicyResolution_UserProp

3

Sm_PolicyResolution_UserRole

4

Sm_PolicyResolution_Org

5

Sm_PolicyResolution_Query

6

Sm_PolicyResolution_All

7

Sm_PolicyResolution_GroupProp

8

Sm_PolicyResolution_OrgProp

9

Sm_PolicyResolution_DnProp

10

Note: Another policy resolution, Sm_PolicyResolution_Max, is for internal use only.

More Information:

SmDirValidateUserPolicyRelationship()

Common Structure

The Sm_Api_Context_t structure is used by multiple SiteMinder APIs.

The structure provides the function pointers for the SiteMinder logging utility, trace utility, and error utility.

The following APIs use Sm_Api_Context_t:

More Information:

Sm_Api_Context_t