doubao_chat/apps/common/example/update/ftp_upgrade/main.c

73 lines
1.6 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "app_config.h"
#include "ftpserver/stupid-ftpd.h"
#include "net_update.h"
#include "wifi/wifi_connect.h"
#include "system/includes.h"
#ifdef USE_FTP_UPGRADE_DEMO
static void *stupid_vfs_open(char *path, char *mode)
{
printf("\n stupid_vfs_open : path is %s , mode is %s\n", path, mode);
return net_fopen(path, mode);
}
static int stupid_vfs_write(void *file, void *buf, u32 len)
{
return net_fwrite(file, buf, len, 0);
}
static int stupid_vfs_read(void *file, void *buf, u32 len)
{
return net_fread(file, buf, len);
}
static int stupid_vfs_flen(void *file)
{
return net_flen(file);
}
static int stupid_vfs_close(void *file, char is_socket_err)
{
return net_fclose(file, is_socket_err);
}
//注册一个ftpd的vfs接口
static void ftpd_vfs_interface_cfg(void)
{
struct ftpd_vfs_cfg info;
info.fopen = stupid_vfs_open;
info.fwrite = stupid_vfs_write;
info.fread = stupid_vfs_read;
info.flen = stupid_vfs_flen;
info.fclose = stupid_vfs_close;
//注册接口到ftp中
stupid_vfs_reg(&info);
}
static void ftp_update_start(void *priv)
{
//注册读写操作集
ftpd_vfs_interface_cfg();
//这里设置用户名为:FTPX, 密码为:12345678
stupid_ftpd_init("MAXUSERS=2\nUSER=FTPX 12345678 0:/ 2 A\n", NULL);
}
const char *get_root_path(void)
{
return CONFIG_ROOT_PATH;
}
//示例需要运行在ap模式
void ftp_update_test(void)
{
if (thread_fork("ftp_update_start", 10, 512, 0, NULL, ftp_update_start, NULL) != OS_NO_ERR) {
printf("thread fork fail\n");
}
}
#endif //USE_FTP_UPGRADE_DEMO