ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
SmbHandle Struct Reference

An open file on an authenticated session; the ids thread the follow-up requests. More...

#include <smb_client.h>

Public Attributes

uint64_t session_id
 
uint32_t tree_id
 
uint8_t file_id [16]
 
uint64_t file_size
 EndofFile from CREATE (the current size)
 
uint64_t next_message_id
 the MessageId for the next request on this handle
 
proto_bool signing_active
 the session negotiated SMB signing (server set SigningRequired, not guest/null)
 
Smb2SignAlgo signing_algo
 HMAC-SHA256 (SMB 2.x) or AES-CMAC (SMB 3.x), from the negotiated dialect.
 
uint8_t signing_key [16]
 the session signing key when signing_active (2.x: NTLMv2 key; 3.x: KDF-derived)
 
proto_bool encrypt_active
 SMB 3.x transport encryption is in force (server session or share required it)
 
uint16_t enc_cipher
 negotiated Smb2Cipher id (selects the key + nonce length) when encrypt_active
 
uint8_t enc_c2s [PROTOCORE_SMB2_MAX_CIPHER_KEY_LEN]
 client->server cipher key (encrypts requests)
 
uint8_t enc_s2c [PROTOCORE_SMB2_MAX_CIPHER_KEY_LEN]
 server->client cipher key (decrypts responses)
 
uint64_t enc_nonce
 monotonic per-session AEAD nonce counter, persisted across read/write/close
 

Detailed Description

An open file on an authenticated session; the ids thread the follow-up requests.

Definition at line 74 of file smb_client.h.

Member Data Documentation

◆ session_id

uint64_t SmbHandle::session_id

Definition at line 76 of file smb_client.h.

◆ tree_id

uint32_t SmbHandle::tree_id

Definition at line 77 of file smb_client.h.

◆ file_id

uint8_t SmbHandle::file_id[16]

Definition at line 78 of file smb_client.h.

◆ file_size

uint64_t SmbHandle::file_size

EndofFile from CREATE (the current size)

Definition at line 79 of file smb_client.h.

◆ next_message_id

uint64_t SmbHandle::next_message_id

the MessageId for the next request on this handle

Definition at line 80 of file smb_client.h.

◆ signing_active

proto_bool SmbHandle::signing_active

the session negotiated SMB signing (server set SigningRequired, not guest/null)

Definition at line 81 of file smb_client.h.

◆ signing_algo

Smb2SignAlgo SmbHandle::signing_algo

HMAC-SHA256 (SMB 2.x) or AES-CMAC (SMB 3.x), from the negotiated dialect.

Definition at line 82 of file smb_client.h.

◆ signing_key

uint8_t SmbHandle::signing_key[16]

the session signing key when signing_active (2.x: NTLMv2 key; 3.x: KDF-derived)

Definition at line 83 of file smb_client.h.

◆ encrypt_active

proto_bool SmbHandle::encrypt_active

SMB 3.x transport encryption is in force (server session or share required it)

Definition at line 84 of file smb_client.h.

◆ enc_cipher

uint16_t SmbHandle::enc_cipher

negotiated Smb2Cipher id (selects the key + nonce length) when encrypt_active

Definition at line 85 of file smb_client.h.

◆ enc_c2s

uint8_t SmbHandle::enc_c2s[PROTOCORE_SMB2_MAX_CIPHER_KEY_LEN]

client->server cipher key (encrypts requests)

Definition at line 86 of file smb_client.h.

◆ enc_s2c

uint8_t SmbHandle::enc_s2c[PROTOCORE_SMB2_MAX_CIPHER_KEY_LEN]

server->client cipher key (decrypts responses)

Definition at line 87 of file smb_client.h.

◆ enc_nonce

uint64_t SmbHandle::enc_nonce

monotonic per-session AEAD nonce counter, persisted across read/write/close

Definition at line 88 of file smb_client.h.


The documentation for this struct was generated from the following file: