# MIT Kerberos Documentation

Contents | previous | next | index | Search | feedback

# krb5_build_principal - Build a principal name using null-terminated strings.

krb5_error_code krb5_build_principal(krb5_context context, krb5_principal *princ, unsigned int rlen, const char *realm, ...)

param:

  [in] context - Library context

  [out] princ - Principal name

  [in] rlen - Realm name length

  [in] realm - Realm name

retval:

  - 0 Success

return:

  - Kerberos error codes

Call krb5_free_principal() to free princ when it is no longer needed.

Beginning with release 1.20, the name type of the principal will be inferred as KRB5_NT_SRV_INST or KRB5_NT_WELLKNOWN based on the principal name. The type will be KRB5_NT_PRINCIPAL if a type cannot be inferred.

Note

krb5_build_principal() and krb5_build_principal_alloc_va() perform the same task. krb5_build_principal() takes variadic arguments. krb5_build_principal_alloc_va() takes a pre-computed varargs pointer.