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

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

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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 ] ~

Diff markup

Differences between /include/linux/sunrpc/auth_gss.h (Architecture ppc) and /include/linux/sunrpc/auth_gss.h (Architecture m68k)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*                                                  2 /*
  3  * linux/include/linux/sunrpc/auth_gss.h            3  * linux/include/linux/sunrpc/auth_gss.h
  4  *                                                  4  *
  5  * Declarations for RPCSEC_GSS                      5  * Declarations for RPCSEC_GSS
  6  *                                                  6  *
  7  * Dug Song <dugsong@monkey.org>                    7  * Dug Song <dugsong@monkey.org>
  8  * Andy Adamson <andros@umich.edu>                  8  * Andy Adamson <andros@umich.edu>
  9  * Bruce Fields <bfields@umich.edu>                 9  * Bruce Fields <bfields@umich.edu>
 10  * Copyright (c) 2000 The Regents of the Unive     10  * Copyright (c) 2000 The Regents of the University of Michigan
 11  */                                                11  */
 12                                                    12 
 13 #ifndef _LINUX_SUNRPC_AUTH_GSS_H                   13 #ifndef _LINUX_SUNRPC_AUTH_GSS_H
 14 #define _LINUX_SUNRPC_AUTH_GSS_H                   14 #define _LINUX_SUNRPC_AUTH_GSS_H
 15                                                    15 
 16 #include <linux/refcount.h>                        16 #include <linux/refcount.h>
 17 #include <linux/sunrpc/auth.h>                     17 #include <linux/sunrpc/auth.h>
 18 #include <linux/sunrpc/svc.h>                      18 #include <linux/sunrpc/svc.h>
 19 #include <linux/sunrpc/gss_api.h>                  19 #include <linux/sunrpc/gss_api.h>
 20                                                    20 
 21 #define RPC_GSS_VERSION         1                  21 #define RPC_GSS_VERSION         1
 22                                                    22 
 23 #define MAXSEQ 0x80000000 /* maximum legal seq     23 #define MAXSEQ 0x80000000 /* maximum legal sequence number, from rfc 2203 */
 24                                                    24 
 25 enum rpc_gss_proc {                                25 enum rpc_gss_proc {
 26         RPC_GSS_PROC_DATA = 0,                     26         RPC_GSS_PROC_DATA = 0,
 27         RPC_GSS_PROC_INIT = 1,                     27         RPC_GSS_PROC_INIT = 1,
 28         RPC_GSS_PROC_CONTINUE_INIT = 2,            28         RPC_GSS_PROC_CONTINUE_INIT = 2,
 29         RPC_GSS_PROC_DESTROY = 3                   29         RPC_GSS_PROC_DESTROY = 3
 30 };                                                 30 };
 31                                                    31 
 32 enum rpc_gss_svc {                                 32 enum rpc_gss_svc {
 33         RPC_GSS_SVC_NONE = 1,                      33         RPC_GSS_SVC_NONE = 1,
 34         RPC_GSS_SVC_INTEGRITY = 2,                 34         RPC_GSS_SVC_INTEGRITY = 2,
 35         RPC_GSS_SVC_PRIVACY = 3                    35         RPC_GSS_SVC_PRIVACY = 3
 36 };                                                 36 };
 37                                                    37 
 38 /* on-the-wire gss cred: */                        38 /* on-the-wire gss cred: */
 39 struct rpc_gss_wire_cred {                         39 struct rpc_gss_wire_cred {
 40         u32                     gc_v;              40         u32                     gc_v;           /* version */
 41         u32                     gc_proc;           41         u32                     gc_proc;        /* control procedure */
 42         u32                     gc_seq;            42         u32                     gc_seq;         /* sequence number */
 43         u32                     gc_svc;            43         u32                     gc_svc;         /* service */
 44         struct xdr_netobj       gc_ctx;            44         struct xdr_netobj       gc_ctx;         /* context handle */
 45 };                                                 45 };
 46                                                    46 
 47 /* on-the-wire gss verifier: */                    47 /* on-the-wire gss verifier: */
 48 struct rpc_gss_wire_verf {                         48 struct rpc_gss_wire_verf {
 49         u32                     gv_flavor;         49         u32                     gv_flavor;
 50         struct xdr_netobj       gv_verf;           50         struct xdr_netobj       gv_verf;
 51 };                                                 51 };
 52                                                    52 
 53 /* return from gss NULL PROC init sec context      53 /* return from gss NULL PROC init sec context */
 54 struct rpc_gss_init_res {                          54 struct rpc_gss_init_res {
 55         struct xdr_netobj       gr_ctx;            55         struct xdr_netobj       gr_ctx;         /* context handle */
 56         u32                     gr_major;          56         u32                     gr_major;       /* major status */
 57         u32                     gr_minor;          57         u32                     gr_minor;       /* minor status */
 58         u32                     gr_win;            58         u32                     gr_win;         /* sequence window */
 59         struct xdr_netobj       gr_token;          59         struct xdr_netobj       gr_token;       /* token */
 60 };                                                 60 };
 61                                                    61 
 62 /* The gss_cl_ctx struct holds all the informa     62 /* The gss_cl_ctx struct holds all the information the rpcsec_gss client
 63  * code needs to know about a single security      63  * code needs to know about a single security context.  In particular,
 64  * gc_gss_ctx is the context handle that is us     64  * gc_gss_ctx is the context handle that is used to do gss-api calls, while
 65  * gc_wire_ctx is the context handle that is u     65  * gc_wire_ctx is the context handle that is used to identify the context on
 66  * the wire when communicating with a server.      66  * the wire when communicating with a server. */
 67                                                    67 
 68 struct gss_cl_ctx {                                68 struct gss_cl_ctx {
 69         refcount_t              count;             69         refcount_t              count;
 70         enum rpc_gss_proc       gc_proc;           70         enum rpc_gss_proc       gc_proc;
 71         u32                     gc_seq;            71         u32                     gc_seq;
 72         u32                     gc_seq_xmit;       72         u32                     gc_seq_xmit;
 73         spinlock_t              gc_seq_lock;       73         spinlock_t              gc_seq_lock;
 74         struct gss_ctx          *gc_gss_ctx;       74         struct gss_ctx          *gc_gss_ctx;
 75         struct xdr_netobj       gc_wire_ctx;       75         struct xdr_netobj       gc_wire_ctx;
 76         struct xdr_netobj       gc_acceptor;       76         struct xdr_netobj       gc_acceptor;
 77         u32                     gc_win;            77         u32                     gc_win;
 78         unsigned long           gc_expiry;         78         unsigned long           gc_expiry;
 79         struct rcu_head         gc_rcu;            79         struct rcu_head         gc_rcu;
 80 };                                                 80 };
 81                                                    81 
 82 struct gss_upcall_msg;                             82 struct gss_upcall_msg;
 83 struct gss_cred {                                  83 struct gss_cred {
 84         struct rpc_cred         gc_base;           84         struct rpc_cred         gc_base;
 85         enum rpc_gss_svc        gc_service;        85         enum rpc_gss_svc        gc_service;
 86         struct gss_cl_ctx __rcu *gc_ctx;           86         struct gss_cl_ctx __rcu *gc_ctx;
 87         struct gss_upcall_msg   *gc_upcall;        87         struct gss_upcall_msg   *gc_upcall;
 88         const char              *gc_principal;     88         const char              *gc_principal;
 89         unsigned long           gc_upcall_time     89         unsigned long           gc_upcall_timestamp;
 90 };                                                 90 };
 91                                                    91 
 92 #endif /* _LINUX_SUNRPC_AUTH_GSS_H */              92 #endif /* _LINUX_SUNRPC_AUTH_GSS_H */
 93                                                    93 
 94                                                    94 

~ [ 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