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

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/nfsd/cld.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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/nfsd/cld.h (Architecture alpha) and /include/uapi/linux/nfsd/cld.h (Architecture ppc)


  1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linu      1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
  2 /*                                                  2 /*
  3  * Upcall description for nfsdcld communicatio      3  * Upcall description for nfsdcld communication
  4  *                                                  4  *
  5  * Copyright (c) 2012 Red Hat, Inc.                 5  * Copyright (c) 2012 Red Hat, Inc.
  6  * Author(s): Jeff Layton <jlayton@redhat.com>      6  * Author(s): Jeff Layton <jlayton@redhat.com>
  7  *                                                  7  *
  8  *  This program is free software; you can red      8  *  This program is free software; you can redistribute it and/or modify
  9  *  it under the terms of the GNU General Publ      9  *  it under the terms of the GNU General Public License as published by
 10  *  the Free Software Foundation; either versi     10  *  the Free Software Foundation; either version 2 of the License, or
 11  *  (at your option) any later version.            11  *  (at your option) any later version.
 12  *                                                 12  *
 13  *  This program is distributed in the hope th     13  *  This program is distributed in the hope that it will be useful,
 14  *  but WITHOUT ANY WARRANTY; without even the     14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 15  *  MERCHANTABILITY or FITNESS FOR A PARTICULA     15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 16  *  GNU General Public License for more detail     16  *  GNU General Public License for more details.
 17  *                                                 17  *
 18  *  You should have received a copy of the GNU     18  *  You should have received a copy of the GNU General Public License
 19  *  along with this program; if not, write to      19  *  along with this program; if not, write to the Free Software
 20  *  Foundation, Inc., 675 Mass Ave, Cambridge,     20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 21  */                                                21  */
 22                                                    22 
 23 #ifndef _NFSD_CLD_H                                23 #ifndef _NFSD_CLD_H
 24 #define _NFSD_CLD_H                                24 #define _NFSD_CLD_H
 25                                                    25 
 26 #include <linux/types.h>                           26 #include <linux/types.h>
 27                                                    27 
 28 /* latest upcall version available */              28 /* latest upcall version available */
 29 #define CLD_UPCALL_VERSION 2                       29 #define CLD_UPCALL_VERSION 2
 30                                                    30 
 31 /* defined by RFC3530 */                           31 /* defined by RFC3530 */
 32 #define NFS4_OPAQUE_LIMIT 1024                     32 #define NFS4_OPAQUE_LIMIT 1024
 33                                                    33 
 34 #ifndef SHA256_DIGEST_SIZE                         34 #ifndef SHA256_DIGEST_SIZE
 35 #define SHA256_DIGEST_SIZE      32                 35 #define SHA256_DIGEST_SIZE      32
 36 #endif                                             36 #endif
 37                                                    37 
 38 enum cld_command {                                 38 enum cld_command {
 39         Cld_Create,             /* create a re     39         Cld_Create,             /* create a record for this cm_id */
 40         Cld_Remove,             /* remove reco     40         Cld_Remove,             /* remove record of this cm_id */
 41         Cld_Check,              /* is this cm_     41         Cld_Check,              /* is this cm_id allowed? */
 42         Cld_GraceDone,          /* grace perio     42         Cld_GraceDone,          /* grace period is complete */
 43         Cld_GraceStart,         /* grace start     43         Cld_GraceStart,         /* grace start (upload client records) */
 44         Cld_GetVersion,         /* query max s     44         Cld_GetVersion,         /* query max supported upcall version */
 45 };                                                 45 };
 46                                                    46 
 47 /* representation of long-form NFSv4 client ID     47 /* representation of long-form NFSv4 client ID */
 48 struct cld_name {                                  48 struct cld_name {
 49         __u16           cn_len;                    49         __u16           cn_len;                         /* length of cm_id */
 50         unsigned char   cn_id[NFS4_OPAQUE_LIMI     50         unsigned char   cn_id[NFS4_OPAQUE_LIMIT];       /* client-provided */
 51 } __attribute__((packed));                         51 } __attribute__((packed));
 52                                                    52 
 53 /* sha256 hash of the kerberos principal */        53 /* sha256 hash of the kerberos principal */
 54 struct cld_princhash {                             54 struct cld_princhash {
 55         __u8            cp_len;                    55         __u8            cp_len;                         /* length of cp_data */
 56         unsigned char   cp_data[SHA256_DIGEST_     56         unsigned char   cp_data[SHA256_DIGEST_SIZE];    /* hash of principal */
 57 } __attribute__((packed));                         57 } __attribute__((packed));
 58                                                    58 
 59 struct cld_clntinfo {                              59 struct cld_clntinfo {
 60         struct cld_name         cc_name;           60         struct cld_name         cc_name;
 61         struct cld_princhash    cc_princhash;      61         struct cld_princhash    cc_princhash;
 62 } __attribute__((packed));                         62 } __attribute__((packed));
 63                                                    63 
 64 /* message struct for communication with users     64 /* message struct for communication with userspace */
 65 struct cld_msg {                                   65 struct cld_msg {
 66         __u8            cm_vers;                   66         __u8            cm_vers;                /* upcall version */
 67         __u8            cm_cmd;                    67         __u8            cm_cmd;                 /* upcall command */
 68         __s16           cm_status;                 68         __s16           cm_status;              /* return code */
 69         __u32           cm_xid;                    69         __u32           cm_xid;                 /* transaction id */
 70         union {                                    70         union {
 71                 __s64           cm_gracetime;      71                 __s64           cm_gracetime;   /* grace period start time */
 72                 struct cld_name cm_name;           72                 struct cld_name cm_name;
 73                 __u8            cm_version;        73                 __u8            cm_version;     /* for getting max version */
 74         } __attribute__((packed)) cm_u;            74         } __attribute__((packed)) cm_u;
 75 } __attribute__((packed));                         75 } __attribute__((packed));
 76                                                    76 
 77 /* version 2 message can include hash of kerbe     77 /* version 2 message can include hash of kerberos principal */
 78 struct cld_msg_v2 {                                78 struct cld_msg_v2 {
 79         __u8            cm_vers;                   79         __u8            cm_vers;                /* upcall version */
 80         __u8            cm_cmd;                    80         __u8            cm_cmd;                 /* upcall command */
 81         __s16           cm_status;                 81         __s16           cm_status;              /* return code */
 82         __u32           cm_xid;                    82         __u32           cm_xid;                 /* transaction id */
 83         union {                                    83         union {
 84                 struct cld_name cm_name;           84                 struct cld_name cm_name;
 85                 __u8            cm_version;        85                 __u8            cm_version;     /* for getting max version */
 86                 struct cld_clntinfo cm_clntinf     86                 struct cld_clntinfo cm_clntinfo; /* name & princ hash */
 87         } __attribute__((packed)) cm_u;            87         } __attribute__((packed)) cm_u;
 88 } __attribute__((packed));                         88 } __attribute__((packed));
 89                                                    89 
 90 struct cld_msg_hdr {                               90 struct cld_msg_hdr {
 91         __u8            cm_vers;                   91         __u8            cm_vers;                /* upcall version */
 92         __u8            cm_cmd;                    92         __u8            cm_cmd;                 /* upcall command */
 93         __s16           cm_status;                 93         __s16           cm_status;              /* return code */
 94         __u32           cm_xid;                    94         __u32           cm_xid;                 /* transaction id */
 95 } __attribute__((packed));                         95 } __attribute__((packed));
 96                                                    96 
 97 #endif /* !_NFSD_CLD_H */                          97 #endif /* !_NFSD_CLD_H */
 98                                                    98 

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