***********************************************************************
*                数据类型定义
***********************************************************************/

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)相关推荐

  1. C机顶盒开发实战常用初始化类型:数组、结构、指针

    char* buf = "安吉轻松2日游";  int len;  char * tmp = NULL;  len = sizeof(char);//len=strlen(buf) ...

  2. iOS项目开发实战——使用Xcode6设计自己定义控件与图形

    在iOS开发中,有很多控件都是Xcode默认提供的.使用这些控件是很方便的.可是因为某些须要.须要自己设计控件,那么应该怎么做呢?在Xcode6中提供了这种接口,同意开发人员高速开发自己定义控件,而且 ...

  3. 微服务分布式构架开发实战PDF,阿里架构师推荐,快快收藏吧

    什么是微服务架构 微服务是一种软件架构风格,目标是将一个复杂的应用拆分成多个服务模块,每个模块专注单一业务功能对外提供服务,并可以独立编译及部署,同时各模块间互相通信彼此协作,组合为整体对外提供完整服 ...

  4. 《Arduino开发实战指南:LabVIEW卷》——3.5 LabVIEW的程序结构

    本节书摘来自华章计算机<Arduino开发实战指南:LabVIEW卷>一书中的第3章,第3.5节,作者:余崇梓著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  5. Kinect应用开发实战:用最自然的方式与机器对话

    <Kinect应用开发实战:用最自然的方式与机器对话> 基本信息 作者: 余涛 出版社:机械工业出版社 ISBN:9787111400929 上架时间:2012-11-6 出版日期:201 ...

  6. ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)

    参考:Linux之ARM(IMX6U)裸机模仿STM32驱动开发格式 作者:一只青木呀 发布时间: 2020-08-15 12:11:56 网址:https://blog.csdn.net/weixi ...

  7. .NET Core开发实战(定义API的最佳实践)Source Generators版

    前言 极客时间上的<.NET Core开发实战>是一门非常好的课程,作者肖伟宇在第31课(https://time.geekbang.org/course/detail/100044601 ...

  8. 《嵌入式 – GD32开发实战指南》第20章 GD32的存储结构

    开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 20.1 GD32存储结构的工作原理 20.1.1 Cortex-M内核的存储器映射 存储器 ...

  9. 038——VUE中组件之WEB开发中组件使用场景与定义组件的方式

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  10. 定义一个结构体,并使用结构体的方式保存这些数据。使用结构体的方式读取打印学号为 090098 与 090010 同学的各种信息

    某班的学生成绩如下表所示 学号 姓名 性别 班级 数学 英语 计算机 090092 边晓楠 女 数学 091 68 85 80 090093 陈红慧 女 数学 091 58 55 60 090094 ...

最新文章

  1. 7-24 约分最简分式 (C语言)
  2. 有关(int)和(int)的区别
  3. 计算机无法显示移动硬盘,移动硬盘在我的电脑中不显示了 怎么处理?
  4. java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
  5. delphi 最全日期格式_DateUtils时间单元说明
  6. 互联网日报 | 京东数科科创板IPO获受理;美团点评回应更名为“美团”;中通快递通过港交所上市聆讯...
  7. oracle存储过程中数组的使用
  8. selenium + plantomjs 实现自动化测试01
  9. WebAPI PUT,DELETE请求404
  10. java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie解决方法
  11. 4.18. 创建与修改时间
  12. 透过微积分看芝诺悖论-龟兔赛跑
  13. 存款利息python题_python入门教程NO.8 用python写个存款利息计算器
  14. AES 对称加密算法
  15. C++11 强类型枚举和普通枚举
  16. 上海热门共享办公室租赁平台
  17. 求助Fatal error: Class 'think\App' not found in C:\``thinkphp\start.php on line 19Fatal error: Class '
  18. WinCC连接MySQL
  19. sofa-bolt(网络通信框架)
  20. 软件绿化之实践一--绿化福昕PDF阅读器

热门文章

  1. paip.eclipse忽然启动报错的解决
  2. 程序安全性之配置文件安全
  3. 企业GDPR安全隐私合规性指南
  4. CTA策略:主力连续、全合约模式下回测结果的差异探讨
  5. Julia的Dates库是重要和必要的补充!
  6. 五个问答告诉你:阿里云对象存储如何助力钉钉战胜业务洪峰
  7. 【大云制造】大云PaaS平台BC-PaaS V2.4—— 治理微服务,纳管中间件,平台能力更全面!...
  8. 【配送路径规划】基于matlab遗传算法求解单配送中心多客户多车辆最短路径规划问题【含Matlab源码 1602期】
  9. 【图像隐写】基于matlab LDPC编码译码改进DCT水印嵌入提取【含Matlab源码 832期】
  10. 【TWVRP】基于matlab蚁群算法求解带时间窗的多中心车辆路径规划问题【含Matlab源码 112期】