netdiskdev.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 178 行
H
178 行
#ifndef NETDISKDEV_H
#define NETDISKDEV_H
#define NETDISK_DEV_DIR "/dev/net_service"
/****************************************
* displayctl device defines
*
*****************************************/
#define NETDISK_CTLIO_START _IO('N',1)
#define NETDISK_CTLIO_STOP _IO('N',2)
#define NETDISK_CTLIO_OBJ_REQ_INFO _IO('N',3)
#define NETDISK_CTLIO_OBJ_OPEN _IO('N',4)
#define NETDISK_CTLIO_DEV_INFO _IO('N',5)
#define NETDISK_CTLIO_SET_OPT _IO('N',6)
#define NETDISK_CTLIO_OPEN_DEV _IO('N',7)
#define NETDISK_CTLIO_DEV_MKNOD _IO('N',8)
#define NETDISK_CTLIO_DEV_WRITE _IO('N',9)
#define NETDISK_CTLIO_DEV_WRITE_FINISH _IO('N',10)
#define NET_LOGTYPE_NORMAL 0
#define NET_LOGTYPE_ANONYMOUS 1
#define NETFS_DIRECTORY AVFS_FILESYSTEM_DIRECTORY
#define NETFS_FILE AVFS_FILESYSTEM_MEMORY_FILE
#define MAX_OBJ_ID_LEN 128
#define MAX_EXT_NAME_LEN 4
#define MIN_EXT_NAME_LEN 2
extern EventSubscriber_t *netdisk_event_subscriber;
typedef int (*netdisk_app_interrupt_cb_t)(void* arg);
typedef struct {
unsigned char parent_obj_id_len;
char* parent_obj_id;
unsigned type;
int size; /* for container, this is the child count */
unsigned16 ref_pos;
unsigned char obj_id_len;
char* obj_id;
unsigned char namlen;
char* name;
unsigned char lnamlen;
char* lname;
char* llname;
char ext_name[MAX_EXT_NAME_LEN+1]; /* not include '.'*/
}NetDisk_Obj_Info_t;
typedef void (*netdisk_obj_info_req_cb_t)(NetDisk_Obj_Info_t* info,void* arg);
typedef struct {
unsigned char obj_id_len;
char* obj_id;
int start_pos;
int count;
netdisk_obj_info_req_cb_t netfs_readdir_cb;
void* data_p;
unsigned32 timeout;
OS_EVENT * complete_sem;
netdisk_app_interrupt_cb_t app_fs_interrupt_cb;
void* app_fs_interrupt_cb_arg;
int err;
}NetDisk_Obj_Info_Req_t;
typedef struct {
char* adr;
int len;
}NetDisk_Dev_Write_t;
#define NETDISK_DEV_LABEL_LEN 64
#define NETDISK_DEV_TYPE_UPNP 1
#define NETDISK_DEV_TYPE_KG 2
#define NETDISK_DEV_TYPE_RSS 3
#define NETDISK_DEV_TYPE_FLI 4
#define NETDISK_DEV_TYPE_PIC 5
#define FLI_SUB_NAME "FLISUB"
#define PIC_SUB_NAME "PICSUB"
typedef struct {
unsigned char type;
char label[NETDISK_DEV_LABEL_LEN+1];
unsigned char mountable;
unsigned char seekable;
unsigned char datachain_type;
unsigned char disable_cache;
unsigned16 root_size; /* child count */
void* data_ext;
}NetDisk_Dev_Info_t;
/*
*/
typedef int (*netdisk_obj_read_t)(void* file_handle, char **buf_addr, int len);
typedef int (*netdisk_obj_write_t)(void* file_handle, char *buf_addr, int len);
typedef int (*netdisk_obj_seek_t)(void* file_handle, long offset, int fromwhere);
typedef int (*netdisk_obj_close_t)(void* file_handle);
typedef int (*netdisk_obj_get_chain_t)(void* file_handle,void* pchain, int len);
struct netdisk_obj_handlers_r {
netdisk_obj_read_t read;
netdisk_obj_write_t write;
netdisk_obj_seek_t seek;
netdisk_obj_close_t close;
netdisk_obj_get_chain_t get_chain;
void* file_handle;
};
typedef struct {
unsigned char obj_id_len;
char* obj_id;
unsigned16 ref_pos; /* 0xffff: mknod */
unsigned char parent_obj_id_len;
char* parent_obj_id;
char* llname;
netdisk_obj_info_req_cb_t netfs_readdir_cb;
void* data_p;
unsigned32 timeout;
struct netdisk_obj_handlers_r* obj_handler;
netdisk_app_interrupt_cb_t app_rdwr_interrupt_cb;
void* app_rdwr_interrupt_cb_arg;
netdisk_app_interrupt_cb_t app_fs_interrupt_cb;
void* app_fs_interrupt_cb_arg;
OS_EVENT * complete_sem;
int err;
}NetDisk_Obj_Open_Req_t;
typedef struct {
struct netif * netif;
char* adr;
INT32U log_type;
char* username;
char* password;
netdisk_app_interrupt_cb_t interrupt_cb;
}NetDisk_Start_Req_t;
typedef struct {
INT16U width;
INT16U height;
}NetDisk_SetOpt_Req_t;
typedef void (*msg_process_t)(void* arg1,void* arg2,void* arg3,void* arg4);
typedef struct NETDISK_MSG{
msg_process_t msg_process;
void* arg1;
void* arg2;
void* arg3;
void* arg4;
}NETDISK_MSG_t;
#ifndef RC_OK
#define RC_OK 0x00000000
#endif
#define NETDISK_RC_UNKNOWN_ERR 0x00000001
#define NETDISK_RC_NETWORK_ERR 0x00000002
#define NETDISK_RC_USERNAME_PASSWORD_ERR 0x00000003
extern void netdisk_url2filename(char* url, char* name, int max_len, char* ext_name);
extern INT32S netdisk_init_devdir();
extern OS_EVENT * pNetDiskMsgQueue ;
extern AVSysEvent_t EV_NETDISK_SIGNAL;
INT32U netdisk_get_empty_rss_slot(char* adr);
INT32U netdisk_release_empty_rss_slot(char* adr);
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?