blob: 19b971748e27d6504bdf9c1936213bd7e6e822fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#ifndef __APMIB_H
#define __APMIB_H
#ifndef WIN32
#define __PACK__ __attribute__ ((packed))
#else
#define __PACK__
#endif
#define BOOT_HEADER ((char *)"boot")
#if defined(CONFIG_RTL_8196B)
#define ROOT_HEADER ((char *)"r6br")
#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
#define ROOT_HEADER ((char *)"r6cr")
#else
#define ROOT_HEADER ((char *)"root")
#endif //#if defined(CONFIG_RTL_8196B)
#if defined(CONFIG_RTL_8196B)
#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT))
#define WEB_HEADER ((char *)"w6bv")
#elif (defined(HOME_GATEWAY))
#define WEB_HEADER ((char *)"w6bg")
#else
#define WEB_HEADER ((char *)"w6ba")
#endif
#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT))
#define WEB_HEADER ((char *)"w6cv")
#elif (defined(HOME_GATEWAY))
#define WEB_HEADER ((char *)"w6cg")
#else
#define WEB_HEADER ((char *)"w6ca")
#endif
#else
#if (defined(HOME_GATEWAY) && defined(VPN_SUPPORT))
#define WEB_HEADER ((char *)"webv")
#elif (defined(HOME_GATEWAY))
#define WEB_HEADER ((char *)"webg")
#else
#define WEB_HEADER ((char *)"weba")
#endif
#endif //#if defined(CONFIG_RTL_8196B)
#if defined(CONFIG_RTL_8196B)
#define FW_HEADER_WITH_ROOT ((char *)"cr6b")
#define FW_HEADER ((char *)"cs6b")
#elif defined(CONFIG_RTL_8196C) || defined(CONFIG_RTL_8198) || defined(CONFIG_RTL_819XD) || defined(CONFIG_RTL_8196E)
#define FW_HEADER_WITH_ROOT ((char *)"cr6c")
#define FW_HEADER ((char *)"cs6c")
#else
#define FW_HEADER_WITH_ROOT ((char *)"csro")
#define FW_HEADER ((char *)"csys")
#endif //#if defined(CONFIG_RTL_8196B)
#define ALL_HEADER ((char *)"allp")
#define HW_SETTING_OFFSET 0x6000
#define DEFAULT_SETTING_OFFSET 0x8000
#define CURRENT_SETTING_OFFSET 0xc000
#define DWORD_SWAP(v) ( (((v&0xff)<<24)&0xff000000) | ((((v>>8)&0xff)<<16)&0xff0000) | \
((((v>>16)&0xff)<<8)&0xff00) | (((v>>24)&0xff)&0xff) )
#define WORD_SWAP(v) ((unsigned short)(((v>>8)&0xff) | ((v<<8)&0xff00)))
#define SIGNATURE_LEN 4
typedef struct img_header {
unsigned char signature[SIGNATURE_LEN];
unsigned int startAddr;
unsigned int burnAddr;
unsigned int len;
}__PACK__ IMG_HEADER_T, *IMG_HEADER_Tp;
#endif
|