75 IN const char *server_scope,
101 client->clnt_id = exchangeid->clientid;
102 client->seq_id = exchangeid->sequenceid;
105 &exchangeid->server_owner);
126 client->is_data = is_data;
184 eprintf(
"client expected USE_PNFS_DS\n");
191 eprintf(
"client expected USE_NON_PNFS OR USE_PNFS_MDS\n");
251 const int diff = rhs->length - lhs->length;
252 return diff ? diff :
strncmp((
const char*)lhs->address,
253 (
const char*)rhs->address, lhs->length);
277 IN const IP_ADAPTER_ADDRESSES *
addr)
280 switch (
addr->IfType) {
286 if (
addr->PhysicalAddressLength == 0)
290 return addr->Ipv4Enabled ||
addr->Ipv6Enabled;
318 GAA_FLAG_INCLUDE_ALL_INTERFACES | GAA_FLAG_SKIP_ANYCAST |
333 addr->PhysicalAddressLength);
338 eprintf(
"GetAdaptersAddresses() did not return " 339 "any valid mac addresses, failing with %d.\n",
status);
379 memcpy(owner->co_verifier, &time_created,
sizeof(time_created));
428 buffer = owner->co_ownerid;
429 length = owner->co_ownerid_len;
static DWORD hash_mac_addrs(IN HCRYPTHASH hash)
int nfs41_destroy_clientid(IN nfs41_rpc_clnt *rpc, IN uint64_t clientid)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
static rfbScreenInfoPtr server
ACPI_SIZE strlen(const char *String)
#define RB_INSERT(name, x, y)
#define ERROR_BUFFER_OVERFLOW
enum pnfs_status pnfs_file_device_list_create(OUT struct pnfs_file_device_list **devices_out)
uint32_t nfs41_exchange_id_flags(IN bool_t is_data)
static void mac_entry_insert(IN struct mac_tree *root, IN PBYTE address, IN ULONG length)
void nfs41_client_delegation_free(IN nfs41_client *client)
#define ERROR_NOT_ENOUGH_MEMORY
DWORD WINAPI GetLastError(VOID)
void eprintf(LPCSTR format,...)
#define CryptAcquireContext
static int pnfs_client_init(IN nfs41_client *client)
void nfs41_rpc_clnt_free(IN nfs41_rpc_clnt *rpc)
#define RB_FOREACH_SAFE(x, name, head, y)
ULONGLONG WINAPI GetTickCount64(VOID)
int nfs41_server_find_or_create(IN const char *server_owner_major_id, IN const char *server_scope, IN const netaddr4 *addr, OUT nfs41_server **server_out)
#define ERROR_BAD_NET_RESP
BOOL WINAPI CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
#define GAA_FLAG_SKIP_FRIENDLY_NAME
static int adapter_valid(IN const IP_ADAPTER_ADDRESSES *addr)
#define IF_TYPE_SOFTWARE_LOOPBACK
void nfs41_session_free(IN nfs41_session *session)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static __inline netaddr4 * nfs41_rpc_netaddr(IN nfs41_rpc_clnt *rpc)
#define ERROR_FILE_NOT_FOUND
void nfs41_client_free(IN nfs41_client *client)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
GLenum GLuint GLenum GLsizei length
void pnfs_file_device_list_free(IN struct pnfs_file_device_list *devices)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
#define RB_GENERATE(name, type, field, cmp)
BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash)
int nfs41_exchange_id(IN nfs41_rpc_clnt *rpc, IN client_owner4 *owner, IN uint32_t flags_in, OUT nfs41_exchange_id_res *res_out)
int mac_cmp(struct mac_entry *lhs, struct mac_entry *rhs)
int nfs41_client_owner(IN const char *name, IN uint32_t sec_flavor, OUT client_owner4 *owner)
GLenum const GLvoid * addr
enum pnfs_status pnfs_layout_list_create(OUT struct pnfs_layout_list **layouts_out)
static void dprint_roles(IN int level, IN uint32_t roles)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
void pnfs_layout_list_free(IN struct pnfs_layout_list *layouts)
#define memcpy(s1, s2, n)
BOOL WINAPI GetUserNameA(LPSTR lpszName, LPDWORD lpSize)
BOOL WINAPI CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash)
VOID WINAPI InitializeSRWLock(PSRWLOCK Lock)
#define CRYPT_VERIFYCONTEXT
#define DEFAULT_MINIMUM_ENTITIES
static int update_server(IN nfs41_client *client, IN const char *server_scope, IN const server_owner4 *owner)
VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE ConditionVariable)
#define RB_INITIALIZER(root)
BOOL WINAPI CryptHashData(HCRYPTHASH hHash, const BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
#define GAA_FLAG_SKIP_UNICAST
RB_HEAD(mac_tree, mac_entry)
#define RB_REMOVE(name, x, y)
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, ULONG_PTR dwFlags)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
void nfs41_server_deref(IN nfs41_server *server)
int nfs41_client_create(IN nfs41_rpc_clnt *rpc, IN const client_owner4 *owner, IN bool_t is_data, IN const nfs41_exchange_id_res *exchangeid, OUT nfs41_client **client_out)
static SERVICE_STATUS status
int nfs41_client_renew(IN nfs41_client *client)
static PIP_ADAPTER_ADDRESSES
static int update_exchangeid_res(IN nfs41_client *client, IN const nfs41_exchange_id_res *exchangeid)