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