forked from Qortal/Brooklyn
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
/*
|
|
* NFS protocol definitions
|
|
*
|
|
* This file contains constants mostly for Version 2 of the protocol,
|
|
* but also has a couple of NFSv3 bits in (notably the error codes).
|
|
*/
|
|
#ifndef _LINUX_NFS_H
|
|
#define _LINUX_NFS_H
|
|
|
|
#include <linux/sunrpc/msg_prot.h>
|
|
#include <linux/string.h>
|
|
#include <uapi/linux/nfs.h>
|
|
|
|
/*
|
|
* This is the kernel NFS client file handle representation
|
|
*/
|
|
#define NFS_MAXFHSIZE 128
|
|
struct nfs_fh {
|
|
unsigned short size;
|
|
unsigned char data[NFS_MAXFHSIZE];
|
|
};
|
|
|
|
/*
|
|
* Returns a zero iff the size and data fields match.
|
|
* Checks only "size" bytes in the data field.
|
|
*/
|
|
static inline int nfs_compare_fh(const struct nfs_fh *a, const struct nfs_fh *b)
|
|
{
|
|
return a->size != b->size || memcmp(a->data, b->data, a->size) != 0;
|
|
}
|
|
|
|
static inline void nfs_copy_fh(struct nfs_fh *target, const struct nfs_fh *source)
|
|
{
|
|
target->size = source->size;
|
|
memcpy(target->data, source->data, source->size);
|
|
}
|
|
|
|
|
|
/*
|
|
* This is really a general kernel constant, but since nothing like
|
|
* this is defined in the kernel headers, I have to do it here.
|
|
*/
|
|
#define NFS_OFFSET_MAX ((__s64)((~(__u64)0) >> 1))
|
|
|
|
|
|
enum nfs3_stable_how {
|
|
NFS_UNSTABLE = 0,
|
|
NFS_DATA_SYNC = 1,
|
|
NFS_FILE_SYNC = 2,
|
|
|
|
/* used by direct.c to mark verf as invalid */
|
|
NFS_INVALID_STABLE_HOW = -1
|
|
};
|
|
#endif /* _LINUX_NFS_H */
|