~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/sunrpc/gss_err.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  *  linux/include/sunrpc/gss_err.h
  3  *
  4  *  Adapted from MIT Kerberos 5-1.2.1 include/gssapi/gssapi.h
  5  *
  6  *  Copyright (c) 2002 The Regents of the University of Michigan.
  7  *  All rights reserved.
  8  *
  9  *  Andy Adamson   <andros@umich.edu>
 10  */
 11 
 12 /*
 13  * Copyright 1993 by OpenVision Technologies, Inc.
 14  * 
 15  * Permission to use, copy, modify, distribute, and sell this software
 16  * and its documentation for any purpose is hereby granted without fee,
 17  * provided that the above copyright notice appears in all copies and
 18  * that both that copyright notice and this permission notice appear in
 19  * supporting documentation, and that the name of OpenVision not be used
 20  * in advertising or publicity pertaining to distribution of the software
 21  * without specific, written prior permission. OpenVision makes no
 22  * representations about the suitability of this software for any
 23  * purpose.  It is provided "as is" without express or implied warranty.
 24  * 
 25  * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 26  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 27  * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 28  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
 29  * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
 30  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 31  * PERFORMANCE OF THIS SOFTWARE.
 32  */
 33 
 34 #ifndef _LINUX_SUNRPC_GSS_ERR_H
 35 #define _LINUX_SUNRPC_GSS_ERR_H
 36 
 37 typedef unsigned int OM_uint32;
 38 
 39 /*
 40  * Flag bits for context-level services.
 41  */
 42 #define GSS_C_DELEG_FLAG 1
 43 #define GSS_C_MUTUAL_FLAG 2
 44 #define GSS_C_REPLAY_FLAG 4
 45 #define GSS_C_SEQUENCE_FLAG 8
 46 #define GSS_C_CONF_FLAG 16
 47 #define GSS_C_INTEG_FLAG 32
 48 #define GSS_C_ANON_FLAG 64
 49 #define GSS_C_PROT_READY_FLAG 128
 50 #define GSS_C_TRANS_FLAG 256
 51 
 52 /*
 53  * Credential usage options
 54  */
 55 #define GSS_C_BOTH 0
 56 #define GSS_C_INITIATE 1
 57 #define GSS_C_ACCEPT 2
 58 
 59 /*
 60  * Status code types for gss_display_status
 61  */
 62 #define GSS_C_GSS_CODE 1
 63 #define GSS_C_MECH_CODE 2
 64 
 65 
 66 /*
 67  * Expiration time of 2^32-1 seconds means infinite lifetime for a
 68  * credential or security context
 69  */
 70 #define GSS_C_INDEFINITE ((OM_uint32) 0xfffffffful)
 71 
 72 
 73 /* Major status codes */
 74 
 75 #define GSS_S_COMPLETE 0
 76 
 77 /*
 78  * Some "helper" definitions to make the status code macros obvious.
 79  */
 80 #define GSS_C_CALLING_ERROR_OFFSET 24
 81 #define GSS_C_ROUTINE_ERROR_OFFSET 16
 82 #define GSS_C_SUPPLEMENTARY_OFFSET 0
 83 #define GSS_C_CALLING_ERROR_MASK ((OM_uint32) 0377ul)
 84 #define GSS_C_ROUTINE_ERROR_MASK ((OM_uint32) 0377ul)
 85 #define GSS_C_SUPPLEMENTARY_MASK ((OM_uint32) 0177777ul)
 86 
 87 /*
 88  * The macros that test status codes for error conditions.  Note that the
 89  * GSS_ERROR() macro has changed slightly from the V1 GSSAPI so that it now
 90  * evaluates its argument only once.
 91  */
 92 #define GSS_CALLING_ERROR(x) \
 93   ((x) & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
 94 #define GSS_ROUTINE_ERROR(x) \
 95   ((x) & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
 96 #define GSS_SUPPLEMENTARY_INFO(x) \
 97   ((x) & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
 98 #define GSS_ERROR(x) \
 99   ((x) & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
100           (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
101 
102 /*
103  * Now the actual status code definitions
104  */
105 
106 /*
107  * Calling errors:
108  */
109 #define GSS_S_CALL_INACCESSIBLE_READ \
110                              (((OM_uint32) 1ul) << GSS_C_CALLING_ERROR_OFFSET)
111 #define GSS_S_CALL_INACCESSIBLE_WRITE \
112                              (((OM_uint32) 2ul) << GSS_C_CALLING_ERROR_OFFSET)
113 #define GSS_S_CALL_BAD_STRUCTURE \
114                              (((OM_uint32) 3ul) << GSS_C_CALLING_ERROR_OFFSET)
115 
116 /*
117  * Routine errors:
118  */
119 #define GSS_S_BAD_MECH (((OM_uint32) 1ul) << GSS_C_ROUTINE_ERROR_OFFSET)
120 #define GSS_S_BAD_NAME (((OM_uint32) 2ul) << GSS_C_ROUTINE_ERROR_OFFSET)
121 #define GSS_S_BAD_NAMETYPE (((OM_uint32) 3ul) << GSS_C_ROUTINE_ERROR_OFFSET)
122 #define GSS_S_BAD_BINDINGS (((OM_uint32) 4ul) << GSS_C_ROUTINE_ERROR_OFFSET)
123 #define GSS_S_BAD_STATUS (((OM_uint32) 5ul) << GSS_C_ROUTINE_ERROR_OFFSET)
124 #define GSS_S_BAD_SIG (((OM_uint32) 6ul) << GSS_C_ROUTINE_ERROR_OFFSET)
125 #define GSS_S_NO_CRED (((OM_uint32) 7ul) << GSS_C_ROUTINE_ERROR_OFFSET)
126 #define GSS_S_NO_CONTEXT (((OM_uint32) 8ul) << GSS_C_ROUTINE_ERROR_OFFSET)
127 #define GSS_S_DEFECTIVE_TOKEN (((OM_uint32) 9ul) << GSS_C_ROUTINE_ERROR_OFFSET)
128 #define GSS_S_DEFECTIVE_CREDENTIAL \
129      (((OM_uint32) 10ul) << GSS_C_ROUTINE_ERROR_OFFSET)
130 #define GSS_S_CREDENTIALS_EXPIRED \
131      (((OM_uint32) 11ul) << GSS_C_ROUTINE_ERROR_OFFSET)
132 #define GSS_S_CONTEXT_EXPIRED \
133      (((OM_uint32) 12ul) << GSS_C_ROUTINE_ERROR_OFFSET)
134 #define GSS_S_FAILURE (((OM_uint32) 13ul) << GSS_C_ROUTINE_ERROR_OFFSET)
135 #define GSS_S_BAD_QOP (((OM_uint32) 14ul) << GSS_C_ROUTINE_ERROR_OFFSET)
136 #define GSS_S_UNAUTHORIZED (((OM_uint32) 15ul) << GSS_C_ROUTINE_ERROR_OFFSET)
137 #define GSS_S_UNAVAILABLE (((OM_uint32) 16ul) << GSS_C_ROUTINE_ERROR_OFFSET)
138 #define GSS_S_DUPLICATE_ELEMENT \
139      (((OM_uint32) 17ul) << GSS_C_ROUTINE_ERROR_OFFSET)
140 #define GSS_S_NAME_NOT_MN \
141      (((OM_uint32) 18ul) << GSS_C_ROUTINE_ERROR_OFFSET)
142 
143 /*
144  * Supplementary info bits:
145  */
146 #define GSS_S_CONTINUE_NEEDED (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
147 #define GSS_S_DUPLICATE_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
148 #define GSS_S_OLD_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
149 #define GSS_S_UNSEQ_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
150 #define GSS_S_GAP_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
151 
152 /* XXXX these are not part of the GSSAPI C bindings!  (but should be) */
153 
154 #define GSS_CALLING_ERROR_FIELD(x) \
155    (((x) >> GSS_C_CALLING_ERROR_OFFSET) & GSS_C_CALLING_ERROR_MASK)
156 #define GSS_ROUTINE_ERROR_FIELD(x) \
157    (((x) >> GSS_C_ROUTINE_ERROR_OFFSET) & GSS_C_ROUTINE_ERROR_MASK)
158 #define GSS_SUPPLEMENTARY_INFO_FIELD(x) \
159    (((x) >> GSS_C_SUPPLEMENTARY_OFFSET) & GSS_C_SUPPLEMENTARY_MASK)
160 
161 /* XXXX This is a necessary evil until the spec is fixed */
162 #define GSS_S_CRED_UNAVAIL GSS_S_FAILURE
163 
164 #endif /* __LINUX_SUNRPC_GSS_ERR_H */
165 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php