net_parser.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef __NET_PARSER_H__
  2. #define __NET_PARSER_H__
  3. //#include "gsl.h"
  4. #include "net_stream_if.h"
  5. #define NET_PARSER_SUCCESSFUL 0
  6. #define NET_PARSER_INITIALIZE_FAIL -1
  7. #define NET_PARSER_INVALID_PARAM -2
  8. #define NET_PARSER_FINALIZE_FAIL -3
  9. #define NET_PARSER_ILLEGAL_REQUEST -4
  10. #define NET_PARSER_MESSAGE_QUEUE_MODE_SEARCH_DONE 1 << 27
  11. #define PARSER_MESSAGE_QUEUE_MESSAGE_MASK (0x0000FFFF)
  12. #define PARSER_MESSAGE_QUEUE_TYPE_MASK (0xFFFF0000)
  13. typedef enum
  14. {
  15. NET_PARSER_MESSAGE_SEARCHOBJ_DONE = 1 << 12,
  16. NET_PARSER_MESSAGE_SEARCHOBJ_FAIL,
  17. NET_PARSER_MESSAGE_SEARCHOBJ_FULL,
  18. NET_PARSER_MESSAGE_MAX
  19. } ParserMsg_t;
  20. typedef enum
  21. {
  22. PROTOCOL_TYPE_HTTP,
  23. PROTOCOL_TYPE_MAX
  24. } ProtocolType_t;
  25. typedef UINT32 RB_HANDLE;
  26. #define MW_INITIALIZE (1<<0)
  27. #define MW_DATA_PARSING (1<<1)
  28. typedef int (*ParserFunction)(char *pWorkBuf, void *pParam, UINT32 dStartIndex, UINT32 dCount);
  29. typedef struct NetParser_Cfg_t_
  30. {
  31. UINT32 dBufSize; //default set buffer size 1M
  32. UINT32 dStartIndex; //default set startIndex 0
  33. UINT32 dCount; //default get all data
  34. UINT32 dProtocolType; //default to http protocol
  35. UINT32 dIdentify;
  36. char *pWorkBuf;
  37. char *pUrl;
  38. void *pParam;
  39. volatile UINT32 *pdParserFlag;
  40. ParserFunction pfParserFunction;
  41. } NetParser_Cfg_t;
  42. INT32 NetParser_IF_Initialize(void);
  43. INT32 NetParser_IF_Finalize(void);
  44. INT32 NetParser_IF_CreateRequestBlock(RB_HANDLE *pHandle, NetParser_Cfg_t *pstCfg, GL_Queue_t MwQueueHandle);
  45. INT32 NetParser_IF_DestoryRequestBlock(RB_HANDLE handle);
  46. #endif