Update to android-mainline kernel headers v5.4.
Update generate_uapi_headers.sh to checkout the android mainline
kernel. Also, add a small modification to look for the kernel directory
in common not linux-stable.
Remove deprecated android headers from android/uapi/linux. Also,
remove f_accessory.h since it's in the android mainline kernel.
Test: Builds and runs on walleye.
Change-Id: Ia371305e19f56e6bcc2db6d5b4d299819f07ffc6
diff --git a/libc/kernel/uapi/linux/nfsd/cld.h b/libc/kernel/uapi/linux/nfsd/cld.h
index ed99e73..92b89c0 100644
--- a/libc/kernel/uapi/linux/nfsd/cld.h
+++ b/libc/kernel/uapi/linux/nfsd/cld.h
@@ -19,19 +19,31 @@
#ifndef _NFSD_CLD_H
#define _NFSD_CLD_H
#include <linux/types.h>
-#define CLD_UPCALL_VERSION 1
+#define CLD_UPCALL_VERSION 2
#define NFS4_OPAQUE_LIMIT 1024
+#ifndef SHA256_DIGEST_SIZE
+#define SHA256_DIGEST_SIZE 32
+#endif
enum cld_command {
Cld_Create,
Cld_Remove,
Cld_Check,
Cld_GraceDone,
Cld_GraceStart,
+ Cld_GetVersion,
};
struct cld_name {
__u16 cn_len;
unsigned char cn_id[NFS4_OPAQUE_LIMIT];
} __attribute__((packed));
+struct cld_princhash {
+ __u8 cp_len;
+ unsigned char cp_data[SHA256_DIGEST_SIZE];
+} __attribute__((packed));
+struct cld_clntinfo {
+ struct cld_name cc_name;
+ struct cld_princhash cc_princhash;
+} __attribute__((packed));
struct cld_msg {
__u8 cm_vers;
__u8 cm_cmd;
@@ -40,6 +52,24 @@
union {
__s64 cm_gracetime;
struct cld_name cm_name;
+ __u8 cm_version;
} __attribute__((packed)) cm_u;
} __attribute__((packed));
+struct cld_msg_v2 {
+ __u8 cm_vers;
+ __u8 cm_cmd;
+ __s16 cm_status;
+ __u32 cm_xid;
+ union {
+ struct cld_name cm_name;
+ __u8 cm_version;
+ struct cld_clntinfo cm_clntinfo;
+ } __attribute__((packed)) cm_u;
+} __attribute__((packed));
+struct cld_msg_hdr {
+ __u8 cm_vers;
+ __u8 cm_cmd;
+ __s16 cm_status;
+ __u32 cm_xid;
+} __attribute__((packed));
#endif