36 #define MFR_MAX_STR_SIZE (256)
37 #define MFR_DFAST_INPUT_BYTES (16)
38 #define MFR_DFAST_OUTPUT_BYTES (16)
40 typedef enum _mfrError_t {
42 mfrERR_GENERAL = 0x1000,
45 mfrERR_OPERATION_NOT_SUPPORTED,
53 void (* freeBuf) (
char *buf);
56 typedef enum _mfrSerializedType_t {
57 mfrSERIALIZED_TYPE_MANUFACTURER = 0,
58 mfrSERIALIZED_TYPE_MANUFACTUREROUI = 1,
59 mfrSERIALIZED_TYPE_MODELNAME = 2,
60 mfrSERIALIZED_TYPE_DESCRIPTION = 3,
61 mfrSERIALIZED_TYPE_PRODUCTCLASS = 4,
62 mfrSERIALIZED_TYPE_SERIALNUMBER = 5,
63 mfrSERIALIZED_TYPE_HARDWAREVERSION = 6,
64 mfrSERIALIZED_TYPE_SOFTWAREVERSION = 7,
65 mfrSERIALIZED_TYPE_PROVISIONINGCODE = 8,
66 mfrSERIALIZED_TYPE_FIRSTUSEDATE = 9,
67 mfrSERIALIZED_TYPE_DEVICEMAC = 10,
68 mfrSERIALIZED_TYPE_MOCAMAC = 11,
69 mfrSERIALIZED_TYPE_HDMIHDCP = 12,
70 mfrSERIALIZED_TYPE_BOARDVERSION = 13,
71 mfrSERIALIZED_TYPE_BOARDSERIALNO = 14,
72 mfrSERIALIZED_TYPE_CMCHIPVERSION = 15,
73 mfrSERIALIZED_TYPE_DECODERSWVERSION = 16,
74 mfrSERIALIZED_TYPE_OSKERNELVERSION = 17,
75 mfrSERIALIZED_TYPE_MFRLIBVERSION = 18,
76 mfrSERIALIZED_TYPE_FRONTPANELVERSION = 19,
77 mfrSERIALIZED_TYPE_SOFTWAREIMAGEVERSION1 = 20,
78 mfrSERIALIZED_TYPE_OCHDVERSION = 21,
79 mfrSERIALIZED_TYPE_OCAPVERSION = 22,
80 mfrSERIALIZED_TYPE_BOOTROMVERSION = 23,
81 mfrSERIALIZED_TYPE_MODELNUMBER = 24,
82 mfrSERIALIZED_TYPE_MODELSERIALNO = 25,
83 mfrSERIALIZED_TYPE_VENDORNAME = 26,
84 mfrSERIALIZED_TYPE_VENDORSERIALNO = 27,
85 mfrSERIALIZED_TYPE_MANUFACTUREDATE = 28,
86 mfrSERIALIZED_TYPE_BOOTIMAGENAME = 29,
87 mfrSERIALIZED_TYPE_BOOTFIRMWAREIMAGENAME = 30,
88 mfrSERIALIZED_TYPE_BOOTAPPLICATIONIMAGENAME = 31,
89 mfrSERIALIZED_TYPE_BOOTDATAIMAGENAME = 32,
90 mfrSERIALIZED_TYPE_CACPAUTHSTATUS = 33,
91 mfrSERIALIZED_TYPE_CACPHOSTID = 34,
92 mfrSERIALIZED_TYPE_COMDWNLDCOSIGNNAME = 35,
93 mfrSERIALIZED_TYPE_COMDWNLVENID = 36,
94 mfrSERIALIZED_TYPE_COMDWNLHWID = 37,
95 mfrSERIALIZED_TYPE_COMDWNLMFRCODEACCSTRTIME = 38,
96 mfrSERIALIZED_TYPE_COMDWNLCOSIGNCODEACCSTRTIME = 39,
97 mfrSERIALIZED_TYPE_COMDWNLMFRCVCACCSTRTIME = 40,
98 mfrSERIALIZED_TYPE_COMDWNLCOSIGNCVCACCSTRTIME = 41,
99 mfrSERIALIZED_TYPE_COMDWNLDMGRSTATUS = 42,
100 mfrSERIALIZED_TYPE_CDLMFRCODEACCUPGSTRTIME = 43,
101 mfrSERIALIZED_TYPE_CDLCOSIGNCODEACCUPGSTRTIME = 44,
102 mfrSERIALIZED_TYPE_CDLFWMFRCODEACCUPGSTRTIME = 45,
103 mfrSERIALIZED_TYPE_CDLFWCOSIGNCODEACCUPGSTRTIME = 46,
104 mfrSERIALIZED_TYPE_CDLAPPMFRCODEACCUPGSTRTIME = 47,
105 mfrSERIALIZED_TYPE_CDLAPPCOSIGNCODEACCUPGSTRTIME = 48,
106 mfrSERIALIZED_TYPE_CDLDATAMFRCODEACCUPGSTRTIME = 49,
107 mfrSERIALIZED_TYPE_CDLDATACOSIGNCODEACCUPGSTRTIME = 50,
108 mfrSERIALIZED_TYPE_CDLFWMFRCODEACCBOOTSTRTIME = 51,
109 mfrSERIALIZED_TYPE_CDLFWCOSIGNCODEACCBOOTSTRTIME = 52,
110 mfrSERIALIZED_TYPE_CDLAPPMFRCODEACCBOOTSTRTIME = 53,
111 mfrSERIALIZED_TYPE_CDLAPPCOSIGNCODEACCBOOTSTRTIME = 54,
112 mfrSERIALIZED_TYPE_CDLDATAMFRCODEACCBOOTSTRTIME = 55,
113 mfrSERIALIZED_TYPE_CDLDATACOSIGNCODEACCBOOTSTRTIME = 56,
114 mfrSERIALIZED_TYPE_IEEE1394DTCPKEYTYPE = 57,
115 mfrSERIALIZED_TYPE_IEEE1394DTCPKEYSTATUS = 58,
116 mfrSERIALIZED_TYPE_CACPHOSTROOTCERT = 59,
117 mfrSERIALIZED_TYPE_CACPHOSTMFRCACERT = 60,
118 mfrSERIALIZED_TYPE_CACPHOSTDEVCERT = 61,
119 mfrSERIALIZED_TYPE_CACPHOSTDEVPRIVATEKEY = 62,
120 mfrSERIALIZED_TYPE_CACPDHBG1 = 63,
121 mfrSERIALIZED_TYPE_CACPDHPN1 = 64,
122 mfrSERIALIZED_TYPE_CACPDHKEY = 65,
123 mfrSERIALIZED_TYPE_CACPAUTHKEYH = 66,
125 mfrSERIALIZED_TYPE_COMDWNLDCLCODEVERROOTCA = 67,
126 mfrSERIALIZED_TYPE_COMDWNLDCLCVCCA = 68,
127 mfrSERIALIZED_TYPE_COMDWNLDMFRCVC = 69,
130 mfrSERIALIZED_TYPE_COMDWNLDCVCCAPUBKEY = 70,
133 mfrSERIALIZED_TYPE_APPCLAPPCVCCA = 71,
134 mfrSERIALIZED_TYPE_APPMANCVC = 72,
135 mfrSERIALIZED_TYPE_SECURESERIALNUMBER = 73,
137 mfrSERIALIZED_TYPE_IEEE1394DTCPCERTKEYS = 74,
138 mfrSERIALIZED_TYPE_IEEE1394DTCPSRM = 75,
139 mfrSERIALIZED_TYPE_IEEE1394DTCPSEED = 76,
142 mfrSERIALIZED_TYPE_VLCERTKEYS = 77,
143 mfrSERIALIZED_TYPE_SNMPENTERPRISEID = 78,
144 mfrSERIALIZED_TYPE_MAX,
146 } mfrSerializedType_t;
148 typedef enum _mfrConfigPathType_t
150 mfrCONFIG_TYPE_STATIC = 0x00000000,
151 mfrCONFIG_TYPE_DYNAMIC = 0x00000001,
152 mfrCONFIG_TYPE_VOLATILE = 0x00000002,
153 mfrCONFIG_TYPE_COMMON_DOWNLOAD = 0x00000003,
154 mfrCONFIG_TYPE_DVR_CONTENT = 0x00000004,
155 mfrCONFIG_TYPE_INVALID = 0x7FFFFFFF
157 } mfrConfigPathType_t;
159 typedef enum _mfrImageType_t
161 mfrIMAGE_TYPE_CDL = 0,
164 mfrUPGRADE_IMAGE_MONOLITHIC = 0x100,
165 mfrUPGRADE_IMAGE_FIRMWARE,
166 mfrUPGRADE_IMAGE_APPLICATION,
167 mfrUPGRADE_IMAGE_DATA,
169 mfrUPGRADE_IMAGE_LAST
173 typedef enum _mfrUpgradeProgress_t
175 mfrUPGRADE_PROGRESS_NOT_STARTED = 0,
176 mfrUPGRADE_PROGRESS_STARTED,
177 mfrUPGRADE_PROGRESS_ABORTED,
178 mfrUPGRADE_PROGRESS_COMPLETED,
179 mfrUPGRADE_PROGRESS_BOOTED_WITH_UPGRADED_IMAGE,
180 mfrUPGRADE_PROGRESS_BOOTED_WITH_REVERTED_IMAGE,
181 mfrUPGRADE_PROGRESS_NONE
182 } mfrUpgradeProgress_t;
184 typedef enum _mfrCableCardType_t
186 mfrCABLECARD_TYPE_CISCO = 0x00000001,
187 mfrCABLECARD_TYPE_MOTO = 0x00000002,
188 mfrCABLECARD_TYPE_INVALID = 0x7FFFFFFF,
190 } mfrCableCardType_t;
192 #define mfrBOOT_INSTANCE_CURRENT 0
193 #define mfrBOOT_INSTANCE_PREVIOUS 1
194 #define mfrBOOT_INSTANCE_UPGRADED 2
201 unsigned int seedIn [MFR_DFAST_INPUT_BYTES];
202 unsigned int keyOut [MFR_DFAST_OUTPUT_BYTES];
211 char firmwareVersion[MFR_MAX_STR_SIZE];
220 mfrUpgradeProgress_t progress;
344 mfrError_t
mfrSetImageWriteProgress(
const char * imageName, mfrImageType_t imageType, mfrUpgradeProgress_t progress);
355 mfrError_t
mfrGetImageWriteProgress(
const char * imageName,mfrImageType_t imageType,mfrUpgradeProgress_t *progress);
378 mfrError_t
mfrReboot(
const char *imageName);
407 mfrError_t
mfrGetBootImageName(
int bootInstance,
char *bootImageName,
int *len, mfrImageType_t bootImageType);