nt9856x/code/application/source/sf_app/code/include/sf_ftp.h
2023-11-21 10:16:50 +08:00

231 lines
7.3 KiB
C
Executable File

/**************************************************************************
*
* Copyright (c) 2009-2018 by SiFar Technology, Inc.
*
* This software is copyrighted by and is the property of SiFar
* Technology, Inc.. All rights are reserved by SiFar Technology, Inc..
* This software may only be used in accordance with the corresponding
* license agreement. Any unauthorized use, duplication, distribution,
* or disclosure of this software is expressly forbidden.
*
* This Copyright notice MUST not be removed or modified without prior
* written consent of SiFar Technology, Inc..
*
* SiFar Technology, Inc. reserves the right to modify this software without notice.
*
* Author: hac
* Ver: 1.0.0 2021.12.13
* Description:
*
**************************************************************************/
#ifndef _SF_FTP_H_
#define _SF_FTP_H_
#include "kwrap/nvt_type.h"
#include "sf_type.h"
#include <time.h>
typedef enum _FTP_SIM_E
{
FTP_SIM_CGDCONT = 0,
FTP_SIM_QICSGP0,
FTP_SIM_NETOPEN,
FTP_SIM_CFTPSSTART,
FTP_SIM_CFTPSSINGLEIP,
FTP_SIM_QSSLCFG0,
FTP_SIM_QSSLCFG1,
FTP_SIM_QSSLCFG2,
FTP_SIM_QSSLCFG3,
FTP_SIM_QSSLCFG4,
FTP_SIM_QSSLCFG5,
FTP_SIM_CCHSTART,
FTP_SIM_CFTPSCFG,
FTP_SIM_CSSLCFG,
FTP_SIM_CFTPLOGIN,
FTP_SIM_CFTPSLOGIN,
FTP_SIM_CFTPSPUTFILE,
FTP_SIM_JPG,
FTP_SIM_CFTPSLOGOUT,
FTP_SIM_CCHSTOP,
FTP_SIM_CFTPSSTOP,
FTP_SIM_NETCLOSE,
FTP_SIM_CFTPSTERM,
FTP_SIM_EXIT,
}FTP_SIM_E;
typedef enum _FTP_ERR_CODE_E{
FTP_ERROR_AT_TIMEOUT = 1,
FTP_ERROR_AT_ACTIVE = 2,
FTP_ERROR_OPEN = 3,
FTP_ERROR_OPEN_TIMEOUT = 4,
FTP_ERROR_SEND_TIMEOUT = 5,
FTP_ERROR_SEND_CLOSE = 6,
FTP_ERROR_SEND,
FTP_ERROR_AT_ERROR,
FTP_ERROR_NLST,
FTP_ERROR_GET,
FTP_ERROR_CLOSED,
FTP_ERROR_LOGOUT,
FTP_ERROR_STOP,
FTP_ERROR_START,
FTP_ERROR_CCHSTART,
FTP_ERROR_TERM,
FTP_ERROR_LOGOUT_TIMEOUT,
FTP_ERROR_QIDEACT,
FTP_ERROR_BUTT,
}FTP_ERR_CODE_e;
#define SF_FTP_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_TIMEOUT)
#define SF_FTP_ERROR_AT_ACTIVE SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_ACTIVE)
#define SF_FTP_ERROR_OPEN SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_OPEN)
#define SF_FTP_ERROR_OPEN_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_OPEN_TIMEOUT)
#define SF_FTP_ERROR_SEND_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND_TIMEOUT)
#define SF_FTP_ERROR_SEND_CLOSE SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND_CLOSE)
#define SF_FTP_ERROR_SEND SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_SEND)
#define SF_FTP_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_AT_ERROR)
#define SF_FTP_ERROR_NLST SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_NLST)
#define SF_FTP_ERROR_GET SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_GET)
#define SF_FTP_ERROR_CLOSED SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_CLOSED)
#define SF_FTP_ERROR_LOGOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_LOGOUT)
#define SF_FTP_ERROR_STOP SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_STOP)
#define SF_FTP_ERROR_START SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_START)
#define SF_FTP_ERROR_CCHSTART SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_CCHSTART)
#define SF_FTP_ERROR_TERM SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_TERM)
#define SF_FTP_ERROR_LOGOUT_TIMEOUT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_LOGOUT_TIMEOUT)
#define SF_FTP_ERROR_QIDEACT SF_ERR_ID(SF_MOD_FTP, FTP_ERROR_QIDEACT)
typedef enum _SEND_ERR_CODE_E{
SEND_ERROR_SIGNAL = 1,
SEND_ERROR_CREAT_DP_FILE = 2,
SEND_ERROR_CREAT_GPS_FILE= 3,
SEND_ERROR_LOG_NOT_EXIST = 4,
SEND_ERROR_BATCH_PIC_NULL= 5,
SEND_ERROR_BATCH_PIC = 6,
SEND_ERROR_APN_NULL = 7,
SEND_ERROR_FTP_NULL = 8,
SEND_ERROR_REACH_MAX_NUM = 9,
SEND_ERROR_BUTT,
}SEND_ERR_CODE_e;
#define SF_SEND_ERROR_SIGNAL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_SIGNAL)
#define SF_SEND_ERROR_CREAT_DP_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_DP_FILE)
#define SF_SEND_ERROR_CREAT_GPS_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_GPS_FILE)
#define SF_SEND_ERROR_LOG_NOT_EXIST SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_LOG_NOT_EXIST)
#define SF_SEND_ERROR_BATCH_PIC_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC_NULL)
#define SF_SEND_ERROR_BATCH_PIC SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC)
#define SF_SEND_ERROR_APN_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_APN_NULL)
#define SF_SEND_ERROR_FTP_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_FTP_NULL)
#define SF_SEND_ERROR_REACH_MAX_NUM SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_REACH_MAX_NUM)
typedef enum _OTA_Cue
{
OTA_UPDATING = (unsigned char)0x01,
OTA_NOUPDATE,
OTA_SUCCESS,
OTA_FAIL,
OTA_TIME_OUT = (unsigned char)0x64,/*100*/
OTA_FILE_OPEN_ERROR = (unsigned char)0xc8,/*200*/
OTA_FILE_SIZE_ERROR,
OTA_DOWNLOAD_ERROR,
OTA_UPDATED_ERROR,
OTA_VERTION_ERROR,
OTA_BATTERY_LOW,
}OTA_Cue;
typedef enum _CAMERA_OTA_FTP
{
CAMERA_OTA_FTP_FRIST =(unsigned char)0x01,
CAMERA_OTA_FTP_CURVER,
CAMERA_OTA_FTP_QICSGP,
CAMERA_OTA_FTP_QICSGP1,
CAMERA_OTA_FTP_QIACT,
CAMERA_OTA_FTP_QFTPCFG1,
CAMERA_OTA_FTP_QFTPCFG2,
CAMERA_OTA_FTP_QFTPCFG3,
CAMERA_OTA_FTP_QFTPCFG4,
CAMERA_OTA_FTP_QFTPCFG5,
CAMERA_OTA_FTP_QFTPOPEN,
CAMERA_OTA_FTP_QFTPNLST,
CAMERA_OTA_FTP_QFTPGETCFG,
CAMERA_OTA_FTP_QFTPGETBRN,
CAMERA_OTA_FTP_QFTPCLOSE,
CAMERA_OTA_FTP_QIDEACT,
CAMERA_OTA_FTP_READSIZE,
CAMERA_OTA_FTP_DOWNLOAD_CFG,
CAMERA_OTA_FTP_DOWNLOAD_BRN,
CAMERA_OTA_FTP_SAVE_BRN,
CAMERA_OTA_FTP_END,
}CAMERA_OTA_FTP;
typedef enum _OTA_FTP
{
OTA_FTP_FRIST =(unsigned char)0x01,
OTA_FTP_CURVER,
OTA_FTP_QICSGP,
OTA_FTP_QICSGP1,
OTA_FTP_QIACT,
OTA_FTP_QFTPCFG1,
OTA_FTP_QFTPCFG2,
OTA_FTP_QFTPCFG3,
OTA_FTP_QFTPCFG4,
OTA_FTP_QFTPCFG5,
OTA_FTP_QFTPOPEN,
OTA_FTP_QFTPNLST,
OTA_FTP_QFTPGETCFG,
OTA_FTP_QFTPCLOSE,
OTA_FTP_OPENCFG,
OTA_FTP_SEEKCFG,
OTA_FTP_READCFG,
OTA_FTP_CLOSECFG,
OTA_FTP_QIDEACT,
OTA_FTP_QFOTADL,
OTA_FTP_DOWNLOAD,
OTA_FTP_UPDATING,
OTA_FTP_UPDATING1,
OTA_FTP_UPDATING2,
OTA_FTP_UPDATAEND,
OTA_FTP_CHECK,
OTA_FTP_QGMR,
OTA_FTP_END,
}OTA_FTP;
typedef struct sf_ftp_send_file
{
int id;/* id number*/
int gprs_mode;/* 0 Daily, 1 Instant */
int size;/* file size*/
char file_path[64];/* file name */
char ftp_file_path[64];/* Received name */
struct sf_ftp_send_file *next;/* next */
}sf_ftp_send_file_t;
SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, int timeout);
SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, int timeout);
SINT32 sf_ftp_stop(UINT8 ssl, UINT8 GprsMode);
SINT32 sf_pic_send_ftp(void);
SINT32 sf_txt_send_ftp(void);
SINT32 sf_video_send_ftp(void);
SINT32 sf_ftp_dailyreport_send(void);
SINT32 sf_check_ftp_send(UINT8 mode);
SINT32 sf_send_file_to_ftp(UINT8 mode);
SINT32 sf_4g_module_ota_ftp(void);
SINT32 sf_connect_ftps_server(void);
SINT32 sf_camera_ota_ftp(void);
SINT32 sf_concentrated_ftp_send(void);
SINT32 sf_hd_ftp_send(void);
SINT32 sf_video_ftp_send(void);
SINT32 sf_get_ftp_open_flag(void);
SINT32 sf_log_send_ftp(void);
SINT32 sf_low_power_warn_send_ftp(void);
double sf_sys_s_time_get(time_t end_time);
time_t sf_time (time_t *__timer);
SINT32 sf_gps_send_ftp(void);
SINT32 sf_test_send_file_to_ftp(void);
SINT32 sf_card_log_send_ftp(void);
#endif /*_SF_FTP_H_*/