krb5_build_principal_ext -  Build a principal name using length-counted strings. 
=================================================================================

..

.. c:function:: krb5_error_code krb5_build_principal_ext(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 

..







This function creates a principal from a length-counted string and a variable-length list of length-counted components. The list of components ends with the first 0 length argument (so it is not possible to specify an empty component with this function). Call :c:func:`krb5_free_principal()` to free allocated memory for principal 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.














..





