/*******************************************************************************
|
* File Name : HTTPClient.h
|
* Description :
|
* Created on : 2020Äê7ÔÂ1ÈÕ
|
* Author : ¶Å¼ü
|
*******************************************************************************/
|
#ifndef _HTTP_CLIENT_H_
|
#define _HTTP_CLIENT_H_
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "HIDO_TypeDef.h"
|
#include "HIDO_VLQueue.h"
|
#include "HIDO_ArraryQueue.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
typedef struct
|
{
|
HIDO_UINT32 m_u32RangeBegin;
|
HIDO_UINT32 m_u32RangeEnd;
|
HIDO_CHAR m_acIfRange[64];
|
} ST_HTTPGetFileOpt;
|
|
typedef struct
|
{
|
HIDO_UINT32 m_u32RangeBegin;
|
HIDO_UINT32 m_u32RangeEnd;
|
HIDO_UINT32 m_u32RangeTotal;
|
HIDO_CHAR m_acETag[64];
|
} ST_HTTPGetFileResponse;
|
|
typedef HIDO_INT32 (*FN_HTTPResponseCallback)(HIDO_UINT32 _u32RespCode, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len, HIDO_VOID *_pArg);
|
typedef HIDO_INT32 (*FN_HTTPGetFileCallback)(HIDO_UINT32 _u32RespCode, ST_HTTPGetFileResponse *_pstResponse, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len, HIDO_VOID *_pArg);
|
typedef HIDO_INT32 (*FN_HTTPPostDataCallback)(HIDO_UINT32 _u32Offset, HIDO_VOID *_pBuff, HIDO_UINT32 _u32BuffSize,
|
HIDO_UINT32 *_pu32Len, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_Post
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2020Äê7ÔÂ1ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Post(HIDO_CHAR *_pcUrl, HIDO_CHAR *_pcBody, HIDO_UINT32 _u32BodyLen, FN_HTTPResponseCallback _fnResponseCallback, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClientRequestFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2020Äê7ÔÂ1ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Get(HIDO_CHAR *_pcUrl, FN_HTTPResponseCallback _fnResponseCallback, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_GetFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2020Äê7ÔÂ1ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_GetFile(HIDO_CHAR *_pcUrl, FN_HTTPGetFileCallback _fnGetFileCallback, ST_HTTPGetFileOpt *_pstOpt, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_PostFile
|
* Description : HTTP ÉÏ´«Îļþ
|
* Input : _pcUrl HTTP·¾¶
|
* : _pcFileName ÎļþÃû³Æ
|
* : _fnResponseCallback HTTPÏìÓ¦»Øµ÷º¯Êý
|
* : _pArg ²ÎÊý
|
* Output : Mone
|
* Return : HIDO_OK ³É¹¦,HIDO_ERR ʧ°Ü
|
* Author : ¶Å¼ü
|
* Modified Date: : 2021Äê5ÔÂ3ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_PostFile(HIDO_CHAR *_pcUrl, FN_HTTPPostDataCallback _fnPostDataCallback, FN_HTTPResponseCallback _fnResponseCallback,
|
HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : HTTPClient_Get
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2020Äê7ÔÂ1ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Poll(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : HTTPClientRequestFile
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2020Äê7ÔÂ1ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 HTTPClient_Init(HIDO_VOID);
|
|
#endif /* _HTTP_CLIENT_H_ */
|