<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GSS",
  "identifier" : "/documentation/GSS/gss_indicate_mechs_by_attrs(_:_:_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "GSS"
    ],
    "preciseIdentifier" : "c:@F@gss_indicate_mechs_by_attrs"
  },
  "title" : "gss_indicate_mechs_by_attrs(_:_:_:_:_:)"
}
-->

# gss_indicate_mechs_by_attrs(_:_:_:_:_:)

Returns the set of mechanisms that fulfill the given criteria.

```
func gss_indicate_mechs_by_attrs(_ minor_status: UnsafeMutablePointer<OM_uint32>, _ desired_mech_attrs: gss_const_OID_set?, _ except_mech_attrs: gss_const_OID_set?, _ critical_mech_attrs: gss_const_OID_set?, _ mechs: UnsafeMutablePointer<gss_OID_set?>) -> OM_uint32
```

## Parameters

`minor_status`

A pointer to the secondary status result that provides additional information in case of failure.

`desired_mech_attrs`

A set of attributes, given by their OID, that a mechanism must have in order to appear in the results. See Mechanisms and Authentication in [Security Mechanisms](/documentation/GSS/security-mechanisms) for a list of possible values.

`except_mech_attrs`

A set of attributes, given by their OID, that the mechanism must not have in order to appear in the results. See Mechanisms and Authentication in [Security Mechanisms](/documentation/GSS/security-mechanisms) for a list of possible values.

`critical_mech_attrs`

A set of attributes, given by their OID, that the mechanism must know about, but not necessarily have, in order to appear in the results. See Mechanisms and Authentication in [Security Mechanisms](/documentation/GSS/security-mechanisms) for a list of possible values.

`mechs`

A pointer the function uses to return a new set of mechanisms that meet the given criteria. Release the set’s memory using a call to [`gss_release_oid_set(_:_:)`](/documentation/GSS/gss_release_oid_set(_:_:)) after you are done using it.

## Return Value

A status code set to [`GSS_S_COMPLETE`](/documentation/GSS/GSS_S_COMPLETE) on success. See [Function Status](/documentation/GSS/function-status) for a complete enumeration of status outputs.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)