ReactOS 0.4.16-dev-258-g81860b4
|
#include <rx.h>
#include <windef.h>
#include <winerror.h>
#include <ntstrsafe.h>
#include "nfs41_driver.h"
#include "nfs41_np.h"
#include "nfs41_debug.h"
Go to the source code of this file.
Classes | |
struct | _nfs3_attrs |
struct | _updowncall_entry |
struct | _updowncall_list |
struct | _nfs41_mount_entry |
struct | _nfs41_mount_list |
struct | _NFS41_MOUNT_CONFIG |
struct | _NFS41_NETROOT_EXTENSION |
struct | _NFS41_V_NET_ROOT_EXTENSION |
struct | _NFS41_FCB |
struct | _NFS41_FOBX |
struct | _NFS41_SERVER_ENTRY |
struct | _NFS41_DEVICE_EXTENSION |
struct | _nfs41_fcb_list_entry |
struct | _nfs41_fcb_list |
Enumerations | |
enum | ftype3 { NF3REG = 1 , NF3DIR , NF3BLK , NF3CHR , NF3LNK , NF3SOCK , NF3FIFO } |
enum | _nfs41_updowncall_state { NFS41_WAITING_FOR_UPCALL , NFS41_WAITING_FOR_DOWNCALL , NFS41_DONE_PROCESSING , NFS41_NOT_WAITING } |
enum | _NULMRX_STORAGE_TYPE_CODES { NTC_NFS41_DEVICE_EXTENSION = (NODE_TYPE_CODE)0xFC00 } |
#define DEBUG_INVALIDATE_CACHE |
Definition at line 55 of file nfs41_driver.c.
#define DEBUG_MARSHAL_DETAIL |
Definition at line 51 of file nfs41_driver.c.
#define DEBUG_MARSHAL_HEADER |
Definition at line 50 of file nfs41_driver.c.
#define DEBUG_MOUNT |
Definition at line 68 of file nfs41_driver.c.
#define DEBUG_TIME_BASED_COHERENCY |
Definition at line 67 of file nfs41_driver.c.
#define DECLARE_CONST_ANSI_STRING | ( | _var, | |
_string | |||
) |
Definition at line 109 of file nfs41_driver.c.
#define DISABLE_CACHING 0 |
Definition at line 89 of file nfs41_driver.c.
#define ENABLE_READ_CACHING 1 |
Definition at line 90 of file nfs41_driver.c.
#define ENABLE_READWRITE_CACHING 3 |
Definition at line 92 of file nfs41_driver.c.
#define ENABLE_WRITE_CACHING 2 |
Definition at line 91 of file nfs41_driver.c.
#define FS_ATTR_LEN (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + FS_NAME_LEN) |
Definition at line 372 of file nfs41_driver.c.
#define FS_NAME L"NFS" |
Definition at line 370 of file nfs41_driver.c.
Definition at line 371 of file nfs41_driver.c.
#define MAKE_WAITONCLOSE_NONITERRUPTABLE |
#define MAX_LOCK_POLL_WAIT (30000 * MSEC_TO_RELATIVE_WAIT) /* 30s */ |
Definition at line 6336 of file nfs41_driver.c.
#define MAX_SEC_FLAVOR_LEN 12 |
Definition at line 339 of file nfs41_driver.c.
#define MICROSECONDS | ( | micros | ) | (((signed __int64)(micros)) * NANOSECONDS(1000L)) |
Definition at line 115 of file nfs41_driver.c.
#define MILLISECONDS | ( | milli | ) | (((signed __int64)(milli)) * MICROSECONDS(1000L)) |
Definition at line 116 of file nfs41_driver.c.
#define MIN_LOCK_POLL_WAIT (500 * MSEC_TO_RELATIVE_WAIT) /* 500ms */ |
Definition at line 6335 of file nfs41_driver.c.
Definition at line 22 of file nfs41_driver.c.
#define MOUNT_CONFIG_RW_SIZE_DEFAULT 1048576 |
Definition at line 337 of file nfs41_driver.c.
#define MOUNT_CONFIG_RW_SIZE_MAX 1048576 |
Definition at line 338 of file nfs41_driver.c.
#define MOUNT_CONFIG_RW_SIZE_MIN 1024 |
Definition at line 336 of file nfs41_driver.c.
#define MSEC_TO_RELATIVE_WAIT (-10000) |
Definition at line 6334 of file nfs41_driver.c.
Definition at line 114 of file nfs41_driver.c.
Definition at line 288 of file nfs41_driver.c.
Definition at line 306 of file nfs41_driver.c.
Definition at line 315 of file nfs41_driver.c.
Definition at line 302 of file nfs41_driver.c.
#define NFS41_MM_POOLTAG ('nfs4') |
Definition at line 94 of file nfs41_driver.c.
#define NFS41_MM_POOLTAG_ACL ('acls') |
Definition at line 95 of file nfs41_driver.c.
Definition at line 99 of file nfs41_driver.c.
#define NFS41_MM_POOLTAG_MOUNT ('mnts') |
Definition at line 96 of file nfs41_driver.c.
Definition at line 97 of file nfs41_driver.c.
#define NFS41_MM_POOLTAG_UP ('upca') |
Definition at line 98 of file nfs41_driver.c.
Definition at line 298 of file nfs41_driver.c.
Definition at line 292 of file nfs41_driver.c.
#define NFS41GetDeviceExtension | ( | RxContext, | |
pExt | |||
) |
Definition at line 446 of file nfs41_driver.c.
#define NFS41GetFcbExtension | ( | pFcb | ) | (((pFcb) == NULL) ? NULL : (PNFS41_FCB)((pFcb)->Context)) |
Definition at line 409 of file nfs41_driver.c.
#define NFS41GetFobxExtension | ( | pFobx | ) | (((pFobx) == NULL) ? NULL : (PNFS41_FOBX)((pFobx)->Context)) |
Definition at line 425 of file nfs41_driver.c.
#define NFS41GetNetRootExtension | ( | pNetRoot | ) |
Definition at line 365 of file nfs41_driver.c.
#define NFS41GetVNetRootExtension | ( | pVNetRoot | ) |
Definition at line 395 of file nfs41_driver.c.
#define RDR_LOADED 4 |
Definition at line 475 of file nfs41_driver.c.
#define RDR_LOADING 3 |
Definition at line 474 of file nfs41_driver.c.
#define RDR_NULL_STATE 0 |
Definition at line 471 of file nfs41_driver.c.
#define RDR_STARTED 8 |
Definition at line 479 of file nfs41_driver.c.
#define RDR_STARTING 7 |
Definition at line 478 of file nfs41_driver.c.
#define RDR_STOPPED 5 |
Definition at line 476 of file nfs41_driver.c.
#define RDR_STOPPING 6 |
Definition at line 477 of file nfs41_driver.c.
#define RDR_UNLOADED 1 |
Definition at line 472 of file nfs41_driver.c.
#define RDR_UNLOADING 2 |
Definition at line 473 of file nfs41_driver.c.
#define RELATIVE | ( | wait | ) | (-(wait)) |
Definition at line 113 of file nfs41_driver.c.
Definition at line 467 of file nfs41_driver.c.
#define SECONDS | ( | seconds | ) | (((signed __int64)(seconds)) * MILLISECONDS(1000L)) |
Definition at line 117 of file nfs41_driver.c.
#define SERVER_NAME_BUFFER_SIZE 1024 |
Definition at line 335 of file nfs41_driver.c.
#define STORE_MOUNT_SEC_CONTEXT |
Definition at line 390 of file nfs41_driver.c.
Definition at line 340 of file nfs41_driver.c.
#define USE_MOUNT_SEC_CONTEXT |
Definition at line 46 of file nfs41_driver.c.
#define VOL_ATTR_LEN (sizeof(FILE_FS_VOLUME_INFORMATION) + VOL_NAME_LEN) |
Definition at line 377 of file nfs41_driver.c.
#define VOL_NAME L"PnfsVolume" |
Definition at line 375 of file nfs41_driver.c.
Definition at line 376 of file nfs41_driver.c.
typedef struct _nfs3_attrs nfs3_attrs |
typedef struct _NFS41_FCB NFS41_FCB |
typedef struct _nfs41_fcb_list nfs41_fcb_list |
typedef struct _NFS41_FOBX NFS41_FOBX |
typedef struct _nfs41_mount_list nfs41_mount_list |
typedef struct _NFS41_FCB * PNFS41_FCB |
typedef struct _NFS41_FOBX * PNFS41_FOBX |
typedef struct _NFS41_MOUNT_CONFIG * PNFS41_MOUNT_CONFIG |
typedef struct _NFS41_SERVER_ENTRY * PNFS41_SERVER_ENTRY |
Enumerator | |
---|---|
NFS41_WAITING_FOR_UPCALL | |
NFS41_WAITING_FOR_DOWNCALL | |
NFS41_DONE_PROCESSING | |
NFS41_NOT_WAITING |
Definition at line 154 of file nfs41_driver.c.
Enumerator | |
---|---|
NTC_NFS41_DEVICE_EXTENSION |
Definition at line 464 of file nfs41_driver.c.
NTSTATUS _nfs41_CreateSrvCall | ( | PMRX_SRVCALL_CALLBACK_CONTEXT | pCallbackContext | ) |
Definition at line 2572 of file nfs41_driver.c.
Referenced by _nfs41_CreateSrvCall(), and nfs41_CreateSrvCall().
Definition at line 123 of file nfs41_driver.c.
Referenced by check_nfs41_create_args(), check_nfs41_queryea_args(), check_nfs41_setea_args(), create_should_pass_ea(), nfs41_Create(), nfs41_SetEaInformation(), and QueryCygwinEA().
BOOLEAN areOpenParamsValid | ( | NT_CREATE_PARAMETERS * | params | ) |
Definition at line 3526 of file nfs41_driver.c.
Referenced by check_nfs41_create_args().
NTSTATUS check_nfs41_create_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 3616 of file nfs41_driver.c.
Referenced by nfs41_Create().
NTSTATUS check_nfs41_dirquery_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 4349 of file nfs41_driver.c.
Referenced by check_nfs41_queryea_args(), check_nfs41_setattr_args(), check_nfs41_setea_args(), nfs41_QueryDirectory(), nfs41_QueryFileInformation(), and nfs41_QueryVolumeInformation().
NTSTATUS check_nfs41_getacl_args | ( | PRX_CONTEXT | RxContext | ) |
Definition at line 5190 of file nfs41_driver.c.
Referenced by nfs41_QuerySecurityInformation().
NTSTATUS check_nfs41_getreparse_args | ( | PRX_CONTEXT | RxContext | ) |
Definition at line 6693 of file nfs41_driver.c.
Referenced by nfs41_GetReparsePoint().
NTSTATUS check_nfs41_queryea_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 4904 of file nfs41_driver.c.
Referenced by nfs41_QueryEaInformation().
NTSTATUS check_nfs41_read_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 6028 of file nfs41_driver.c.
Referenced by nfs41_Read().
NTSTATUS check_nfs41_setacl_args | ( | PRX_CONTEXT | RxContext | ) |
Definition at line 5332 of file nfs41_driver.c.
Referenced by nfs41_SetSecurityInformation().
NTSTATUS check_nfs41_setattr_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 5628 of file nfs41_driver.c.
Referenced by nfs41_SetFileInformation().
NTSTATUS check_nfs41_setea_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 4771 of file nfs41_driver.c.
Referenced by nfs41_SetEaInformation().
NTSTATUS check_nfs41_setreparse_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 6584 of file nfs41_driver.c.
Referenced by nfs41_SetReparsePoint().
NTSTATUS check_nfs41_write_args | ( | IN PRX_CONTEXT | RxContext | ) |
Definition at line 6136 of file nfs41_driver.c.
Referenced by nfs41_Write().
void create_nfs3_attrs | ( | nfs3_attrs * | attrs, |
PNFS41_FCB | nfs41_fcb | ||
) |
Definition at line 4727 of file nfs41_driver.c.
Referenced by QueryCygwinEA().
|
static |
Definition at line 3601 of file nfs41_driver.c.
DECLARE_CONST_ANSI_STRING | ( | NfsActOnLink | , |
"NfsActOnLink" | |||
) |
DECLARE_CONST_ANSI_STRING | ( | NfsSymlinkTargetName | , |
"NfsSymlinkTargetName" | |||
) |
DECLARE_CONST_ANSI_STRING | ( | NfsV3Attributes | , |
"NfsV3Attributes" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | AUTH_SYS_NAME | , |
L"sys" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | AUTHGSS_KRB5_NAME | , |
L"krb5" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | AUTHGSS_KRB5I_NAME | , |
L"krb5i" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | AUTHGSS_KRB5P_NAME | , |
L"krb5p" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | EMPTY_STRING | , |
L"" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | NfsPrefix | , |
L"\\nfs4" | |||
) |
DECLARE_CONST_UNICODE_STRING | ( | SLASH | , |
L"\\" | |||
) |
void denied_lock_backoff | ( | IN OUT PLARGE_INTEGER | delay | ) |
Definition at line 6338 of file nfs41_driver.c.
Referenced by nfs41_Lock().
DRIVER_DISPATCH | ( | nfs41_FsdDispatch | ) |
NTSTATUS DriverEntry | ( | IN PDRIVER_OBJECT | drv, |
IN PUNICODE_STRING | path | ||
) |
Definition at line 7118 of file nfs41_driver.c.
void enable_caching | ( | PMRX_SRV_OPEN | SrvOpen, |
PNFS41_FOBX | nfs41_fobx, | ||
ULONGLONG | ChangeTime, | ||
HANDLE | session | ||
) |
Definition at line 5937 of file nfs41_driver.c.
Referenced by nfs41_Read(), and nfs41_Write().
Definition at line 7019 of file nfs41_driver.c.
Definition at line 4718 of file nfs41_driver.c.
Referenced by create_nfs3_attrs().
NTSTATUS GetConnectionHandle | ( | IN PUNICODE_STRING | ConnectionName, |
IN PVOID | EaBuffer, | ||
IN ULONG | EaLength, | ||
OUT PHANDLE | Handle | ||
) |
Definition at line 2088 of file nfs41_driver.c.
Referenced by nfs41_CreateConnection(), and nfs41_DeleteConnection().
NTSTATUS handle_upcall | ( | IN PRX_CONTEXT | RxContext, |
IN nfs41_updowncall_entry * | entry, | ||
OUT ULONG * | len | ||
) |
Definition at line 1324 of file nfs41_driver.c.
Referenced by nfs41_upcall().
NTSTATUS has_nfs_prefix | ( | IN PUNICODE_STRING | SrvCallName, |
IN PUNICODE_STRING | NetRootName | ||
) |
Definition at line 2927 of file nfs41_driver.c.
Referenced by nfs41_CreateVNetRoot().
|
static |
Definition at line 4501 of file nfs41_driver.c.
Referenced by check_nfs41_getreparse_args(), check_nfs41_setreparse_args(), and nfs41_QueryVolumeInformation().
BOOLEAN isDataAccess | ( | ACCESS_MASK | mask | ) |
BOOLEAN isFilenameTooLong | ( | PUNICODE_STRING | name, |
PNFS41_V_NET_ROOT_EXTENSION | pVNetRootContext | ||
) |
Definition at line 3494 of file nfs41_driver.c.
Referenced by check_nfs41_create_args(), and check_nfs41_setattr_args().
BOOLEAN isStream | ( | PUNICODE_STRING | name | ) |
Definition at line 3513 of file nfs41_driver.c.
Referenced by check_nfs41_create_args().
INLINE ULONG length_as_utf8 | ( | PCUNICODE_STRING | str | ) |
Definition at line 510 of file nfs41_driver.c.
Referenced by marshal_nfs41_close(), marshal_nfs41_dirquery(), marshal_nfs41_eaget(), marshal_nfs41_easet(), marshal_nfs41_fileset(), marshal_nfs41_mount(), marshal_nfs41_open(), and marshal_nfs41_symlink().
Definition at line 4189 of file nfs41_driver.c.
Referenced by nfs41_CloseSrvOpen().
Definition at line 3578 of file nfs41_driver.c.
Definition at line 6297 of file nfs41_driver.c.
Referenced by nfs41_Lock(), and nfs41_Unlock().
Definition at line 2713 of file nfs41_driver.c.
Referenced by nfs41_mount().
Definition at line 3548 of file nfs41_driver.c.
Definition at line 5174 of file nfs41_driver.c.
Referenced by nfs41_QuerySecurityInformation(), and nfs41_SetSecurityInformation().
Definition at line 4330 of file nfs41_driver.c.
Referenced by nfs41_QueryDirectory().
Definition at line 5447 of file nfs41_driver.c.
Referenced by nfs41_QueryFileInformation().
Definition at line 6010 of file nfs41_driver.c.
Referenced by nfs41_downcall(), nfs41_Read(), and nfs41_Write().
NTSTATUS map_sec_flavor | ( | IN PUNICODE_STRING | sec_flavor_name, |
OUT PDWORD | sec_flavor | ||
) |
Definition at line 4748 of file nfs41_driver.c.
Referenced by nfs41_QueryEaInformation(), nfs41_SetEaInformation(), and QueryCygwinSymlink().
Definition at line 5605 of file nfs41_driver.c.
Definition at line 6533 of file nfs41_driver.c.
Referenced by nfs41_GetReparsePoint(), and nfs41_SetReparsePoint().
Definition at line 4473 of file nfs41_driver.c.
Referenced by nfs41_QueryVolumeInformation().
NTSTATUS marshal_nfs41_close | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 890 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_dirquery | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 933 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_eaget | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1110 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_easet | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1072 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_filequery | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1000 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_fileset | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1035 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_getacl | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1230 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_header | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 562 of file nfs41_driver.c.
Referenced by marshal_nfs41_close(), marshal_nfs41_dirquery(), marshal_nfs41_eaget(), marshal_nfs41_easet(), marshal_nfs41_filequery(), marshal_nfs41_fileset(), marshal_nfs41_getacl(), marshal_nfs41_lock(), marshal_nfs41_mount(), marshal_nfs41_open(), marshal_nfs41_rw(), marshal_nfs41_setacl(), marshal_nfs41_shutdown(), marshal_nfs41_symlink(), marshal_nfs41_unlock(), marshal_nfs41_unmount(), and marshal_nfs41_volume().
NTSTATUS marshal_nfs41_lock | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 812 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_mount | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 616 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_open | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 673 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_rw | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 753 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_setacl | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1260 of file nfs41_driver.c.
Referenced by handle_upcall().
NTSTATUS marshal_nfs41_shutdown | ( | nfs41_updowncall_entry * | entry, |
unsigned char * | buf, | ||
ULONG | buf_len, | ||
ULONG * | len | ||
) |
Definition at line 1296 of file nfs41_driver.c.
Referenced by handle_upcall().