# MIT Kerberos Documentation

Contents | previous | next | index | Search | feedback

# krb5_parse_name_flags - Convert a string principal name to a krb5_principal with flags.

krb5_error_code `krb5_parse_name_flags`(krb5_context context, const char * name, int flags, krb5_principal * principal_out)

param: | [in] context - Library context [in] name - String representation of a principal name [in] flags - Flag [out] principal_out - New principal

retval: | 0 Success
return: | Kerberos error codes

Similar to `krb5_parse_name()` , this function converts a single-string representation of a principal name to a krb5_principal structure.

The following flags are valid:

> > - `KRB5_PRINCIPAL_PARSE_NO_REALM` - no realm must be present in name
> > - `KRB5_PRINCIPAL_PARSE_REQUIRE_REALM` - realm must be present in name
> > - `KRB5_PRINCIPAL_PARSE_ENTERPRISE` - create single-component enterprise principal
> > - `KRB5_PRINCIPAL_PARSE_IGNORE_REALM` - ignore realm if present in name

> If KRB5_PRINCIPAL_PARSE_NO_REALM or KRB5_PRINCIPAL_PARSE_IGNORE_REALM is specified in flags , the realm of the new principal will be empty. Otherwise, the default realm for context will be used if name does not specify a realm.

Use `krb5_free_principal()` to free principal_out when it is no longer needed.