You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.1 KiB

/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
*** To edit the content of this header, modify the corresponding
*** source file (e.g. under external/kernel-headers/original/) then
*** run bionic/libc/kernel/tools/update_all.py
***
*** Any manual change here will be lost the next time this script will
*** be run. You've been warned!
***
****************************************************************************
****************************************************************************/
#ifndef _NFSD_CLD_H
#define _NFSD_CLD_H
#include <linux/types.h>
#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;
__s16 cm_status;
__u32 cm_xid;
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