22#ifndef DETERMINISTICESPASYNCWEBSERVER_SMB_CLIENT_H
23#define DETERMINISTICESPASYNCWEBSERVER_SMB_CLIENT_H
33enum class SmbResult : int32_t
38 SMB_ERR_PROTOCOL = -3,
40 SMB_ERR_OVERFLOW = -5,
49using SmbSendFn = int (*)(
void *ctx,
const uint8_t *data,
size_t len);
50using SmbRecvFn = int (*)(
void *ctx, uint8_t *buf,
size_t cap);
58 const char *workstation;
61 uint32_t desired_access;
72 uint64_t next_message_id;
79SmbResult smb_open(
const SmbConfig *cfg, SmbHandle *h, SmbSendFn send, SmbRecvFn recv,
void *ctx);
85SmbResult smb_close(SmbHandle *h, SmbSendFn send, SmbRecvFn recv,
void *ctx);
93SmbResult smb_read(SmbHandle *h, uint64_t offset, uint8_t *out,
size_t cap,
size_t *out_len, SmbSendFn send,
94 SmbRecvFn recv,
void *ctx);
102SmbResult smb_write(SmbHandle *h, uint64_t offset,
const uint8_t *data,
size_t len,
size_t *written, SmbSendFn send,
103 SmbRecvFn recv,
void *ctx);
User-facing configuration for DeterministicESPAsyncWebServer.