MWCapture SDK Mac  3.3.1.16905
MWCommon.h
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 // Firmware header
14 #define MW_SERIAL_NO_LEN 16
15 #define MW_FAMILY_NAME_LEN 64
16 #define MW_PRODUCT_NAME_LEN 64
17 
29 typedef enum _MW_FAMILY_ID {
33 } MW_FAMILY_ID;
34 
35 typedef struct _MW_DATE_TIME {
36  WORD wYear;
37  BYTE byMonth;
38  BYTE byDay;
39  BYTE byHour;
40  BYTE byMinute;
41  BYTE bySecond;
42  BYTE byReserved;
43 } MW_DATE_TIME;
44 
45 #define MW_FIRMWARE_HEADER_MAGIC ((DWORD)('M') | ((DWORD)('W') << 8) | ((DWORD)('F') << 16) | ((DWORD)('H') << 24))
46 #define MW_FIRMWARE_HEADER_VERSION 1
47 
54 #define MW_FIRMWARE_NAME_LEN 64
55 #define MW_FIRMWARE_SECTION_NAME_LEN 16
56 
57 #define MW_MAX_NUM_FIRMWARE_SECTIONS 16
58 
59 // Compatible ID: wProductID, chHardwareVersion and byFirmwareID
60 typedef struct _MW_FIRMWARE_INFO_HEADER {
61  DWORD dwMagic;
62  DWORD dwCheckSum;
63  WORD wVersion;
64  WORD cbHeader;
65  WORD wProductID;
66  CHAR chHardwareVersion;
67  BYTE byFirmwareID;
68  DWORD dwFirmwareVersion;
69  CHAR szProductName[MW_PRODUCT_NAME_LEN];
70  CHAR szFirmwareName[MW_FIRMWARE_NAME_LEN];
71  MW_DATE_TIME dtBuild;
72  BYTE cSections;
74 
76  CHAR szName[MW_FIRMWARE_SECTION_NAME_LEN];
77  DWORD cbOffset;
78  DWORD cbSection;
79  DWORD dwCheckSum;
81 
82 typedef struct _MW_FIRMWARE_HEADER {
83  MW_FIRMWARE_INFO_HEADER infoHeader;
84  MW_FIRMWARE_SECTION_HEADER aSectionHeaders[MW_MAX_NUM_FIRMWARE_SECTIONS];
86 
87 #pragma pack(pop)
_MW_DATE_TIME
Definition: MWCommon.h:35
_MW_FIRMWARE_SECTION_HEADER
Definition: MWCommon.h:75
_MW_FIRMWARE_INFO_HEADER
Definition: MWCommon.h:60
MW_FAMILY_ID
enum _MW_FAMILY_ID MW_FAMILY_ID
MW_FAMILY_ID.
MW_FAMILY_ID_PRO_CAPTURE
Pro Capture family.
Definition: MWCommon.h:30
MW_FIRMWARE_NAME_LEN
#define MW_FIRMWARE_NAME_LEN
MW_FIRMWARE_NAME_LEN.
Definition: MWCommon.h:54
MW_FAMILY_ID_VALUE_CAPTURE
Eco Capture family.
Definition: MWCommon.h:31
_MW_FAMILY_ID
_MW_FAMILY_ID
MW_FAMILY_ID.
Definition: MWCommon.h:29
_MW_FIRMWARE_HEADER
Definition: MWCommon.h:82
MW_FAMILY_ID_USB_CAPTURE
USB Capture family.
Definition: MWCommon.h:32