123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- #ifndef _NET_STREAM_IF_H_
- #define _NET_STREAM_IF_H_
- #include <stdio.h>
- #include <types.h>
- //#include <gsl.h>
- #include "net_stream_error.h"
- #define NR_MESSAGE_QUEUE_MESSAGE_MASK (0x0000FFFF)
- #define NR_MESSAGE_QUEUE_TYPE_MASK (0xFFFF0000)
- #define NR_MESSAGE_QUEUE_TYPE_INTERNAL (1<<16)
- #define NR_MESSAGE_QUEUE_TYPE_EXTERNAL (1<<17)
- #define NR_MESSAGE_QUEUE_TYPE_NET_TRANS (1<<18)
- enum {
- NR_MSG_FINALIZE = 0x01,
- NR_MSG_DATA_RETRIEVE,
- NR_MSG_ADD_NEW_TASK,
- NR_MSG_DELETE_TASK,
- };
- enum {
- NR_SEEK_SET = SEEK_SET,
- NR_SEEK_CUR = SEEK_CUR,
- };
- enum {
- NR_MSG_NET_TRANS_RESPONSE_DATA_IN_DONE = 0x1000,
- NR_MSG_NET_TRANS_RESPONSE_DATA_IN_FULL,
- NR_MSG_NET_TRANS_RESPONSE_DATA_IN_ERROR,
- NR_MSG_NET_TRANS_RESPONSE_DATA_IN_PREPARE_NEXT,
- };
- typedef struct NR_MessageBody_t_
- {
- UINT32 dMessageType;
- UINT32 dParam1;
- UINT32 dParam2;
- } NR_MessageBody_t;
- #define NR_MESSAGE_BODY_SIZE (sizeof(NR_MessageBody_t))
- #ifndef HANDLE_
- #define HANDLE_
- typedef UINT32 HANDLE;
- #endif
- enum {
- NETTASK_TRANSFER_ENCODING_NULL = 0,
- NETTASK_TRANSFER_ENCODING_GZIP = 3,
- };
- //Drv_GetTaskInfo->eCmd
- typedef enum {
- NETTASK_BUFFER_PERCENT = 100,
- NETTASK_DOWNLOAD_SPEED,
- NETTASK_RECEIVE_DATALEN,
- NETTASK_FILESIZE,
- NETTASK_STATUSCODE,
- NETTASK_TRANSFER_ENCODING,
- NETTASK_DLONCE_STATUS,
- //for debug use only
- NETTASK_DEBUG_INFO = 600,
- NETTASK_DUMP_TASK,
- } NETTASK_INFO_e;
- typedef enum {
- NETTASK_SETMODE_PREPARSE = 0x01,
- NETTASK_SETMODE_PLAYING,
- NETTASK_SET_STARTUP,
- NETTASK_SET_SECOND_URL,
- NETTASK_SET_COOKIE,
- NETTASK_SET_REFERER,
- NETTASK_SET_USERAGENT,
- //for DLNA test by zhanglong 02/24/2012
- NETTASK_SET_MKPACKET_POINT,
- NETTASK_SET_MKPACKET_DATA,
- NETTASK_SET_STREAM_TYPE,
- NETTASK_SET_PAUSE_CONDITION,//cmd data: 1 pause transfer,0 go on transfer
- NETTASK_SET_RANGE_END_FLAG,
- NETATSK_SET_MAX_SOCKET,
- NETTASK_SET_POST_DATA,
- NETTASK_SET_DOWNLOAD_PATH,
- NETTASK_SET_DOWNLOAD_FILENAME,
- NETTASK_SET_AUTHORIZATION
- } NETTASK_SETPARAM_e;
- //this assigned to dType
- enum {
- NETTASK_DOWNLOADONCE = (1<<0), //usually for getting xml and small file
- NETTASK_DOWNLOADLOOP = (1<<1), //usually for getting video/audio stream
- NETTASK_DOWNLOADDISC = (1<<2), //used to download the file to HDD/usb/card
- NETTASK_TYPE_CUSTOM = (1<<8),
- };
- //this assigned to NetStream_PrivateDrv_t->dFlags
- #define NETSTREAM_DRV_RUNNING_NOW 0x01
- #define NETSTREAM_DRV_RUNNING_ON_REGISTER 0x02
- typedef struct NetStream_PrivateDrv_t_
- {
- const UINT32 dSupportedTaskType;
- UINT32 dFlags;
- INT32 (*Drv_Initialize_Func)( void **Drv_PrivateData );
- INT32 (*Drv_Finalize_Func)( void **Drv_PrivateData );
- INT32 (*Drv_CreateTask_Func)( void *Drv_PrivateData,
- HANDLE *pHandle,
- char *pBuf,
- UINT32 dBufSize,
- UINT32 dType,
- const char *pUrl,
- UINT32 dIdentify,
- GL_Queue_t MwQueueHandle );
- INT32 (*Drv_DeleteTask_Func)( void *Drv_PrivateData, HANDLE handle);
- INT64 (*Drv_Seek_Func)( void *Drv_PrivateData, HANDLE handle, UINT64 lOffset, UINT32 dSeekCtrl );
- INT32 (*Drv_Read_Func)( void *Drv_PrivateData,
- HANDLE handle,
- UINT64 lOffset,
- UINT32 dReadLen,
- char *pBuf,
- UINT32 *pdRealReadLen );
- INT32 (*Drv_GetTaskInfo_Func)( void *Drv_PrivateData,
- HANDLE handle,
- INT32 eCmd,
- void * pdData );
- INT32 (*Drv_SetTaskParam_Func)( void *Drv_PrivateData,
- HANDLE handle,
- INT32 eCmd,
- const void * pdData );
- HANDLE (*Drv_CheckHandle_Func)( void*Drv_PrivateData,HANDLE handle);
- void *pDrv_PrivateData;
- struct NetStream_PrivateDrv_t_ *pNext;
- } NetStream_PrivateDrv_t;
- INT32 NetStream_IF_Initialize(void);
- INT32 NetStream_IF_Finalize(void);
- INT32 NetStream_IF_CreateTask( HANDLE *pHandle,
- char *pBuf,
- UINT32 dBufSize,
- UINT32 dType,
- const char *pUrl,
- UINT32 dIdentify,
- GL_Queue_t MwQueueHandle );
- INT32 NetStream_IF_SetTaskParam( HANDLE handle, INT32 eCmd, const void *pdParam );
- INT32 NetStream_IF_StartTask( HANDLE handle);
- INT64 NetStream_IF_Seek( HANDLE handle, UINT64 lOffset, UINT32 dSeekCtrl );
- INT32 NetStream_IF_Read( HANDLE handle,
- UINT64 lOffset,
- UINT32 dReadLen,
- char *pBuf,
- UINT32 *pdRealReadLen );
- INT32 NetStream_IF_GetDataLen( HANDLE handle, UINT32 *pdLen );
- INT32 NetStream_IF_GetBufPercent( HANDLE handle, UINT32 *psdPercent );
- INT32 NetStream_IF_GetFileSize(HANDLE handle, UINT64 *plLen);
- INT32 NetStream_IF_GetDownLoadSpeed( HANDLE handle, UINT32 *pdSpeed );
- #ifdef LG_APP_SUPPORT
- INT32 NetStream_IF_GetTaskInfo( HANDLE handle, UINT32 dCmd, void *pInfo );
- #endif
- INT32 NetStream_IF_DeleteTask( HANDLE handle);
- INT32 NetStream_IF_RegisterPrivateDrv( NetStream_PrivateDrv_t *pDrv, UINT32 *pdType );
- INT32 NetStream_IF_unRegisterPrivateDrv( NetStream_PrivateDrv_t *pDrv );
- #endif
|