| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | /* * Copyright (c) 2020 InnBlue * * SPDX-License-Identifier: Apache-2.0 *//** @file tftp.h * *  @brief Zephyr TFTP Implementation */#ifndef ZEPHYR_INCLUDE_NET_TFTP_H_#define ZEPHYR_INCLUDE_NET_TFTP_H_#include <zephyr.h>#include <net/socket.h>#ifdef __cplusplusextern "C" {#endifstruct tftpc {	uint8_t   *user_buf;	uint32_t  user_buf_size;};/* TFTP Client Error codes. */#define TFTPC_SUCCESS             0#define TFTPC_DUPLICATE_DATA     -1#define TFTPC_BUFFER_OVERFLOW    -2#define TFTPC_UNKNOWN_FAILURE    -3#define TFTPC_REMOTE_ERROR       -4#define TFTPC_RETRIES_EXHAUSTED  -5/* @brief This function gets "file" from the remote server. * * If the file is successfully received its size will be returned in * `client->user_buf_size` parameter. * * @param server      Control Block that represents the remote server. * @param client      Client Buffer Information. * @param remote_file Name of the remote file to get. * @param mode        TFTP Client "mode" setting * * @return TFTPC_SUCCESS if the operation completed successfully. *         TFTPC_BUFFER_OVERFLOW if the file is larger than the user buffer. *         TFTPC_REMOTE_ERROR if the server failed to process our request. *         TFTPC_RETRIES_EXHAUSTED if the client timed out waiting for server. */int tftp_get(struct sockaddr *server, struct tftpc *client,	     const char *remote_file, const char *mode);#endif /* ZEPHYR_INCLUDE_NET_TFTP_H_ */
 |