C机顶盒开发实战常量定义方式、结构定义方式(可理解为对象Model)
***********************************************************************
* 数据类型定义
***********************************************************************/
typedef unsigned long long D_UINT64;
typedef unsigned long D_UINT32;
typedef unsigned short D_UINT16;
typedef unsigned char D_UINT8;
typedef unsigned long D_ULONG;
//typedef signed long long D_INT64;
typedef signed long D_INT32;
typedef signed short D_INT16;
typedef signed char D_INT8;
typedef unsigned char D_BYTE;
typedef unsigned short D_WORD;
typedef float D_FLOAT;
typedef char D_BOOL;
typedef void D_VOID;
#ifndef DWORD
#define DWORD unsigned long
#endif
#ifndef WORD
#define WORD unsigned short
#endif
#ifndef BYTE
#define BYTE unsigned char
#endif
#ifndef PBYTE
#define PBYTE unsigned char *
#endif
#ifndef LPTEXT
#define LPTEXT unsigned char *
***********************************************************************
* 常量定义
***********************************************************************/
typedef enum
{
DG_MW_VIDEO_PORT_BASE = -1,
DG_MW_VIDEO_PORT_AUTO,
DG_MW_VIDEO_PORT_CVBS,
DG_MW_VIDEO_PORT_SVIDEO,
DG_MW_VIDEO_PORT_YPbPr,
DG_MW_VIDEO_PORT_HDMI,
DG_MW_VIDEO_PORT_MAX
}DG_MW_VIDEO_PORT;
typedef enum
{
DG_MW_VIDEO_MODE_BASE = -1,
DG_MW_VIDEO_MODE_AUTO,
DG_MW_VIDEO_MODE_PAL,
DG_MW_VIDEO_MODE_NTSC,
DG_MW_VIDEO_MODE_480p,
DG_MW_VIDEO_MODE_720p,
DG_MW_VIDEO_MODE_1080i,
DG_MW_VIDEO_MODE_1080p,
DG_MW_VIDEO_MODE_MAX
}DG_MW_VIDEO_MODE;
#define FAILAULT -1
#define SUCCESS 0
/***********************************************************************
* 宏定义
***********************************************************************/
#define UPGRADE_KEY_LEN 64
#define UPGRADE_DATA_TIME_LEN 128
#define UPGRADE_FILE_NAME_LEN 256
#define UPGRADE_URL_LEN 512
#define URL_LEN 512
#define VERSION_LEN 32*2
#define DATA_LEN 16*2
#define UPGRADEFILE_MD5 "/tmp/UpgradeMd5" /*升级文件实际MD5值*/
#define MD5_CMD "md5sum" /*MD5校验命令*/
#define SERVER_VERSION_NAME "UpgradeVersion" /*服务器上版本文件名*/
#define USB_UPGRADE_ADDR "/mnt/usbupgrade/stbupgrade/" /*USB存储设备升级地址*/
#define UPGRADE_LOCAL_bootld_FILE "/home/upgrade/bootld" /*本地临时启动引导文件名*/
#define UPGRADE_LOCAL_bmp_FILE "/home/upgrade/splash.bmp" /*本地临时开机画面文件名*/
#define UPGRADE_LOCAL_kernel_FILE "/home/upgrade/kernel.bin" /*本地临时内核文件名*/
#define UPGRADE_LOCAL_app_FILE "/home/upgrade/JX010100.bin" /*本地临时内核文件名*/
#define UPGRADE_LOCAL_stbid_FILE "/home/upgrade/stb_id" /*本地临时STBID文件名*/
#define UPGRADE_LOCAL_bootkey_FILE "/home/upgrade/osflag" /*本地临时STBID文件名*/
#define UPGRADE_VERSION_LOCAL_ADDR "/home/upgrade/UpgradeVersion" /*本地临时版本文件名*/
#define UPGRADE_STBID_LOCAL_ADDR "/home/info/stbid.cfg" /*本地临时版本文件名*/
#define UPGRADE_FLAG_FILE "/home/info/stbupgrade_img" /*升级进行中的标志文件*/
#define UPGRADE_BMP_FLAG_FILE "/home/info/stbupgrade_bmp_img" /*升级BMP进行中的标志文件*/
/***********************************************************************
* 结构定义
***********************************************************************/
typedef struct _dg_sysconfig
{
/********************************
* 设置确认值 *
*********************************/
D_UINT32 magic_number; /** 逻辑代码**/
/********************************
* 中心频点 *
*********************************/
D_UINT32 base_freqency; /** 中心频点**/
D_UINT32 base_symbol; /** 符号率 **/
D_UINT16 base_qammode; /** 调制方式**/
D_UINT16 base_reserved; /** 预留位**/
/********************************
* 升级相关信息 *
*********************************/
D_UINT32 upgrade_check_freqency; /** 升级检测频点**/
D_UINT32 upgrade_check_symbol; /** 升级检测符号率**/
D_UINT16 upgrade_check_qammode; /** 升级检测调试方式**/
D_UINT16 upgrade_check_pid; /** 升级检测的PID 值**/
D_UINT8 upgrade_check_tableid; /** 升级检测的TABLEID 值**/
D_UINT8 upgrade_check_version[64]; /** 升级版本信息**/
D_UINT8 upgrade_reserved8; /** 预留位**/
D_UINT16 upgrade_reserved16; /** 预留位**/
/********************************
* 视频相关 *
*********************************/
D_UINT8 video_port; /** 电视制式**/
D_UINT8 video_mode; /** 电视制式**/
D_UINT8 video_radio; /** 电视宽高比**/
D_UINT8 video_reserved; /** 预留位**/
D_UINT8 brightness; /** 亮度**/
D_UINT8 contrast; /** 对比度**/
D_UINT8 saturation; /** 饱和度**/
D_UINT8 hue; /** 色度**/
/********************************
* 音频相关 *
*********************************/
D_UINT8 vol_save_mode; /** 音量保存模式:**/
D_UINT8 off_vol_save_mode; /** 补偿音量保存模式**/
D_UINT8 track_save_mode; /** 声道 保存模式**/
D_UINT8 tv_def_track; /** 默认电视声道 **/
D_UINT8 radio_def_track; /** 默认广播声道**/
D_UINT8 mute_states; /** 禁音状态**/
D_UINT8 audio_reserved1; /** 预留位**/
D_UINT8 audio_reserved2; /** 预留位**/
D_UINT8 passthrough; /**透传**/
D_UINT8 spdifpassthrough; /**spdif透传**/
/********************************
* 显示相关 *
*********************************/
D_UINT8 language; /** 界面语言**/
D_UINT8 alpha; /** 透明度**/
D_UINT8 menu_timeout; /** 界面消影时间:0~15秒**/
D_UINT8 osd_reserved; /** 预留位**/
D_UINT8 skinno; /**皮肤编号**/
D_UINT8 picstyle; /**图片特效**/
D_UINT8 style; /**界面风格**/
D_UINT8 fontsize; /**视频字幕大小**/
D_UINT8 fontcolour; /**视频字幕颜色**/
/********************************
* 安全相关 *
*********************************/
D_BOOL pc_lock_status; /** 机顶盒锁状态**/
D_BOOL menu_lock_status; /** 菜单锁状态**/
D_BOOL prog_lock_status; /** 节目锁状态**/
D_UINT8 safe_reserved; /** 预留位**/
D_UINT8 pc_pwd[DG_MAX_PASSWORD_LENGTH]; /** 机顶盒密码**/
D_UINT8 menu_pwd[DG_MAX_PASSWORD_LENGTH]; /** 菜单密码**/
D_UINT8 prog_pwd[DG_MAX_PASSWORD_LENGTH]; /** 节目密码**/
D_UINT8 super_pwd[DG_MAX_PASSWORD_LENGTH]; /** 超级密码**/
/********************************
* 切台相关 *
*********************************/
D_UINT8 change_channel_mode; /** 节目切台方式0,最后一帧,1,黑屏,2,指定图片*/
D_BOOL prom_pw_once; /** 节目解锁方式**/
D_UINT16 reserved; /** 预留位**/
/********************************
* 系统相关 *
*********************************/
D_UINT8 nit_version; /** NIT 版本信息**/
D_INT8 timezone; /** 时区信息**/
D_BOOL power_on_status; /** 定时开机状态**/
D_UINT8 power_on_hour; /** 定时开机时间--小时**/
D_UINT8 power_on_minute; /** 定时开机时间--分钟**/
D_BOOL power_off_status; /** 定时关机状态**/
D_UINT8 power_off_hour; /** 定时关机时间--小时**/
D_UINT8 power_off_minute; /** 定时关机时间--分钟**/
D_UINT32 network; //网络设置选项
D_INT32 debug_factory;
/********************************
* 启动相关 *
*********************************/
D_BOOL boot_search; /** 开机自动搜台**/
D_BOOL boot_resume_mute; /** 开机静音模式**/
D_UINT8 boot_style; /** 开机启动方式**/
D_UINT8 boot_model; /** 开机功能控制**/
/********************************
* 字幕 *
*********************************/
D_UINT32 textColor; //字幕颜色
D_UINT32 textsize; //字幕大小
D_UINT8 adsl_user[DG_ADSL_USERNAME_LEN]; //adsl 用户
D_UINT8 adsl_passwd[DG_ADSL_PASSWORD_LEN]; //adsl 密码
D_UINT8 userip[DG_USER_IP_LEN]; //用户ip
D_UINT8 serverip[DG_USER_IP_LEN]; // 服务器IP
D_UINT8 subnetmask[DG_USER_IP_LEN]; //子网掩码
D_UINT8 gateway[DG_USER_IP_LEN]; //网关
D_UINT8 dnsip[DG_USER_IP_LEN]; //dns ip
D_UINT8 mac[DG_USER_IP_LEN]; // mac 地址
D_UINT8 username[DG_ADSL_USERNAME_LEN]; //用户名
D_UINT8 passwd[DG_ADSL_PASSWORD_LEN]; //密码
D_INT32 newexpress_savedays; //片花保存天数
D_INT32 tv_savedays; //电视节目保存天数
D_INT32 info_savedays; //信息文件保存天数
D_INT8 usb_state; // 判断 USB 是否可以进行播放
D_INT8 order_state; // 判断 是否可以进行订购
D_INT8 fam_state; // 判断 家庭院线 是否可以进行播放
D_INT8 download_path; // 0 --- 内置硬盘, 1 ---- 外挂硬盘
D_INT8 server_selected; //yuan add从resource.xml中选择哪个server,0表示自己输入的,1,2表示从server列表中选择
D_UINT8 server_name[50]; //yuan add从resource.xml得到的当前服务器名
struct adv_time_t system_time;
D_INT32 del_time; //文件过期删除
D_INT8 net_load_stat; //登录方式
// add by jason for wifi
D_INT8 wifi_ssid[128]; // SSID
D_INT8 authMode[16]; // 认证方式
D_INT8 encrypType[8]; // 加密方式
D_INT8 keyStr[64];
// add by jason for wifi end
// 家庭院线协议中涉及的6个开关
D_INT8 external_download_flag; // 外置节目下载开关
D_INT8 remote_order_flag; // 远程订购开关
D_INT8 bind_order_flag; // 快递绑定订购开关
D_INT8 cinema_flag; // 家庭院线功能开关
D_INT8 external_play_flag; // 外置节目播放开关,影信通服务器下载下来的节目
D_INT8 usb_play_flag; // 外置文件播放开关,U 盘中原有节目的播放功能
#if 0
D_UINT32 reserve32_1;
D_UINT32 reserve32_2;
D_UINT16 reserve16_1;
D_UINT16 reserve16_2;
D_UINT16 reserve16_3;
D_UINT16 reserve16_4;
D_UINT8 reserve8_1;
D_UINT8 reserve8_2;
D_UINT8 reserve8_3;
D_UINT8 reserve8_4;
D_UINT8 reserve8_5;
D_UINT8 reserve8_6;
D_UINT8 reserve8_7;
D_UINT8 reserve8_8;
#endif
D_UINT32 crc32;
}DG_SYSCONFIG,*P_DG_SYSCONFIG;
/Files/steven9801/谭浩强C程序设计CHM.rar
http://rsync2.cn.gentoo.org/ubuntu/releases/10.04/ubuntu-10.04.3-desktop-i386.iso
C机顶盒开发实战常量定义方式、结构定义方式(可理解为对象Model)相关推荐
- C机顶盒开发实战常用初始化类型:数组、结构、指针
char* buf = "安吉轻松2日游"; int len; char * tmp = NULL; len = sizeof(char);//len=strlen(buf) ...
- iOS项目开发实战——使用Xcode6设计自己定义控件与图形
在iOS开发中,有很多控件都是Xcode默认提供的.使用这些控件是很方便的.可是因为某些须要.须要自己设计控件,那么应该怎么做呢?在Xcode6中提供了这种接口,同意开发人员高速开发自己定义控件,而且 ...
- 微服务分布式构架开发实战PDF,阿里架构师推荐,快快收藏吧
什么是微服务架构 微服务是一种软件架构风格,目标是将一个复杂的应用拆分成多个服务模块,每个模块专注单一业务功能对外提供服务,并可以独立编译及部署,同时各模块间互相通信彼此协作,组合为整体对外提供完整服 ...
- 《Arduino开发实战指南:LabVIEW卷》——3.5 LabVIEW的程序结构
本节书摘来自华章计算机<Arduino开发实战指南:LabVIEW卷>一书中的第3章,第3.5节,作者:余崇梓著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...
- Kinect应用开发实战:用最自然的方式与机器对话
<Kinect应用开发实战:用最自然的方式与机器对话> 基本信息 作者: 余涛 出版社:机械工业出版社 ISBN:9787111400929 上架时间:2012-11-6 出版日期:201 ...
- ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)
参考:Linux之ARM(IMX6U)裸机模仿STM32驱动开发格式 作者:一只青木呀 发布时间: 2020-08-15 12:11:56 网址:https://blog.csdn.net/weixi ...
- .NET Core开发实战(定义API的最佳实践)Source Generators版
前言 极客时间上的<.NET Core开发实战>是一门非常好的课程,作者肖伟宇在第31课(https://time.geekbang.org/course/detail/100044601 ...
- 《嵌入式 – GD32开发实战指南》第20章 GD32的存储结构
开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 20.1 GD32存储结构的工作原理 20.1.1 Cortex-M内核的存储器映射 存储器 ...
- 038——VUE中组件之WEB开发中组件使用场景与定义组件的方式
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 定义一个结构体,并使用结构体的方式保存这些数据。使用结构体的方式读取打印学号为 090098 与 090010 同学的各种信息
某班的学生成绩如下表所示 学号 姓名 性别 班级 数学 英语 计算机 090092 边晓楠 女 数学 091 68 85 80 090093 陈红慧 女 数学 091 58 55 60 090094 ...
最新文章
- 7-24 约分最简分式 (C语言)
- 有关(int)和(int)的区别
- 计算机无法显示移动硬盘,移动硬盘在我的电脑中不显示了 怎么处理?
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
- delphi 最全日期格式_DateUtils时间单元说明
- 互联网日报 | 京东数科科创板IPO获受理;美团点评回应更名为“美团”;中通快递通过港交所上市聆讯...
- oracle存储过程中数组的使用
- selenium + plantomjs 实现自动化测试01
- WebAPI PUT,DELETE请求404
- java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie解决方法
- 4.18. 创建与修改时间
- 透过微积分看芝诺悖论-龟兔赛跑
- 存款利息python题_python入门教程NO.8 用python写个存款利息计算器
- AES 对称加密算法
- C++11 强类型枚举和普通枚举
- 上海热门共享办公室租赁平台
- 求助Fatal error: Class 'think\App' not found in C:\``thinkphp\start.php on line 19Fatal error: Class '
- WinCC连接MySQL
- sofa-bolt(网络通信框架)
- 软件绿化之实践一--绿化福昕PDF阅读器
热门文章
- paip.eclipse忽然启动报错的解决
- 程序安全性之配置文件安全
- 企业GDPR安全隐私合规性指南
- CTA策略:主力连续、全合约模式下回测结果的差异探讨
- Julia的Dates库是重要和必要的补充!
- 五个问答告诉你:阿里云对象存储如何助力钉钉战胜业务洪峰
- 【大云制造】大云PaaS平台BC-PaaS V2.4—— 治理微服务,纳管中间件,平台能力更全面!...
- 【配送路径规划】基于matlab遗传算法求解单配送中心多客户多车辆最短路径规划问题【含Matlab源码 1602期】
- 【图像隐写】基于matlab LDPC编码译码改进DCT水印嵌入提取【含Matlab源码 832期】
- 【TWVRP】基于matlab蚁群算法求解带时间窗的多中心车辆路径规划问题【含Matlab源码 112期】