doubao_chat/include_lib/net/uC-HTTPc/dropbox.h

148 lines
6.7 KiB
C

/*
*********************************************************************************************************
* EXAMPLE CODE
*
* This file is provided as an example on how to use Micrium products.
*
* Please feel free to use any application code labeled as 'EXAMPLE CODE' in
* your application products. Example code may be used as is, in whole or in
* part, or may be used as a reference only. This file can be modified as
* required to meet the end-product requirements.
*
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*
* HTTP CLIENT DROPBOX MODULE
*
* Filename : dropbox.h
* Version : V3.01.00
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*********************************************************************************************************
* MODULE
*********************************************************************************************************
*********************************************************************************************************
*/
#ifndef DROPBOX_MODULE_PRESENT
#define DROPBOX_MODULE_PRESENT
/*
*********************************************************************************************************
* FS MODULE
*
* Note(s): If the uC/FS is present in the project, you can enable it for the example application.
*********************************************************************************************************
*/
#define HTTPc_APP_FS_MODULE_PRESENT DEF_YES
// #define HTTPc_APP_FS_MODULE_PRESENT DEF_NO
/*
*********************************************************************************************************
*********************************************************************************************************
* INCLUDE FILES
*********************************************************************************************************
*********************************************************************************************************
*/
#include "http-c.h"
/*
*********************************************************************************************************
*********************************************************************************************************
* DEFINES
*********************************************************************************************************
*********************************************************************************************************
*/
#define DROPBOX_CFG_CONN_BUF_SIZE 512u
#define DROPBOX_CFG_HDR_VAL_LEN_MAX 300u
#define DROPBOX_URL_LEN_MAX 50u
#define DROPBOX_API_CONTENT_IPv4_ADDR "23.23.153.198"
#define DROPBOX_API_IPv4_ADDR "50.19.116.212"
#define DROPBOX_API_CONTENT_HOSTNAME "api-content.dropbox.com"
#define DROPBOX_API_HOSTAME "api.dropbox.com"
#define DROPBOX_URL_FILES_PUT "/1/files_put/auto/"
#define DROPBOX_URL_FILES_GET "/1/files/auto/"
#define DROPBOX_URL_FILES_OPS "/1/fileops/"
/*
*********************************************************************************************************
*********************************************************************************************************
* DATA TYPE
*********************************************************************************************************
*********************************************************************************************************
*/
typedef void (*DROPBOX_RX_DATA)(CPU_CHAR *remote_file_name,
void *p_data,
CPU_INT16U data_len,
CPU_BOOLEAN last_chunk,
void *p_user_ctx);
/*
*********************************************************************************************************
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*********************************************************************************************************
*/
CPU_BOOLEAN Dropbox_Upload_File(CPU_CHAR *p_remote_file_name,
CPU_CHAR *p_local_file_name,
HTTP_CONTENT_TYPE content_type,
CPU_SIZE_T content_len,
CPU_CHAR *p_access_token);
CPU_BOOLEAN Dropbox_Upload_Buf(CPU_CHAR *p_remote_file_name,
CPU_INT08U *p_buf,
HTTP_CONTENT_TYPE content_type,
CPU_SIZE_T content_len,
CPU_CHAR *p_access_token);
CPU_BOOLEAN Dropbox_Download_Buf(CPU_CHAR *p_remote_file_name,
CPU_CHAR *p_access_token,
DROPBOX_RX_DATA fnct,
void *p_ctx);
CPU_BOOLEAN Dropbox_Download_File(CPU_CHAR *p_remote_file_name,
CPU_CHAR *p_local_file_name,
CPU_CHAR *p_access_token);
CPU_BOOLEAN Dropbox_Delete_File(CPU_CHAR *p_remote_file_name,
CPU_CHAR *p_access_token);
/*
*********************************************************************************************************
*********************************************************************************************************
* MODULE END
*********************************************************************************************************
*********************************************************************************************************
*/
#endif