xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/nfsd/cld.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _NFSD_CLD_H
8*8d67ca89SAndroid Build Coastguard Worker #define _NFSD_CLD_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define CLD_UPCALL_VERSION 2
11*8d67ca89SAndroid Build Coastguard Worker #define NFS4_OPAQUE_LIMIT 1024
12*8d67ca89SAndroid Build Coastguard Worker #ifndef SHA256_DIGEST_SIZE
13*8d67ca89SAndroid Build Coastguard Worker #define SHA256_DIGEST_SIZE 32
14*8d67ca89SAndroid Build Coastguard Worker #endif
15*8d67ca89SAndroid Build Coastguard Worker enum cld_command {
16*8d67ca89SAndroid Build Coastguard Worker   Cld_Create,
17*8d67ca89SAndroid Build Coastguard Worker   Cld_Remove,
18*8d67ca89SAndroid Build Coastguard Worker   Cld_Check,
19*8d67ca89SAndroid Build Coastguard Worker   Cld_GraceDone,
20*8d67ca89SAndroid Build Coastguard Worker   Cld_GraceStart,
21*8d67ca89SAndroid Build Coastguard Worker   Cld_GetVersion,
22*8d67ca89SAndroid Build Coastguard Worker };
23*8d67ca89SAndroid Build Coastguard Worker struct cld_name {
24*8d67ca89SAndroid Build Coastguard Worker   __u16 cn_len;
25*8d67ca89SAndroid Build Coastguard Worker   unsigned char cn_id[NFS4_OPAQUE_LIMIT];
26*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
27*8d67ca89SAndroid Build Coastguard Worker struct cld_princhash {
28*8d67ca89SAndroid Build Coastguard Worker   __u8 cp_len;
29*8d67ca89SAndroid Build Coastguard Worker   unsigned char cp_data[SHA256_DIGEST_SIZE];
30*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
31*8d67ca89SAndroid Build Coastguard Worker struct cld_clntinfo {
32*8d67ca89SAndroid Build Coastguard Worker   struct cld_name cc_name;
33*8d67ca89SAndroid Build Coastguard Worker   struct cld_princhash cc_princhash;
34*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
35*8d67ca89SAndroid Build Coastguard Worker struct cld_msg {
36*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_vers;
37*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_cmd;
38*8d67ca89SAndroid Build Coastguard Worker   __s16 cm_status;
39*8d67ca89SAndroid Build Coastguard Worker   __u32 cm_xid;
40*8d67ca89SAndroid Build Coastguard Worker   union {
41*8d67ca89SAndroid Build Coastguard Worker     __s64 cm_gracetime;
42*8d67ca89SAndroid Build Coastguard Worker     struct cld_name cm_name;
43*8d67ca89SAndroid Build Coastguard Worker     __u8 cm_version;
44*8d67ca89SAndroid Build Coastguard Worker   } __attribute__((packed)) cm_u;
45*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
46*8d67ca89SAndroid Build Coastguard Worker struct cld_msg_v2 {
47*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_vers;
48*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_cmd;
49*8d67ca89SAndroid Build Coastguard Worker   __s16 cm_status;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 cm_xid;
51*8d67ca89SAndroid Build Coastguard Worker   union {
52*8d67ca89SAndroid Build Coastguard Worker     struct cld_name cm_name;
53*8d67ca89SAndroid Build Coastguard Worker     __u8 cm_version;
54*8d67ca89SAndroid Build Coastguard Worker     struct cld_clntinfo cm_clntinfo;
55*8d67ca89SAndroid Build Coastguard Worker   } __attribute__((packed)) cm_u;
56*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
57*8d67ca89SAndroid Build Coastguard Worker struct cld_msg_hdr {
58*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_vers;
59*8d67ca89SAndroid Build Coastguard Worker   __u8 cm_cmd;
60*8d67ca89SAndroid Build Coastguard Worker   __s16 cm_status;
61*8d67ca89SAndroid Build Coastguard Worker   __u32 cm_xid;
62*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
63*8d67ca89SAndroid Build Coastguard Worker #endif
64