44#ifndef _TFTPFS_UDP_NETWORK_FAKE_H
45#define _TFTPFS_UDP_NETWORK_FAKE_H
80#define TFTP_STD_PORT 69
81#define TFTP_MAX_IP_ADDR_STRLEN (16 * 2 + 7 + 1)
82#define TFTP_MAX_ERROR_STRLEN 20
83#define TFTP_MAX_OPTIONS_SIZE 40
89#define TFTP_KNOWN_IPV4_ADDR0_STR "127.0.0.1"
90#define TFTP_KNOWN_IPV4_ADDR0_ARRAY 127, 0, 0, 1
91#define TFTP_KNOWN_SERVER0_NAME "server.tftp"
92#define TFTP_KNOWN_SERVER0_IPV4 "10.7.0.2"
93#define TFTP_KNOWN_SERVER0_ARRAY 10, 7, 0, 2
100#define TFTP_FIRST_FD 33333
102typedef enum Tftp_Action_kind {
107 TFTP_IA_KIND_RECVFROM
111 Tftp_Action_kind kind;
127 const char *addr_str;
136 const char *dest_addr_str;
147 char src_addr_str[TFTP_MAX_IP_ADDR_STRLEN];
180 Tftp_Action_kind kind;
214 Tftp_Action_kind kind,
237#define TFTP_MODE_NETASCII "netascii"
238#define TFTP_MODE_OCTET "octet"
239#define TFTP_OPTION_BLKSIZE "blksize"
240#define TFTP_OPTION_TIMEOUT "timeout"
241#define TFTP_OPTION_TSIZE "tsize"
242#define TFTP_OPTION_WINDOWSIZE "windowsize"
244#define TFTP_WINDOW_SIZE_MIN 1
245#define TFTP_BLOCK_SIZE_MIN 8
246#define TFTP_BLOCK_SIZE_MAX 65464
248typedef enum Tftp_Opcode {
251 TFTP_OPCODE_DATA = 3,
253 TFTP_OPCODE_ERROR = 5,
254 TFTP_OPCODE_OACK = 6,
257typedef enum Tftp_Error_code {
258 TFTP_ERROR_CODE_NOT_DEFINED = 0,
259 TFTP_ERROR_CODE_NOT_FOUND = 1,
260 TFTP_ERROR_CODE_NO_ACCESS = 2,
261 TFTP_ERROR_CODE_DISK_FULL = 3,
262 TFTP_ERROR_CODE_ILLEGAL = 4,
263 TFTP_ERROR_CODE_UNKNOWN_ID = 5,
264 TFTP_ERROR_CODE_FILE_EXISTS = 6,
265 TFTP_ERROR_CODE_NO_USER = 7,
266 TFTP_ERROR_CODE_OPTION_NEGO = 8,
void * _Tftp_Append_interaction(Tftp_Action_kind kind, Tftp_Interaction_fn fn, size_t size)
Create an interaction and append it to the sequence of expected interactions.
Definition: tftpfs_udp_network_fake.c:136
bool(* Tftp_Interaction_fn)(Tftp_Action *act, void *data)
Carry out interactions with TFTP client.
Definition: tftpfs_udp_network_fake.h:176
const char * _Tftp_Get_error_str(uint16_t error_code)
Provides a human readable description for an error code from an TFTP error packet.
Definition: tftpfs_udp_network_fake.c:193
void _Tftp_Reset(void)
Initialize and free the singleton control object.
Definition: tftpfs_udp_network_fake.c:110
bool _Tftp_Has_no_more_interactions(void)
Have all queued interactions been processed?
Definition: tftpfs_udp_network_fake.c:154
Definition: tftpfs_udp_network_fake.h:110
Definition: tftpfs_udp_network_fake.h:178
Definition: tftpfs_udp_network_fake.h:269
Definition: mongoose.c:462