Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
nfs.h
Go to the documentation of this file.
1
/*
2
* NFS protocol definitions
3
*
4
* This file contains constants mostly for Version 2 of the protocol,
5
* but also has a couple of NFSv3 bits in (notably the error codes).
6
*/
7
#ifndef _LINUX_NFS_H
8
#define _LINUX_NFS_H
9
10
#include <
linux/sunrpc/msg_prot.h
>
11
#include <linux/string.h>
12
#include <
uapi/linux/nfs.h
>
13
14
/*
15
* This is the kernel NFS client file handle representation
16
*/
17
#define NFS_MAXFHSIZE 128
18
struct
nfs_fh
{
19
unsigned
short
size
;
20
unsigned
char
data
[
NFS_MAXFHSIZE
];
21
};
22
23
/*
24
* Returns a zero iff the size and data fields match.
25
* Checks only "size" bytes in the data field.
26
*/
27
static
inline
int
nfs_compare_fh(
const
struct
nfs_fh
*
a
,
const
struct
nfs_fh
*
b
)
28
{
29
return
a->
size
!= b->
size
||
memcmp
(a->
data
, b->
data
, a->
size
) != 0;
30
}
31
32
static
inline
void
nfs_copy_fh(
struct
nfs_fh
*
target
,
const
struct
nfs_fh
*
source
)
33
{
34
target->
size
= source->
size
;
35
memcpy
(target->
data
, source->
data
, source->
size
);
36
}
37
38
39
/*
40
* This is really a general kernel constant, but since nothing like
41
* this is defined in the kernel headers, I have to do it here.
42
*/
43
#define NFS_OFFSET_MAX ((__s64)((~(__u64)0) >> 1))
44
45
46
enum
nfs3_stable_how
{
47
NFS_UNSTABLE
= 0,
48
NFS_DATA_SYNC
= 1,
49
NFS_FILE_SYNC
= 2
50
};
51
#endif
/* _LINUX_NFS_H */
Generated on Thu Jan 10 2013 14:48:25 for Linux Kernel by
1.8.2