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