xref: /freebsd/crypto/krb5/doc/html/_sources/appdev/refs/api/krb5_build_principal.rst.txt (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1krb5_build_principal -  Build a principal name using null-terminated strings.
2==============================================================================
3
4..
5
6.. c:function:: krb5_error_code krb5_build_principal(krb5_context context, krb5_principal * princ, unsigned int rlen, const char * realm, ... )
7
8..
9
10
11:param:
12
13	          **[in]** **context** - Library context
14
15	          **[out]** **princ** - Principal name
16
17	          **[in]** **rlen** - Realm name length
18
19	          **[in]** **realm** - Realm name
20
21
22..
23
24
25:retval:
26         -   0   Success
27
28
29:return:
30         -  Kerberos error codes
31
32..
33
34
35
36
37
38
39
40Call krb5_free_principal() to free *princ* when it is no longer needed.
41
42
43
44Beginning 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.
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59..
60
61
62
63
64
65
66.. note::
67
68	 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.
69
70
71
72
73