remove gcc34
[dragonfly.git] / crypto / heimdal-0.6.3 / lib / kafs / kafs.cat3
1
2 KAFS(3)                    UNIX Programmer's Manual                    KAFS(3)
3
4 N\bNA\bAM\bME\bE
5      k\bk_\b_h\bha\bas\bsa\baf\bfs\bs, k\bk_\b_p\bpi\bio\boc\bct\btl\bl, k\bk_\b_u\bun\bnl\blo\bog\bg, k\bk_\b_s\bse\bet\btp\bpa\bag\bg, k\bk_\b_a\baf\bfs\bs_\b_c\bce\bel\bll\bl_\b_o\bof\bf_\b_f\bfi\bil\ble\be,
6      k\bka\baf\bfs\bs_\b_s\bse\bet\bt_\b_v\bve\ber\brb\bbo\bos\bse\be, k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn_\b_r\brx\bxk\bka\bad\bd, k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn, k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg,
7      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn5\b5, k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg, k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd - AFS library
8
9 L\bLI\bIB\bBR\bRA\bAR\bRY\bY
10      AFS cache manager access library (libkafs, -lkafs)
11
12 S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
13      _\bi_\bn_\bt
14      k\bk_\b_a\baf\bfs\bs_\b_c\bce\bel\bll\bl_\b_o\bof\bf_\b_f\bfi\bil\ble\be(_\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bp_\ba_\bt_\bh, _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bi_\bn_\bt _\bl_\be_\bn)
15
16      _\bi_\bn_\bt
17      k\bk_\b_h\bha\bas\bsa\baf\bfs\bs(_\bv_\bo_\bi_\bd)
18
19      _\bi_\bn_\bt
20      k\bk_\b_p\bpi\bio\boc\bct\btl\bl(_\bc_\bh_\ba_\br _\b*_\ba_\b__\bp_\ba_\bt_\bh, _\bi_\bn_\bt _\bo_\b__\bo_\bp_\bc_\bo_\bd_\be, _\bs_\bt_\br_\bu_\bc_\bt _\bV_\bi_\bc_\be_\bI_\bo_\bc_\bt_\bl _\b*_\ba_\b__\bp_\ba_\br_\ba_\bm_\bs_\bP,
21              _\bi_\bn_\bt _\ba_\b__\bf_\bo_\bl_\bl_\bo_\bw_\bS_\by_\bm_\bl_\bi_\bn_\bk_\bs)
22
23      _\bi_\bn_\bt
24      k\bk_\b_s\bse\bet\btp\bpa\bag\bg(_\bv_\bo_\bi_\bd)
25
26      _\bi_\bn_\bt
27      k\bk_\b_u\bun\bnl\blo\bog\bg(_\bv_\bo_\bi_\bd)
28
29      _\bv_\bo_\bi_\bd
30      k\bka\baf\bfs\bs_\b_s\bse\bet\bt_\b_v\bve\ber\brb\bbo\bos\bse\be(_\bv_\bo_\bi_\bd _\b(_\b*_\bf_\bu_\bn_\bc_\b)_\b(_\bv_\bo_\bi_\bd _\b*_\b, _\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\b, _\bi_\bn_\bt_\b), _\bv_\bo_\bi_\bd _\b*)
31
32      _\bi_\bn_\bt
33      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn_\b_r\brx\bxk\bka\bad\bd(_\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bs_\bt_\br_\bu_\bc_\bt _\bC_\bl_\be_\ba_\br_\bT_\bo_\bk_\be_\bn _\b*_\bt_\bo_\bk_\be_\bn,
34              _\bv_\bo_\bi_\bd _\b*_\bt_\bi_\bc_\bk_\be_\bt, _\bs_\bi_\bz_\be_\b__\bt _\bt_\bi_\bc_\bk_\be_\bt_\b__\bl_\be_\bn)
35
36      _\bi_\bn_\bt
37      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn(_\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bu_\bi_\bd_\b__\bt _\bu_\bi_\bd, _\bC_\bR_\bE_\bD_\bE_\bN_\bT_\bI_\bA_\bL_\bS _\b*_\bc)
38
39      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg(_\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bc_\bh_\ba_\br _\b*_\br_\be_\ba_\bl_\bm)
40
41      _\bi_\bn_\bt
42      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd(_\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bc_\bh_\ba_\br _\b*_\br_\be_\ba_\bl_\bm, _\bu_\bi_\bd_\b__\bt _\bu_\bi_\bd)
43
44      _\bk_\br_\bb_\b5_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be
45      k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd(_\bk_\br_\bb_\b5_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt _\bc_\bo_\bn_\bt_\be_\bx_\bt, _\bk_\br_\bb_\b5_\b__\bc_\bc_\ba_\bc_\bh_\be _\bi_\bd, _\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl,
46              _\bk_\br_\bb_\b5_\b__\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\ba_\bl_\bm _\br_\be_\ba_\bl_\bm, _\bu_\bi_\bd_\b__\bt _\bu_\bi_\bd)
47
48      _\bi_\bn_\bt
49      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn5\b5(_\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl, _\bu_\bi_\bd_\b__\bt _\bu_\bi_\bd, _\bk_\br_\bb_\b5_\b__\bc_\br_\be_\bd_\bs _\b*_\bc)
50
51      _\bk_\br_\bb_\b5_\b__\be_\br_\br_\bo_\br_\b__\bc_\bo_\bd_\be
52      k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg(_\bk_\br_\bb_\b5_\b__\bc_\bo_\bn_\bt_\be_\bx_\bt _\bc_\bo_\bn_\bt_\be_\bx_\bt, _\bk_\br_\bb_\b5_\b__\bc_\bc_\ba_\bc_\bh_\be _\bi_\bd, _\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bc_\be_\bl_\bl,
53              _\bk_\br_\bb_\b5_\b__\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\ba_\bl_\bm _\br_\be_\ba_\bl_\bm)
54
55 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
56      k\bk_\b_h\bha\bas\bsa\baf\bfs\bs() initializes some library internal structures, and tests for
57      the presence of AFS in the kernel, none of the other functions should be
58      called before k\bk_\b_h\bha\bas\bsa\baf\bfs\bs() is called, or if it fails.
59
60      k\bka\baf\bfs\bs_\b_s\bse\bet\bt_\b_v\bve\ber\brb\bbo\bos\bse\be() set a log function that will be called each time the
61      kafs library does something important so that the application using
62      libkafs can output verbose logging.  Calling the function
63      _\bk_\ba_\bf_\bs_\b__\bs_\be_\bt_\b__\bv_\be_\br_\bb_\bo_\bs_\be with the function argument set to NULL will stop libkafs
64      from calling the logging function (if set).
65
66
67      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn_\b_r\brx\bxk\bka\bad\bd() set rxkad with the _\bt_\bo_\bk_\be_\bn and _\bt_\bi_\bc_\bk_\be_\bt (that have the
68      length _\bt_\bi_\bc_\bk_\be_\bt_\b__\bl_\be_\bn) for a given _\bc_\be_\bl_\bl.
69
70      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn() and k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn5\b5() work the same way as
71      k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn_\b_r\brx\bxk\bka\bad\bd() but internally converts the Kerberos 4 or 5 creden-
72      tial to a afs cleartoken and ticket.
73
74      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg(), and k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd() obtains new tokens (and possibly tick-
75      ets) for the specified _\bc_\be_\bl_\bl and _\br_\be_\ba_\bl_\bm. If _\bc_\be_\bl_\bl is NULL, the local cell is
76      used. If _\br_\be_\ba_\bl_\bm is NULL, the function tries to guess what realm to use.
77      Unless you  have some good knowledge of what cell or realm to use, you
78      should pass NULL. k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg() will use the real user-id for the ViceId
79      field in the token, k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd() will use _\bu_\bi_\bd.
80
81      k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg(), and k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd() are the Kerberos 5 equivalents of
82      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg(), and k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd().
83
84      k\bkr\brb\bb5\b5_\b_a\baf\bfs\bsl\blo\bog\bg(), k\bka\baf\bfs\bs_\b_s\bse\bet\btt\bto\bok\bke\ben\bn5\b5() can be configured to behave diffrently
85      via a k\bkr\brb\bb5\b5_\b_a\bap\bpp\bpd\bde\bef\bfa\bau\bul\blt\bt option afs-use-524 in _\bk_\br_\bb_\b5_\b._\bc_\bo_\bn_\bf. Possible values
86      for afs-use-524 are:
87
88      yes    use the 524 server in the realm to convert the ticket
89
90      no     use the Kerberos 5 ticket directly, can be used with if the afs
91             cell support 2b token.
92
93      local, 2b
94             convert the Kerberos 5 credential to a 2b token locally (the same
95             work as a 2b 524 server should have done).
96
97      Example:
98
99      [appdefaults]
100              SU.SE = { afs-use-524 = local }
101              PDC.KTH.SE = { afs-use-524 = yes }
102              afs-use-524 = yes
103
104      libkafs will use the libkafs as application name when running the
105      k\bkr\brb\bb5\b5_\b_a\bap\bpp\bpd\bde\bef\bfa\bau\bul\blt\bt function call.
106
107      The (uppercased) cellname is used as the realm to the k\bkr\brb\bb5\b5_\b_a\bap\bpp\bpd\bde\bef\bfa\bau\bul\blt\bt
108      f\bfu\bun\bnc\bct\bti\bio\bon\bn.\b.
109
110      k\bk_\b_a\baf\bfs\bs_\b_c\bce\bel\bll\bl_\b_o\bof\bf_\b_f\bfi\bil\ble\be() will in _\bc_\be_\bl_\bl return the cell of a specified file, no
111      more than _\bl_\be_\bn characters is put in _\bc_\be_\bl_\bl.
112
113      k\bk_\b_p\bpi\bio\boc\bct\btl\bl() does a p\bpi\bio\boc\bct\btl\bl() syscall with the specified arguments. This
114      function is equivalent to l\blp\bpi\bio\boc\bct\btl\bl().
115
116      k\bk_\b_s\bse\bet\btp\bpa\bag\bg() initializes a new PAG.
117
118      k\bk_\b_u\bun\bnl\blo\bog\bg() removes destroys all tokens in the current PAG.
119
120 R\bRE\bET\bTU\bUR\bRN\bN V\bVA\bAL\bLU\bUE\bES\bS
121      k\bk_\b_h\bha\bas\bsa\baf\bfs\bs() returns 1 if AFS is present in the kernel, 0 otherwise.
122      k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg() and k\bkr\brb\bb_\b_a\baf\bfs\bsl\blo\bog\bg_\b_u\bui\bid\bd() returns 0 on success, or a Kerberos er-
123      ror number on failure.  k\bk_\b_a\baf\bfs\bs_\b_c\bce\bel\bll\bl_\b_o\bof\bf_\b_f\bfi\bil\ble\be(), k\bk_\b_p\bpi\bio\boc\bct\btl\bl(), k\bk_\b_s\bse\bet\btp\bpa\bag\bg(), and
124      k\bk_\b_u\bun\bnl\blo\bog\bg() all return the value of the underlaying system call, 0 on suc-
125      cess.
126
127 E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
128      The following environment variable affect the mode of operation of k\bka\baf\bfs\bs:
129
130      AFS_SYSCALL  Normally, k\bka\baf\bfs\bs will try to figure out the correct system
131                   call(s) that are used by AFS by itself.  If it does not man-
132                   age to do that, or does it incorrectly, you can set this
133                   variable to the system call number or list of system call
134                   numbers that should be used.
135
136 E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
137      The following code from l\blo\bog\bgi\bin\bn will obtain a new PAG and tokens for the
138      local cell and the cell of the users home directory.
139
140      if (k_hasafs()) {
141              char cell[64];
142              k_setpag();
143              if(k_afs_cell_of_file(pwd->pw_dir, cell, sizeof(cell)) == 0)
144                      krb_afslog(cell, NULL);
145              krb_afslog(NULL, NULL);
146      }
147
148 E\bER\bRR\bRO\bOR\bRS\bS
149      If any of these functions (apart from k\bk_\b_h\bha\bas\bsa\baf\bfs\bs()) is called without AFS
150      being present in the kernel, the process will usually (depending on the
151      operating system) receive a SIGSYS signal.
152
153 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
154      Transarc Corporation, "File Server/Cache Manager Interface", _\bA_\bF_\bS_\b-_\b3
155      _\bP_\br_\bo_\bg_\br_\ba_\bm_\bm_\be_\br_\b'_\bs _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be, 1991.
156
157      krb5_appdefaults(3),  krb5.conf(5)
158
159 B\bBU\bUG\bGS\bS
160      AFS_SYSCALL has no effect under AIX.
161
162  HEIMDAL                         Mar 17, 2003                                3